:root {
  --bg:#fff;
  --ink:#14151c;
  --muted:#6f7078;
  --soft:#fbf0f4;
  --soft2:#fff7f9;
  --line:#efe0e6;
  --accent:#AA2B26;
  --accent2:#8F211E;
  --shadow:0 18px 55px rgba(125, 37, 67, .10);
  --radius:20px;
  --radius-sm:14px;
  --container:1280px;
  --serif:Georgia, 'Times New Roman', serif;
  --sans:Inter, Manrope, system-ui, -apple-system, Segoe UI, Arial, sans-serif
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:linear-gradient(180deg, #fff 0%, #fff 72%, #fff3f6 100%);
  color:var(--ink);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.62;
  overflow-x:hidden
}

a {
  color:inherit;
  text-decoration:none
}

img {
  max-width:100%;
  display:block
}

.container {
  width:min(var(--container), calc(100% - 48px));
  margin:0 auto
}

.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255, 255, 255, .86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(239, 224, 230, .7)
}

.header-inner {
  height:86px;
  display:flex;
  align-items:center;
  gap:34px
}

.brand {
  display:flex;
  align-items:center;
  gap:14px;
  min-width:292px
}

.brand-mark {
  font-family:var(--serif);
  font-size:46px;
  line-height:1;
  color:var(--accent);
  letter-spacing:-.06em
}

.brand-name {
  display:block;
  font-weight:800;
  font-size:18px;
  line-height:1.1
}

.brand-role {
  display:block;
  font-size:13px;
  color:#51525a;
  line-height:1.25
}

.nav {
  display:flex;
  gap:30px;
  align-items:center;
  margin-left:auto
}

.nav a {
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  position:relative;
  padding:30px 0
}

.nav a.active, .nav a:hover {
  color:var(--accent)
}

.nav a.active:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:18px;
  height:2px;
  background:var(--accent);
  border-radius:8px
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff;
  border-radius:9px;
  padding:15px 24px;
  font-weight:800;
  font-size:15px;
  min-height:52px;
  box-shadow:0 16px 30px rgba(199, 58, 100, .22);
  transition:.25s ease;
  cursor:pointer
}

.btn:hover {
  background:var(--accent2);
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(199, 58, 100, .30)
}

.btn.btn-outline {
  background:#fff;
  color:var(--accent);
  box-shadow:none
}

.btn.btn-outline:hover {
  background:var(--soft);
  transform:translateY(-2px)
}

.burger {
  display:none;
  margin-left:auto;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff
}

.burger span {
  display:block;
  width:20px;
  height:2px;
  background:var(--accent);
  margin:5px auto;
  border-radius:10px
}

.hero {
  position:relative;
  padding:64px 0 38px;
  overflow:hidden
}

.hero:before, .page-hero:before {
  content:"";
  position:absolute;
  right:7%;
  top:90px;
  width:560px;
  height:560px;
  border-radius:50%;
  background:radial-gradient(circle, #f7dbe4 0%, #fbeef2 58%, rgba(255, 255, 255, 0) 70%);
  z-index:-1
}

.hero-grid {
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  gap:34px
}

.eyebrow {
  color:var(--accent);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin:0 0 16px;
  font-size:16px
}

.h1 {
  font-size:clamp(48px, 5.8vw, 78px);
  line-height:1.05;
  letter-spacing:-.045em;
  margin:0 0 24px;
  font-weight:900
}

.serif {
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-.04em
}

.accent {
  color:var(--accent)
}

.lead {
  font-size:22px;
  line-height:1.55;
  color:#343540;
  margin:0 0 28px;
  max-width:760px
}

.text {
  color:#4d4f59
}

.hero-actions {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:34px 0
}

.hero-image {
  position:relative;
  align-self:end
}

.hero-image img {
  width:100%;
  max-height:620px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 24px 40px rgba(25, 10, 20, .08))
}

.mini-icons {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:28px;
  margin-top:42px;
  max-width:650px
}

.mini-item {
  text-align:center;
  font-weight:800;
  font-size:14px
}

.mini-ico, .card-ico {
  width:52px;
  height:52px;
  border-radius:15px;
  background:var(--soft);
  display:grid;
  place-items:center;
  margin-bottom:12px
}

.mini-ico {
  margin-inline:auto
}

.mini-ico img, .card-ico img {
  width:28px;
  height:28px
}

.stats-bar {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
  margin:38px 0 58px
}

.stat {
  display:flex;
  gap:16px;
  padding:24px 30px;
  align-items:center;
  border-right:1px solid var(--line)
}

.stat:last-child {
  border-right:0
}

.stat strong {
  display:block;
  font-size:26px;
  line-height:1.05
}

.stat span {
  font-size:15px;
  color:#555760
}

.section {
  padding:46px 0
}

.section-head {
  text-align:center;
  margin-bottom:34px
}

.section-title {
  font-size:clamp(38px, 4.2vw, 58px);
  line-height:1.12;
  letter-spacing:-.045em;
  margin:0 0 12px;
  font-weight:900
}

.section-title.serif {
  font-weight:500
}

.section-lead {
  max-width:800px;
  margin:0 auto;
  color:#5b5d66;
  font-size:20px
}

.grid {
  display:grid;
  gap:22px
}

.grid-2 {
  grid-template-columns:repeat(2, 1fr)
}

.grid-3 {
  grid-template-columns:repeat(3, 1fr)
}

.grid-4 {
  grid-template-columns:repeat(4, 1fr)
}

.grid-5 {
  grid-template-columns:repeat(5, 1fr)
}


/* Problem cards alignment on the homepage */
.section .section-head + .grid.grid-5 {
  align-items:stretch;
  grid-auto-rows:1fr
}

.section .section-head + .grid.grid-5 > .card {
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-top:28px;
  padding-bottom:28px;
  margin:0
}

.section .section-head + .grid.grid-5 > .card > .card-ico {
  width:52px;
  height:52px;
  min-height:52px;
  flex:0 0 52px;
  margin:0 0 16px;
  display:grid;
  place-items:center
}

.section .section-head + .grid.grid-5 > .card > h3 {
  margin-top:0
}

.grid-6 {
  grid-template-columns:repeat(6, 1fr)
}

.card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 12px 34px rgba(40, 20, 30, .05);
  padding:28px;
  transition:.25s ease;
  position:relative;
  overflow:hidden
}

.card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:#ead0d9
}

.card h3 {
  font-size:24px;
  line-height:1.22;
  margin:0 0 14px;
  font-weight:850
}

.card p {
  margin:0;
  color:#595b65
}

.card small {
  color:var(--accent);
  font-weight:900;
  text-transform:uppercase
}

.link-more {
  display:inline-flex;
  gap:8px;
  align-items:center;
  color:var(--accent);
  font-weight:850;
  margin-top:18px
}

.process {
  background:linear-gradient(135deg, #fff, #fff8fa);
  border:1px solid var(--line);
  border-radius:24px;
  padding:38px
}

.steps {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:24px;
  align-items:stretch
}

.step {
  text-align:center;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  height:100%
}

.step:not(:last-child):after {
  content:"";
  position:absolute;
  top:32px;
  right:-28px;
  width:44px;
  height:1px;
  background:#e4c7d0
}

.step-num {
  width:64px;
  height:64px;
  flex:0 0 64px;
  border-radius:50%;
  background:#fae7ed;
  color:var(--accent);
  display:grid;
  place-items:center;
  font-weight:900;
  margin:0 auto 32px
}

.step h3 {
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:0;
  margin-bottom:12px
}

.step p {
  margin-top:0;
  text-align:center
}

.cta {
  margin:46px 0 0;
  background:linear-gradient(135deg, #fff, #fff7f9);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:34px;
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:34px;
  align-items:center
}

.cta-dark {
  background:linear-gradient(135deg, #c73a64, #ab224f);
  color:#fff
}

.cta-dark .text, .cta-dark .lead {
  color:rgba(255, 255, 255, .84)
}

.form {
  display:grid;
  gap:14px
}

.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}

input, textarea {
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:16px 18px;
  font:inherit;
  font-size:16px;
  outline:none;
  transition:.2s ease
}

textarea {
  min-height:114px;
  resize:vertical
}

input:hover, textarea:hover {
  border-color:#e4bdc9
}

input:focus, textarea:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(199, 58, 100, .10)
}

.policy {
  font-size:13px;
  color:#777;
  display:flex;
  align-items:center;
  gap:8px
}

.checkbox {
  width:18px;
  height:18px;
  border-radius:4px;
  background:var(--accent);
  display:inline-grid;
  place-items:center;
  color:#fff
}

.page-hero {
  position:relative;
  padding:58px 0 44px;
  overflow:hidden
}

.page-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:38px
}

.page-grid .hero-image img {
  max-height:470px
}

.pill-row {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0
}

.pill {
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 18px;
  background:#fff;
  color:#2b2c33;
  font-weight:750;
  font-size:15px
}

.feature-strip {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
  overflow:hidden
}

.feature-strip .stat {
  padding:22px
}

.timeline {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:24px
}

.case-main {
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr 1fr;
  gap:0;
  overflow:hidden;
  padding:0
}

.case-main>div {
  padding:28px;
  border-right:1px solid var(--line)
}

.case-main>div:last-child {
  border-right:0
}

.metrics {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:0;
  border-top:1px solid var(--line);
  grid-column:1/-1
}

.metric {
  padding:20px;
  text-align:center;
  border-right:1px solid var(--line)
}

.metric:last-child {
  border-right:0
}

.metric strong {
  font-family:var(--serif);
  font-size:32px;
  color:var(--accent);
  font-weight:500;
  display:block
}

.quote:before {
  content:'“';
  font-family:var(--serif);
  font-size:54px;
  color:var(--accent);
  line-height:0
}

.contact-card {
  min-height:230px
}

.contact-value {
  font-weight:900;
  color:var(--accent);
  font-size:20px;
  margin:12px 0
}

.next-box {
  background:linear-gradient(135deg, #fff7fa, #fae6ee);
  border-radius:24px;
  padding:38px
}

.next-item {
  display:grid;
  grid-template-columns:52px 1fr;
  gap:18px;
  position:relative;
  padding-bottom:28px
}

.next-item:not(:last-child):before {
  content:"";
  position:absolute;
  left:26px;
  top:52px;
  bottom:0;
  width:1px;
  background:#e6beca
}

.next-dot {
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--accent);
  display:grid;
  place-items:center
}

.next-dot img {
  width:25px;
  filter:brightness(0) invert(1)
}

.footer {
  padding:42px 0;
  background:#14151c;
  color:#fff;
  margin-top:54px
}

.footer-inner {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:30px
}

.footer a {
  color:#ffdfe9
}

.footer .brand-role {
  color:#c7c7cf
}

.mobile-only {
  display:none
}

@media(max-width:1024px) {
  .container {
    width:min(100% - 36px, var(--container))
    }
  .header-inner {
    height:76px
    }
  .brand {
    min-width:auto
    }
  .nav, .header-cta {
    display:none
    }
  .burger {
    display:block
    }
  .nav.open {
    position:absolute;
    left:18px;
    right:18px;
    top:76px;
    display:grid;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:12px
    }
  .nav.open a {
    padding:14px 16px
    }
  .nav.open a.active:after {
    display:none
    }
  .hero-grid, .page-grid, .cta {
    grid-template-columns:1fr
    }
  .hero-image {
    order:-1
    }
  .hero-image img {
    max-height:430px
    }
  .mini-icons {
    grid-template-columns:repeat(5, 1fr);
    gap:14px
    }
  .stats-bar, .feature-strip {
    grid-template-columns:repeat(2, 1fr)
    }
  .stat:nth-child(2) {
    border-right:0
    }
  .grid-4, .grid-5, .grid-6 {
    grid-template-columns:repeat(2, 1fr)
    }
  .steps, .timeline {
    grid-template-columns:1fr 1fr
    }
  .step:not(:last-child):after {
    display:none
    }
  .case-main {
    grid-template-columns:1fr
    }
  .case-main>div {
    border-right:0;
    border-bottom:1px solid var(--line)
    }
  .metrics {
    grid-template-columns:repeat(2, 1fr)
    }
  .footer-inner {
    grid-template-columns:1fr 1fr
    }

}

@media(max-width:640px) {
  body {
    font-size:16px
    }
  .container {
    width:calc(100% - 28px)
    }
  .brand-name {
    font-size:15px
    }
  .brand-role {
    display:none
    }
  .brand-mark {
    font-size:39px
    }
  .hero, .page-hero {
    padding-top:30px
    }
  .h1 {
    font-size:42px
    }
  .lead {
    font-size:18px
    }
  .section-title {
    font-size:34px
    }
  .section {
    padding:32px 0
    }
  .mini-icons, .stats-bar, .feature-strip, .grid-2, .grid-3, .grid-4, .grid-5, .grid-6,
  .steps, .timeline, .form-row, .metrics, .footer-inner {
    grid-template-columns:1fr
    }
  .stat {
    border-right:0;
    border-bottom:1px solid var(--line)
    }
  .stat:last-child {
    border-bottom:0
    }
  .hero-actions {
    display:grid
    }
  .btn {
    width:100%
    }
  .card, .cta, .process {
    padding:22px
    }
  .page-grid .hero-image img, .hero-image img {
    max-height:360px
    }
  .pill {
    font-size:14px
    }
  .mobile-only {
    display:block
    }

}

/* Case page visual enhancements */ .btn-small {
  min-height:44px;
  padding:12px 18px;
  font-size:14px;
  margin-top:20px;
  box-shadow:0 12px 24px rgba(199, 58, 100, .16)
}

.case-main {
  display:block;
  overflow:hidden;
  padding:0
}

.case-main-top {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 42%;
  gap:28px;
  align-items:stretch;
  padding:28px
}

.case-main-content {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0
}

.case-main-content p {
  max-width:760px
}

.case-main-visual {
  overflow:hidden;
  border-radius:18px;
  align-self:stretch;
  min-height:230px
}

.case-main-visual img {
  width:100%;
  height:100%;
  max-height:300px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  filter:saturate(.96) contrast(.98)
}

.case-card {
  display:flex;
  flex-direction:column
}

.case-card .card-ico {
  margin-top:2px
}

.case-card p {
  flex:1
}

.case-thumb {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
  margin-bottom:20px;
  filter:saturate(.96) contrast(.98)
}

.case-card .btn-small {
  align-self:flex-start;
  box-shadow:none
}

@media(max-width:1024px) {
  .case-main-top {
    grid-template-columns:1fr;
    gap:22px
    }
  .case-main-visual {
    min-height:220px
    }
  .case-main-visual img {
    height:240px;
    max-height:none
    }
  .case-main-content {
    justify-content:flex-start
    }

}

@media(max-width:640px) {
  .case-main-top {
    padding:22px
    }
  .case-main-visual {
    min-height:180px
    }
  .case-main-visual img {
    height:190px
    }
  .case-thumb {
    border-radius:14px;
    margin-bottom:16px
    }
  .btn-small {
    width:auto;
    min-height:42px;
    padding:11px 16px
    }

}

/* targeted fixes */ .policy {
  cursor:pointer;
  user-select:none
}

.policy-input {
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none
}

.checkbox {
  border:1px solid var(--accent);
  background:#fff;
  color:#fff;
  transition:.2s ease;
  flex:0 0 auto
}

.checkbox:before {
  content:"✓";
  font-size:13px;
  line-height:1;
  opacity:0;
  transition:.2s ease
}

.policy-input:checked + .checkbox {
  background:var(--accent);
  border-color:var(--accent)
}

.policy-input:checked + .checkbox:before {
  opacity:1
}

.policy:hover .checkbox {
  box-shadow:0 0 0 4px rgba(199, 58, 100, .10)
}

.link-more {
  transition:.2s ease;
  cursor:pointer
}

.link-more:hover {
  color:var(--accent2);
  transform:translateX(3px)
}

.service-card, .about-skill-card, .about-work-card {
  display:flex;
  flex-direction:column
}

.service-card p, .about-skill-card p, .about-work-card p {
  flex:1
}

.about-work-card .case-thumb {
  margin-bottom:18px
}

.download-link {
  width:max-content
}

@media(max-width:1024px) {
  .about-skill-card {
    min-height:auto
    }

}

/* Benefits text alignment: main page and About page only */ .stats-bar .stat, .feature-strip .stat {
   display:grid;
   grid-template-columns:52px minmax(0, 1fr);
   column-gap:16px;
   align-items:center;

}

.stats-bar .stat p, .feature-strip .stat p {
   margin:0;
   display:grid;
   grid-template-rows:auto auto;
   align-content:start;
   row-gap:7px;
   min-width:0;

}

.stats-bar .stat strong, .feature-strip .stat strong {
   display:block;
   min-height:31px;
   line-height:1.12;
   margin:0;

}

.stats-bar .stat span, .feature-strip .stat span {
   display:block;
   line-height:1.45;
   margin:0;

}

.feature-strip .stat > img {
   width:52px;
   height:52px;
   border-radius:15px;
   background:var(--soft);
   padding:12px;
   object-fit:contain;

}

/* Sales journey timeline: reference layout */ .sales-journey-card {
   padding:38px 48px 46px;
   overflow:hidden;

}

.sales-journey-card .section-title {
   margin-bottom:44px;

}

.sales-timeline {
   --dot-size:22px;
   --card-top:84px;
   --card-height:174px;
   --gap:28px;
   position:relative;
   display:grid;
   grid-template-columns:repeat(5, minmax(0, 1fr));
   column-gap:var(--gap);
   padding:0 46px;
   min-height:270px;
   overflow:hidden;

}

.sales-timeline-line {
   position:absolute;
   left:calc(46px + ((100% - 92px - (var(--gap) * 4)) / 10));
   right:calc(46px + ((100% - 92px - (var(--gap) * 4)) / 10));
   top:calc((var(--dot-size) / 2) + 2px);
   height:4px;
   background:#e68eaa;
   border-radius:999px;
   z-index:0;

}

.sales-timeline-item {
   position:relative;
   min-width:0;
   height:100%;

}

.sales-timeline-dot {
   position:absolute;
   left:50%;
   top:2px;
   width:var(--dot-size);
   height:var(--dot-size);
   border-radius:50%;
   background:var(--accent);
   box-shadow:0 0 0 12px #fae7ed, 0 10px 24px rgba(199, 58, 100, .18);
   transform:translateX(-50%);
   z-index:2;

}

.sales-timeline-connector {
   position:absolute;
   left:50%;
   top:calc(2px + var(--dot-size));
   width:1px;
   height:calc(var(--card-top) - 2px - var(--dot-size));
   background:#edd0d9;
   transform:translateX(-50%);
   z-index:1;

}

.sales-timeline-card {
   position:absolute;
   left:0;
   right:0;
   top:var(--card-top);
   height:var(--card-height);
   background:#fff;
   border:1px solid var(--line);
   border-radius:16px;
   box-shadow:0 10px 26px rgba(40, 20, 30, .045);
   padding:16px 16px 18px;
   box-sizing:border-box;

}

.sales-timeline-card b {
   display:block;
   color:var(--accent);
   font-size:16px;
   line-height:1.1;
   margin:0 0 7px;
   min-height:18px;

}

.sales-timeline-card h3 {
   font-size:18px;
   line-height:1.2;
   margin:0 0 12px;
   font-weight:850;
   min-height:44px;

}

.sales-timeline-card p {
   margin:0;
   color:#5b5d66;
   font-size:14px;
   line-height:1.45;

}

@media(max-width:1180px) {
   .sales-journey-card {
    padding:34px 32px 40px;

    }
   .sales-timeline {
     --gap:18px;
     --card-height:184px;
     padding:0 28px;
     min-height:282px;

    }
   .sales-timeline-line {
     left:calc(28px + ((100% - 56px - (var(--gap) * 4)) / 10));
     right:calc(28px + ((100% - 56px - (var(--gap) * 4)) / 10));

    }
   .sales-timeline-card {
     padding:14px;

    }
   .sales-timeline-card h3 {
    font-size:17px;

    }
   .sales-timeline-card p {
    font-size:13.5px;

    }

}

@media(max-width:760px) {
   .sales-journey-card {
    padding:28px 22px;

    }
   .sales-journey-card .section-title {
    margin-bottom:24px;

    }
   .sales-timeline {
     display:grid;
     grid-template-columns:1fr;
     gap:18px;
     min-height:auto;
     padding:0 0 0 28px;
     overflow:visible;

    }
   .sales-timeline-line {
     left:8px;
     right:auto;
     top:8px;
     bottom:8px;
     width:2px;
     height:auto;
     background:linear-gradient(180deg, #e68eaa, #f1cbd6);

    }
   .sales-timeline-item {
     height:auto;

    }
   .sales-timeline-dot {
     left:-28px;
     top:8px;
     width:14px;
     height:14px;
     box-shadow:0 0 0 7px #fae7ed;
     transform:none;

    }
   .sales-timeline-connector {
     display:none;

    }
   .sales-timeline-card {
     position:relative;
     top:auto;
     height:auto;
     min-height:0;
     padding:14px;

    }
   .sales-timeline-card h3 {
     min-height:0;
     font-size:18px;
     margin-bottom:8px;

    }
   .sales-timeline-card p {
     font-size:14px;

    }

}

/* Main page benefits vertical alignment */
.stats-bar .stat {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 30px;
}

.stats-bar .stat .card-icon {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  position: static;
  top: auto;
  transform: none;
  align-self: center;
}

.stats-bar .stat .stat-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  margin: 0;
  padding: 0;
  position: static;
  top: auto;
  transform: none;
}

.stats-bar .stat .stat-title,
.stats-bar .stat .stat-description {
  display: block;
  margin: 0;
  padding: 0;
  min-height: 0;
  position: static;
  top: auto;
  transform: none;
}

.stats-bar .stat .stat-title {
  line-height: 1.05;
}

.stats-bar .stat .stat-description {
  line-height: 1.35;
}

/* Unified internal hero visual positioning based on About page */
.inner-page-hero:before {
  display: none;
}

.inner-page-hero .inner-page-hero-image {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  align-self: end;
  height: 470px;
  min-height: 0;
  overflow: visible;
  transform: translateY(44px);
  isolation: isolate;
}

.inner-page-hero:has(.feature-strip) .inner-page-hero-image {
  transform: none;
}

.inner-page-hero .hero-circle {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, #f7dbe4 0%, #fbeef2 58%, rgba(255, 255, 255, 0) 70%);
  z-index: 1;
  pointer-events: none;
}

.inner-page-hero .hero-photo,
.inner-page-hero .inner-page-hero-image img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
  max-height: 470px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 24px 40px rgba(25, 10, 20, .08));
  transform: none;
}

@media(max-width:1024px) {
  .inner-page-hero .inner-page-hero-image {
    height: 430px;
    justify-content: center;
    transform: translateY(44px);
  }

  .inner-page-hero:has(.feature-strip) .inner-page-hero-image {
    transform: none;
  }

  .inner-page-hero .hero-circle {
    right: 50%;
    bottom: 0;
    width: 500px;
    height: 500px;
    transform: translateX(50%);
  }

  .inner-page-hero .hero-photo,
  .inner-page-hero .inner-page-hero-image img {
    max-height: 430px;
  }
}

@media(max-width:640px) {
  .inner-page-hero .inner-page-hero-image {
    height: 360px;
    transform: none;
  }

  .inner-page-hero .hero-circle {
    width: 390px;
    height: 390px;
  }

  .inner-page-hero .hero-photo,
  .inner-page-hero .inner-page-hero-image img {
    max-height: 360px;
  }
}


/* Focused fix: homepage problems section cards alignment */
.problems-section {
  padding-top:120px;
}

.problems-section .section-head {
  margin-bottom:34px;
}

.problems-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  align-items:stretch;
  gap:24px;
}

.problems-grid .problem-card {
  height:100%;
  min-height:360px;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:28px;
}

.problems-grid .problem-card-icon,
.problems-grid .problem-card > .card-ico {
  width:56px;
  height:56px;
  min-width:56px;
  min-height:56px;
  flex:0 0 56px;
  margin:0 0 32px;
  display:grid;
  place-items:center;
}

.problems-grid .problem-card-icon img,
.problems-grid .problem-card > .card-ico img {
  width:28px;
  height:28px;
  object-fit:contain;
}

.problems-grid .problem-card h3 {
  min-height:96px;
  margin:0 0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.problems-grid .problem-card p {
  margin-top:0;
  text-align:center;
}

@media(max-width:980px) {
  .problems-section {
    padding-top:80px;
  }

  .problems-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:640px) {
  .problems-section {
    padding-top:64px;
  }

  .problems-grid {
    grid-template-columns:1fr;
  }

  .problems-grid .problem-card {
    min-height:auto;
  }

  .problems-grid .problem-card h3 {
    min-height:auto;
  }
}

/* Alignment fix: service direction cards and cooperation format cards */
.service-card,
.format-card {
  display:flex;
  flex-direction:column;
  height:100%;
}

.service-card > .card-ico,
.format-card > .card-ico {
  width:56px;
  height:56px;
  min-width:56px;
  min-height:56px;
  flex:0 0 56px;
  margin:0 0 24px;
  display:grid;
  place-items:center;
}

.service-card > .card-ico img,
.format-card > .card-ico img {
  width:28px;
  height:28px;
  object-fit:contain;
}

.service-card h3,
.format-card h3 {
  min-height:64px;
  margin:0 0 14px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}

.service-card p,
.format-card p {
  min-height:72px;
  margin-top:0;
}

.service-card .link-more,
.format-card .link-more {
  margin-top:auto;
}

@media(max-width:640px) {
  .service-card h3,
  .format-card h3,
  .service-card p,
  .format-card p {
    min-height:auto;
  }
}

/* Complex homepage refinement: hero, benefits, problems and formats */
.hero {
  padding-bottom:0;
}

.hero .h1 .hero-title-line {
  display:inline-block;
}

.hero:before {
  display:none;
}

.hero-grid {
  align-items:end;
}

.hero-image {
  position:relative;
  align-self:end;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  overflow:visible;
}

.hero-image:before {
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(560px, 92%);
  aspect-ratio:1 / 1;
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle, #f7dbe4 0%, #fbeef2 58%, rgba(255,255,255,0) 72%);
  z-index:0;
  pointer-events:none;
}

.hero-image img {
  position:relative;
  z-index:1;
  display:block;
  margin:0 auto;
}

.hero .stats-bar {
  margin:0 0 58px;
  background:#111315;
  border-color:#25282c;
  color:#fff;
}

.hero .stats-bar .stat {
  border-right-color:#2a2d31;
}

.hero .stats-bar .stat-title {
  color:#fff;
}

.hero .stats-bar .stat-description,
.hero .stats-bar .stat span:not(.card-ico) {
  color:#d7d9de;
}

.hero .stats-bar .card-icon {
  background:rgba(229, 57, 100, .14);
}

.problems-grid .problem-card {
  min-height:382px;
  padding:34px 24px 30px;
  justify-content:flex-start;
}

.problems-grid .problem-card-icon,
.problems-grid .problem-card > .card-ico {
  width:72px;
  height:72px;
  min-width:72px;
  min-height:72px;
  flex:0 0 72px;
  border-radius:20px;
  margin:0 auto 26px;
}

.problems-grid .problem-card-icon img,
.problems-grid .problem-card > .card-ico img {
  width:36px;
  height:36px;
}

.problems-grid .problem-card h3 {
  width:100%;
  max-width:190px;
  min-height:88px;
  margin:0 auto 14px;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.problems-grid .problem-card p {
  max-width:220px;
  margin:0 auto;
  text-align:center;
}

.format-card {
  align-items:flex-start;
}

.format-card h3 {
  min-height:34px;
  margin-bottom:8px;
}

.format-card p {
  min-height:58px;
  margin-top:0;
}

@media(max-width:1100px) {
  .hero-image:before {
    width:min(500px, 90%);
  }

  .problems-grid .problem-card {
    min-height:350px;
  }

  .problems-grid .problem-card h3 {
    min-height:70px;
  }
}

@media(max-width:980px) {
  .hero-grid {
    align-items:center;
  }

  .hero-image {
    align-self:center;
  }

  .hero .stats-bar {
    margin-top:0;
  }

  .format-card h3,
  .format-card p {
    min-height:auto;
  }
}

@media(max-width:640px) {
  .hero .stats-bar {
    margin-bottom:42px;
  }

  .problems-grid .problem-card {
    min-height:auto;
  }

  .problems-grid .problem-card h3,
  .problems-grid .problem-card p {
    min-height:auto;
    max-width:none;
  }
}

/* Targeted final fixes: light benefits, strict 2-line hero title, service link spacing */
.hero .h1 {
  font-size:clamp(48px, 4.6vw, 66px);
}

.hero .h1 .hero-title-nowrap {
  display:inline-block;
  white-space:nowrap;
}

.hero .stats-bar {
  background:#fff;
  border-color:var(--line);
  color:var(--ink);
}

.hero .stats-bar .stat {
  border-right-color:var(--line);
}

.hero .stats-bar .stat-title {
  color:var(--ink);
}

.hero .stats-bar .stat-description,
.hero .stats-bar .stat span:not(.card-ico) {
  color:#555760;
}

.hero .stats-bar .card-icon,
.hero .stats-bar .card-ico {
  background:var(--soft);
}

.service-card p {
  margin-bottom:20px;
}

.service-card .link-more,
.service-card a {
  margin-top:16px;
}

@media(max-width:1100px) {
  .hero .h1 {
    font-size:clamp(44px, 5.2vw, 54px);
  }

  .hero-grid {
    grid-template-columns:minmax(0, 1.18fr) minmax(0, .82fr);
    gap:24px;
  }
}

@media(max-width:980px) {
  .hero-grid {
    grid-template-columns:1fr;
  }
}

@media(max-width:640px) {
  .hero .h1 {
    font-size:38px;
  }

  .hero .h1 .hero-title-nowrap {
    white-space:normal;
  }
}

/* Keep service links aligned while preserving visible spacing after descriptions */
.service-card .link-more,
.service-card a {
  margin-top:auto;
}

/* Final strict sizing for 2-line main hero title on desktop/laptop/tablet */
.hero .h1 {
  font-size:clamp(42px, 4.2vw, 54px);
}

@media(max-width:1100px) {
  .hero .h1 {
    font-size:clamp(40px, 4.2vw, 43px);
  }
}

@media(max-width:640px) {
  .hero .h1 {
    font-size:38px;
  }
}

/* Preserve hero balance while giving the forced first title line enough width */
.hero-grid {
  grid-template-columns:minmax(0, 1.12fr) minmax(0, .88fr);
}

.hero .h1 {
  font-size:clamp(42px, 4.2vw, 54px);
}

@media(max-width:1100px) {
  .hero-grid {
    grid-template-columns:minmax(0, 1.18fr) minmax(0, .82fr);
  }

  .hero .h1 {
    font-size:clamp(40px, 4.2vw, 43px);
  }
}

@media(max-width:980px) {
  .hero-grid {
    grid-template-columns:1fr;
  }
}


/* Targeted fix: services page hero photo must touch the services cards block */
body.services-page .inner-page-hero {
  padding-bottom: 0;
}

body.services-page .inner-page-hero + .section {
  margin-top: 0;
}

body.services-page .inner-page-hero .inner-page-hero-image {
  transform: translateY(44px);
}

@media(max-width:1024px) {
  body.services-page .inner-page-hero {
    padding-bottom: 0;
  }

  body.services-page .inner-page-hero + .section {
    margin-top: 0;
  }

  body.services-page .inner-page-hero .inner-page-hero-image {
    transform: translateY(36px);
  }
}

@media(max-width:640px) {
  body.services-page .inner-page-hero .inner-page-hero-image {
    transform: none;
  }
}

/* Premium main page redesign */
.home-premium {
  --home-cream:#f7f1ea;
  --home-cream-2:#fbf7f2;
  --home-paper:#fffdf9;
  --home-burgundy:#a72b25;
  --home-burgundy-dark:#84201d;
  --home-ink:#151820;
  --home-muted:#51545d;
  --home-line:#eaded4;
  --home-shadow:0 24px 70px rgba(82, 47, 31, .10);
  background:
    radial-gradient(circle at 72% 10%, rgba(167, 43, 37, .08), transparent 34%),
    linear-gradient(180deg, #fffdf9 0%, #fbf6f1 52%, #fffaf6 100%);
}

.home-premium .site-header {
  background:rgba(255, 252, 247, .88);
  border-bottom:1px solid rgba(234, 222, 212, .85);
}

.home-premium .brand-mark,
.home-premium .accent,
.home-premium .nav a.active,
.home-premium .nav a:hover,
.home-premium .eyebrow {
  color:var(--home-burgundy);
}

.home-premium .btn {
  background:linear-gradient(180deg, #b8352d 0%, var(--home-burgundy) 100%);
  border-color:#9b2924;
  border-radius:8px;
  box-shadow:0 18px 34px rgba(157, 42, 36, .22);
}

.home-premium .btn:hover {
  background:linear-gradient(180deg, #a62d27 0%, var(--home-burgundy-dark) 100%);
}

.home-premium .btn.btn-outline {
  background:#fffaf6;
  color:var(--home-burgundy);
  border-color:#b9352e;
  box-shadow:none;
}

.home-premium .hp-hero {
  position:relative;
  padding:72px 0 42px;
  overflow:hidden;
}

.home-premium .hp-hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 83% 35%, rgba(166, 128, 88, .16), transparent 28%),
    radial-gradient(circle at 58% 64%, rgba(167, 43, 37, .05), transparent 36%);
  pointer-events:none;
}

.home-premium .hp-hero-grid {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(430px, .95fr);
  gap:42px;
  align-items:end;
}

.home-premium .hp-tags {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  margin-bottom:28px;
  border:1px solid var(--home-line);
  border-radius:999px;
  background:rgba(255, 250, 246, .86);
  color:#7b746d;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
}

.home-premium .hp-tags i {
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--home-burgundy);
  opacity:.8;
}

.home-premium .hp-title {
  margin:0 0 26px;
  color:var(--home-ink);
  font-size:clamp(54px, 5.8vw, 92px);
  line-height:.98;
  letter-spacing:-.06em;
}

.home-premium .hp-title span {
  color:var(--home-burgundy);
}

.home-premium .hp-lead {
  max-width:720px;
  margin:0;
  color:#292d34;
  font-size:21px;
  line-height:1.58;
}

.home-premium .hp-actions {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:34px 0 34px;
}

.home-premium .hp-btn-primary,
.home-premium .hp-btn-secondary {
  min-width:224px;
  min-height:58px;
  font-size:16px;
}

.home-premium .hp-stats {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  max-width:700px;
  padding:18px 0 0;
}

.home-premium .hp-stat {
  display:grid;
  grid-template-columns:48px 1fr;
  column-gap:14px;
  align-items:center;
  min-height:58px;
  padding-right:20px;
  border-right:1px solid var(--home-line);
}

.home-premium .hp-stat:last-child {
  border-right:0;
}

.home-premium .hp-stat-icon,
.home-premium .hp-icon,
.home-premium .hp-result-icon,
.home-premium .hp-form-benefits span {
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg, #f7eee8, #eee3da);
}

.home-premium .hp-stat-icon {
  width:48px;
  height:48px;
}

.home-premium .hp-stat-icon img,
.home-premium .hp-icon img,
.home-premium .hp-result-icon img,
.home-premium .hp-form-benefits img,
.home-premium .hp-floating-card img,
.home-premium .hp-secure img {
  width:25px;
  height:25px;
  filter:brightness(0) saturate(100%) invert(19%) sepia(64%) saturate(1675%) hue-rotate(342deg) brightness(94%) contrast(89%);
}

.home-premium .hp-stat b {
  display:block;
  color:#151820;
  font-size:17px;
  line-height:1.15;
}

.home-premium .hp-stat small {
  display:block;
  color:#444850;
  font-size:14px;
  line-height:1.22;
}

.home-premium .hp-hero-visual {
  position:relative;
  min-height:690px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  overflow:visible;
}

.home-premium .hp-photo-bg {
  position:absolute;
  right:0;
  bottom:26px;
  width:min(92%, 620px);
  height:610px;
  border-radius:56px;
  background:
    radial-gradient(circle at 78% 48%, rgba(167, 43, 37, .11), transparent 42%),
    linear-gradient(135deg, #eee4d8 0%, #e9d8c8 100%);
  box-shadow:inset 0 0 0 1px rgba(255, 255, 255, .35);
}

.home-premium .hp-hero-photo {
  position:relative;
  z-index:3;
  width:auto;
  height:690px;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 28px 44px rgba(25, 18, 15, .13));
  margin-right:20px;
}

.home-premium .hp-floating-card {
  position:absolute;
  z-index:4;
  background:rgba(255, 255, 255, .86);
  border:1px solid rgba(226, 214, 204, .88);
  border-radius:18px;
  box-shadow:0 20px 50px rgba(88, 58, 40, .13);
  backdrop-filter:blur(16px);
}

.home-premium .hp-flow-card {
  left:0;
  top:22%;
  width:190px;
  padding:22px 22px 20px;
}

.home-premium .hp-flow-card span {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#f7eee8;
  margin-bottom:14px;
}

.home-premium .hp-flow-card b {
  display:block;
  margin-bottom:12px;
  color:#171a21;
  font-size:18px;
  line-height:1.2;
}

.home-premium .hp-flow-card ul {
  list-style:none;
  margin:0;
  padding:0;
  color:#4a4e55;
  font-size:14px;
}

.home-premium .hp-flow-card li {
  position:relative;
  padding:6px 0 6px 28px;
}

.home-premium .hp-flow-card li:before {
  content:"";
  position:absolute;
  left:2px;
  top:13px;
  width:8px;
  height:8px;
  border:2px solid var(--home-burgundy);
  border-radius:50%;
  background:#fff;
}

.home-premium .hp-note {
  right:30px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 22px;
  color:#272a30;
  font-size:16px;
  font-weight:700;
}

.home-premium .hp-note img {
  width:22px;
  height:22px;
}

.home-premium .hp-note-one {
  bottom:170px;
}

.home-premium .hp-note-two {
  bottom:80px;
}

.home-premium .hp-section {
  padding:96px 0;
}

.home-premium .hp-section-head {
  max-width:920px;
  margin:0 auto 52px;
  text-align:center;
}

.home-premium .hp-kicker {
  margin:0 0 18px;
  color:var(--home-burgundy);
  font-family:var(--serif);
  font-size:18px;
  letter-spacing:.36em;
  text-transform:uppercase;
}

.home-premium .hp-section-title {
  margin:0;
  color:var(--home-ink);
  font-size:clamp(42px, 4.1vw, 66px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:900;
}

.home-premium .hp-section-title.serif,
.home-premium .hp-form-card h2 {
  font-weight:500;
}

.home-premium .hp-section-subtitle {
  max-width:760px;
  margin:24px auto 0;
  color:var(--home-muted);
  font-size:20px;
  line-height:1.55;
}

.home-premium .hp-problems {
  background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(247,241,234,.38));
}

.home-premium .hp-problem-grid,
.home-premium .hp-services-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
}

.home-premium .hp-problem-card,
.home-premium .hp-service-card {
  display:grid;
  grid-template-columns:96px 1fr;
  gap:22px;
  min-height:188px;
  padding:34px;
  border:1px solid var(--home-line);
  border-radius:22px;
  background:rgba(255, 253, 249, .78);
  box-shadow:0 18px 48px rgba(65, 42, 29, .06);
}

.home-premium .hp-service-card {
  color:inherit;
  transition:.25s ease;
}

.home-premium .hp-service-card:hover {
  transform:translateY(-4px);
  border-color:rgba(167, 43, 37, .28);
  box-shadow:var(--home-shadow);
}

.home-premium .hp-icon {
  width:92px;
  height:92px;
  align-self:start;
}

.home-premium .hp-icon img {
  width:42px;
  height:42px;
}

.home-premium .hp-problem-card h3,
.home-premium .hp-service-card h3,
.home-premium .hp-step-card h3,
.home-premium .hp-result-box h3 {
  margin:0 0 12px;
  color:#13161c;
  font-size:22px;
  line-height:1.22;
}

.home-premium .hp-problem-card p,
.home-premium .hp-service-card p,
.home-premium .hp-step-card p,
.home-premium .hp-result-box p {
  margin:0;
  color:#454952;
  font-size:17px;
  line-height:1.58;
}

.home-premium .hp-steps {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:28px;
  align-items:stretch;
}

.home-premium .hp-step-card {
  position:relative;
  min-height:420px;
  padding:28px 26px 30px;
  border:1px solid var(--home-line);
  border-radius:18px;
  background:rgba(255, 253, 249, .8);
  text-align:center;
}

.home-premium .hp-step-card:not(:last-child):after {
  content:"→";
  position:absolute;
  right:-24px;
  top:33%;
  color:var(--home-burgundy);
  font-size:28px;
  line-height:1;
}

.home-premium .hp-step-num {
  position:absolute;
  left:18px;
  top:18px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f3ebe4;
  color:#292c32;
  font-weight:700;
}

.home-premium .hp-step-icon {
  width:126px;
  height:126px;
  margin:64px auto 28px;
}

.home-premium .hp-step-icon img {
  width:58px;
  height:58px;
}

.home-premium .hp-result-box {
  display:grid;
  grid-template-columns:100px 1fr minmax(280px, .65fr);
  gap:28px;
  align-items:center;
  margin-top:54px;
  padding:36px 40px;
  border:1px solid var(--home-line);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(255,255,255,.88), rgba(250,244,238,.85));
  box-shadow:0 18px 50px rgba(65, 42, 29, .06);
}

.home-premium .hp-result-icon {
  width:88px;
  height:88px;
}

.home-premium .hp-result-icon img {
  width:40px;
  height:40px;
}

.home-premium .hp-result-box ul {
  margin:0;
  padding:0;
  list-style:none;
  color:#22262d;
  font-weight:700;
  font-size:16px;
}

.home-premium .hp-result-box li {
  position:relative;
  padding:7px 0 7px 30px;
}

.home-premium .hp-result-box li:before {
  content:"✓";
  position:absolute;
  left:0;
  top:5px;
  color:var(--home-burgundy);
}

.home-premium .hp-form-section {
  padding:74px 0 102px;
}

.home-premium .hp-form-card {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:70px;
  padding:72px 76px;
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, .72), transparent 32%),
    linear-gradient(135deg, #f0e7dc 0%, #fbf6f1 100%);
  box-shadow:0 24px 70px rgba(82, 47, 31, .08);
}

.home-premium .hp-form-card h2 {
  margin:0 0 28px;
  color:var(--home-ink);
  font-size:clamp(46px, 4.5vw, 76px);
  line-height:1.08;
  letter-spacing:-.055em;
}

.home-premium .hp-form-copy>p:not(.hp-kicker) {
  max-width:640px;
  margin:0 0 34px;
  color:#31343b;
  font-size:21px;
  line-height:1.55;
}

.home-premium .hp-form-benefits {
  display:grid;
  gap:18px;
  margin:0;
  padding:0;
  list-style:none;
  color:#22262c;
  font-size:18px;
}

.home-premium .hp-form-benefits li {
  display:flex;
  align-items:center;
  gap:18px;
}

.home-premium .hp-form-benefits span {
  width:52px;
  height:52px;
  flex:0 0 52px;
}

.home-premium .hp-form {
  display:grid;
  gap:18px;
}

.home-premium .hp-form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.home-premium .hp-form input,
.home-premium .hp-form textarea {
  width:100%;
  border:1px solid #dfd1c8;
  border-radius:12px;
  background:rgba(255, 255, 255, .84);
  padding:22px 24px;
  color:#1e2229;
  font:inherit;
  font-size:18px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.home-premium .hp-form textarea {
  min-height:170px;
  resize:vertical;
}

.home-premium .hp-form input:focus,
.home-premium .hp-form textarea:focus {
  border-color:rgba(167, 43, 37, .55);
  box-shadow:0 0 0 4px rgba(167, 43, 37, .08);
}

.home-premium .hp-policy {
  align-items:center;
  color:#4c4f56;
}

.home-premium .hp-policy a {
  color:var(--home-burgundy);
  text-decoration:underline;
  text-underline-offset:4px;
}

.home-premium .hp-submit {
  width:100%;
  min-height:72px;
  font-size:20px;
}

.home-premium .hp-secure {
  display:flex;
  align-items:center;
  gap:16px;
  color:#79736d;
  font-size:16px;
  margin-top:10px;
}

.home-premium .hp-secure img {
  width:30px;
  height:30px;
  flex:0 0 30px;
}

@media(max-width:1180px) {
  .home-premium .hp-hero-grid {
    grid-template-columns:1fr minmax(360px, .85fr);
  }

  .home-premium .hp-hero-visual {
    min-height:610px;
  }

  .home-premium .hp-hero-photo {
    height:610px;
    margin-right:0;
  }

  .home-premium .hp-flow-card {
    left:-10px;
    transform:scale(.9);
  }

  .home-premium .hp-problem-grid,
  .home-premium .hp-services-grid {
    grid-template-columns:repeat(2, 1fr);
  }

  .home-premium .hp-steps {
    grid-template-columns:repeat(3, 1fr);
  }

  .home-premium .hp-step-card:not(:last-child):after {
    display:none;
  }
}

@media(max-width:1024px) {
  .home-premium .hp-hero {
    padding:56px 0 36px;
  }

  .home-premium .hp-hero-grid,
  .home-premium .hp-form-card {
    grid-template-columns:1fr;
  }

  .home-premium .hp-hero-visual {
    min-height:560px;
    justify-content:center;
  }

  .home-premium .hp-photo-bg {
    right:50%;
    transform:translateX(50%);
  }

  .home-premium .hp-flow-card {
    left:8%;
  }

  .home-premium .hp-note {
    right:10%;
  }

  .home-premium .hp-stats {
    grid-template-columns:repeat(2, 1fr);
    gap:18px 0;
  }

  .home-premium .hp-stat:nth-child(2) {
    border-right:0;
  }

  .home-premium .hp-result-box {
    grid-template-columns:84px 1fr;
  }

  .home-premium .hp-result-box ul {
    grid-column:2;
  }

  .home-premium .hp-form-card {
    padding:52px;
    gap:42px;
  }
}

@media(max-width:760px) {
  .home-premium .hp-title {
    font-size:clamp(42px, 12vw, 60px);
  }

  .home-premium .hp-lead,
  .home-premium .hp-section-subtitle,
  .home-premium .hp-form-copy>p:not(.hp-kicker) {
    font-size:18px;
  }

  .home-premium .hp-tags {
    flex-wrap:wrap;
    border-radius:18px;
  }

  .home-premium .hp-actions {
    flex-direction:column;
  }

  .home-premium .hp-actions .btn {
    width:100%;
  }

  .home-premium .hp-hero-visual {
    min-height:470px;
  }

  .home-premium .hp-photo-bg {
    height:430px;
    width:92%;
    border-radius:34px;
  }

  .home-premium .hp-hero-photo {
    height:470px;
  }

  .home-premium .hp-flow-card,
  .home-premium .hp-note {
    display:none;
  }

  .home-premium .hp-stats {
    grid-template-columns:1fr;
  }

  .home-premium .hp-stat {
    border-right:0;
    padding:8px 0;
  }

  .home-premium .hp-section {
    padding:68px 0;
  }

  .home-premium .hp-kicker {
    font-size:14px;
    letter-spacing:.22em;
  }

  .home-premium .hp-section-title,
  .home-premium .hp-form-card h2 {
    font-size:clamp(36px, 10vw, 48px);
  }

  .home-premium .hp-problem-grid,
  .home-premium .hp-services-grid,
  .home-premium .hp-steps,
  .home-premium .hp-form-row {
    grid-template-columns:1fr;
  }

  .home-premium .hp-problem-card,
  .home-premium .hp-service-card {
    grid-template-columns:72px 1fr;
    padding:24px;
  }

  .home-premium .hp-icon {
    width:68px;
    height:68px;
  }

  .home-premium .hp-icon img {
    width:32px;
    height:32px;
  }

  .home-premium .hp-step-card {
    min-height:auto;
  }

  .home-premium .hp-result-box {
    grid-template-columns:1fr;
    padding:28px;
  }

  .home-premium .hp-result-box ul {
    grid-column:auto;
  }

  .home-premium .hp-form-card {
    padding:34px 24px;
    border-radius:22px;
  }
}

@media(max-width:520px) {
  .home-premium .hp-hero-visual {
    min-height:390px;
  }

  .home-premium .hp-photo-bg {
    height:350px;
    border-radius:28px;
  }

  .home-premium .hp-hero-photo {
    height:390px;
  }

  .home-premium .hp-problem-card,
  .home-premium .hp-service-card {
    grid-template-columns:1fr;
  }
}

/* Clean first-screen hero composition fix */
.home-premium .hp-hero-clean {
  padding:56px 0 34px;
  overflow:hidden;
}

.home-premium .hp-hero-clean:before {
  background:
    radial-gradient(circle at 78% 36%, rgba(166, 128, 88, .13), transparent 27%),
    radial-gradient(circle at 56% 70%, rgba(167, 43, 37, .035), transparent 34%);
}

.home-premium .hp-hero-clean-grid {
  grid-template-columns:minmax(0, .98fr) minmax(420px, .86fr);
  gap:42px;
  align-items:center;
}

.home-premium .hp-tags-clean {
  margin-bottom:22px;
  padding:9px 17px;
  font-size:13px;
}

.home-premium .hp-title-clean {
  max-width:760px;
  margin-bottom:22px;
  font-size:clamp(50px, 4.7vw, 76px);
  line-height:1.03;
  letter-spacing:-.055em;
}

.home-premium .hp-lead-clean {
  max-width:680px;
  font-size:20px;
  line-height:1.52;
}

.home-premium .hp-actions-clean {
  margin:30px 0 24px;
}

.home-premium .hp-benefit-line {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  max-width:720px;
}

.home-premium .hp-benefit-line span {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 14px;
  border:1px solid var(--home-line);
  border-radius:999px;
  background:rgba(255, 250, 246, .82);
  color:#514b45;
  font-size:14px;
  font-weight:800;
}

.home-premium .hp-benefit-line span:before {
  content:"";
  width:6px;
  height:6px;
  margin-right:9px;
  border-radius:50%;
  background:var(--home-burgundy);
}

.home-premium .hp-hero-visual-clean {
  min-height:590px;
  justify-content:center;
  align-items:flex-end;
}

.home-premium .hp-photo-bg-clean {
  right:8px;
  bottom:0;
  width:min(96%, 565px);
  height:530px;
  border-radius:46px;
  background:
    radial-gradient(circle at 68% 42%, rgba(167, 43, 37, .105), transparent 39%),
    linear-gradient(135deg, #efe5da 0%, #e8d6c5 100%);
}

.home-premium .hp-hero-photo-clean {
  height:660px;
  margin-right:16px;
  object-position:bottom center;
}

.home-premium .hp-flow-card {
  display:none;
}

.home-premium .hp-clean-card {
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 18px;
  border-radius:14px;
  color:#22252b;
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
}

.home-premium .hp-clean-card img {
  width:22px;
  height:22px;
  flex:0 0 22px;
}

.home-premium .hp-clean-card-one {
  right:18px;
  bottom:138px;
}

.home-premium .hp-clean-card-two {
  right:18px;
  bottom:70px;
}

.home-premium .hp-stats-clean {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  max-width:none;
  margin:24px 0 0;
  padding:18px 22px;
  border:1px solid var(--home-line);
  border-radius:18px;
  background:rgba(255, 253, 249, .86);
  box-shadow:0 18px 48px rgba(65, 42, 29, .07);
  overflow:visible;
}

.home-premium .hp-stats-clean .hp-stat {
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  gap:14px;
  align-items:center;
  min-height:auto;
  padding:4px 22px;
  border-right:1px solid var(--home-line);
}

.home-premium .hp-stats-clean .hp-stat:first-child {
  padding-left:0;
}

.home-premium .hp-stats-clean .hp-stat:last-child {
  border-right:0;
  padding-right:0;
}

.home-premium .hp-stats-clean .hp-stat b,
.home-premium .hp-stats-clean .hp-stat small {
  white-space:normal;
  overflow:visible;
}

.home-premium .hp-stats-clean .hp-stat small {
  line-height:1.25;
}

@media(max-width:1180px) {
  .home-premium .hp-hero-clean-grid {
    grid-template-columns:minmax(0, 1fr) minmax(360px, .78fr);
    gap:30px;
  }

  .home-premium .hp-title-clean {
    font-size:clamp(46px, 5.2vw, 66px);
  }

  .home-premium .hp-hero-visual-clean {
    min-height:540px;
  }

  .home-premium .hp-photo-bg-clean {
    height:490px;
  }

  .home-premium .hp-hero-photo-clean {
    height:600px;
  }

  .home-premium .hp-clean-card {
    font-size:14px;
    padding:12px 15px;
  }
}

@media(max-width:1024px) {
  .home-premium .hp-hero-clean {
    padding:46px 0 32px;
  }

  .home-premium .hp-hero-clean-grid {
    grid-template-columns:1fr;
    gap:34px;
  }

  .home-premium .hp-title-clean {
    max-width:760px;
  }

  .home-premium .hp-hero-visual-clean {
    min-height:520px;
  }

  .home-premium .hp-photo-bg-clean {
    right:50%;
    bottom:0;
    width:min(88%, 520px);
    height:470px;
    transform:translateX(50%);
  }

  .home-premium .hp-hero-photo-clean {
    height:580px;
    margin-right:0;
  }

  .home-premium .hp-clean-card-one {
    right:12%;
    bottom:126px;
  }

  .home-premium .hp-clean-card-two {
    right:12%;
    bottom:62px;
  }

  .home-premium .hp-stats-clean {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px 0;
  }

  .home-premium .hp-stats-clean .hp-stat,
  .home-premium .hp-stats-clean .hp-stat:first-child,
  .home-premium .hp-stats-clean .hp-stat:last-child {
    padding:6px 18px;
  }

  .home-premium .hp-stats-clean .hp-stat:nth-child(2) {
    border-right:0;
  }
}

@media(max-width:760px) {
  .home-premium .hp-title-clean {
    font-size:clamp(40px, 11vw, 56px);
  }

  .home-premium .hp-lead-clean {
    font-size:18px;
  }

  .home-premium .hp-hero-visual-clean {
    min-height:440px;
  }

  .home-premium .hp-photo-bg-clean {
    height:390px;
    border-radius:30px;
  }

  .home-premium .hp-hero-photo-clean {
    height:445px;
  }

  .home-premium .hp-clean-card {
    display:none;
  }

  .home-premium .hp-stats-clean {
    grid-template-columns:1fr;
    padding:18px;
  }

  .home-premium .hp-stats-clean .hp-stat,
  .home-premium .hp-stats-clean .hp-stat:first-child,
  .home-premium .hp-stats-clean .hp-stat:last-child {
    border-right:0;
    border-bottom:1px solid var(--home-line);
    padding:10px 0;
  }

  .home-premium .hp-stats-clean .hp-stat:last-child {
    border-bottom:0;
  }
}

@media(max-width:520px) {
  .home-premium .hp-hero-clean {
    padding-top:38px;
  }

  .home-premium .hp-tags-clean {
    font-size:12px;
    gap:8px;
  }

  .home-premium .hp-hero-visual-clean {
    min-height:360px;
  }

  .home-premium .hp-photo-bg-clean {
    height:315px;
    width:94%;
  }

  .home-premium .hp-hero-photo-clean {
    height:365px;
  }
}

/* Home headings typography and hero badge removal fix */
.home-premium .hp-approach .hp-section-title,
.home-premium .hp-services .hp-section-title {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.04em;
}

.home-premium .hp-hero-clean .hp-title-clean {
  margin-top: 0;
}

.home-premium .hp-hero-clean .hp-hero-content {
  padding-top: 0;
}

/* Lead magnet width and split cards fix */
.home-premium .hp-form-section .container {
  width:min(1120px, calc(100% - 48px));
}

.home-premium .hp-form-card {
  max-width:1120px;
  margin:0 auto;
  grid-template-columns:.88fr 1fr;
  gap:44px;
}

.home-premium .hp-form {
  max-width:610px;
  justify-self:end;
}

.home-premium .hp-services-split {
  padding-bottom:46px;
}

.home-premium .hp-cases-split {
  padding-top:46px;
}

.home-premium .hp-three-grid {
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.home-premium .hp-action-card {
  min-height:260px;
  display:grid;
  grid-template-columns:88px 1fr;
}

.home-premium .hp-action-card>div {
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.home-premium .hp-action-card p {
  margin-bottom:22px;
}

.home-premium .hp-card-link {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin-top:auto;
  color:var(--home-burgundy);
  font-size:15px;
  font-weight:900;
  line-height:1;
  border-bottom:1px solid rgba(167, 43, 37, .28);
  padding-bottom:6px;
  transition:.25s ease;
}

.home-premium .hp-card-link:hover {
  color:var(--home-burgundy-dark);
  border-color:var(--home-burgundy-dark);
  transform:translateX(4px);
}

@media(max-width:1180px) {
  .home-premium .hp-form-section .container {
    width:min(1040px, calc(100% - 48px));
  }

  .home-premium .hp-form-card {
    gap:36px;
    padding-left:56px;
    padding-right:56px;
  }
}

@media(max-width:1024px) {
  .home-premium .hp-form-section .container {
    width:min(var(--container), calc(100% - 48px));
  }

  .home-premium .hp-form-card {
    grid-template-columns:1fr;
  }

  .home-premium .hp-form {
    max-width:none;
    justify-self:stretch;
  }

  .home-premium .hp-three-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:760px) {
  .home-premium .hp-three-grid {
    grid-template-columns:1fr;
  }

  .home-premium .hp-action-card {
    grid-template-columns:72px 1fr;
    min-height:auto;
  }

  .home-premium .hp-services-split {
    padding-bottom:34px;
  }

  .home-premium .hp-cases-split {
    padding-top:34px;
  }
}

@media(max-width:520px) {
  .home-premium .hp-action-card {
    grid-template-columns:1fr;
  }
}

/* Home case images and compact CTA fix */
.home-premium .hp-case-image-card {
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
  overflow:hidden;
  min-height:0;
}

.home-premium .hp-case-media {
  height:150px;
  overflow:hidden;
  border-bottom:1px solid var(--home-line);
  background:#f6efe8;
}

.home-premium .hp-case-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.home-premium .hp-case-card-body {
  display:flex;
  flex-direction:column;
  min-height:230px;
  padding:24px 26px 26px;
}

.home-premium .hp-case-icon {
  width:58px;
  height:58px;
  margin-bottom:18px;
}

.home-premium .hp-case-icon img {
  width:28px;
  height:28px;
}

.home-premium .hp-case-card-body p {
  margin-bottom:20px;
}

.home-premium .hp-form-section {
  padding-top:60px;
  padding-bottom:76px;
}

.home-premium .hp-form-card {
  padding-top:48px;
  padding-bottom:48px;
  gap:34px;
}

.home-premium .hp-form-card h2 {
  margin-bottom:18px;
}

.home-premium .hp-form-copy>p:not(.hp-kicker) {
  margin-bottom:22px;
}

.home-premium .hp-form-benefits {
  gap:12px;
}

.home-premium .hp-form-benefits li {
  gap:14px;
}

.home-premium .hp-form-benefits span {
  width:44px;
  height:44px;
  flex-basis:44px;
}

.home-premium .hp-form {
  gap:14px;
}

.home-premium .hp-form-row {
  gap:14px;
}

.home-premium .hp-form textarea {
  min-height:125px;
}

.home-premium .hp-submit {
  min-height:66px;
}

.home-premium .hp-secure {
  margin-top:4px;
}

@media(max-width:1180px) {
  .home-premium .hp-form-card {
    padding-top:44px;
    padding-bottom:44px;
  }
}

@media(max-width:1024px) {
  .home-premium .hp-case-card-body {
    min-height:220px;
  }
}

@media(max-width:760px) {
  .home-premium .hp-case-media {
    height:180px;
  }

  .home-premium .hp-case-card-body {
    min-height:auto;
    padding:22px;
  }

  .home-premium .hp-form-section {
    padding-top:48px;
    padding-bottom:62px;
  }

  .home-premium .hp-form-card {
    padding-top:32px;
    padding-bottom:32px;
  }
}


/* Premium About page */
.about-premium {
  --about-bg:#fbf9f6;
  --about-card:#ffffff;
  --about-ink:#111315;
  --about-muted:#5f6268;
  --about-line:#e8e1da;
  --about-accent:#a92d2d;
  --about-accent-dark:#8f2424;
  --about-soft:#f3e7e3;
  background:
    radial-gradient(circle at 78% 12%, rgba(169, 45, 45, .07), transparent 32%),
    linear-gradient(180deg, #fffdf9 0%, var(--about-bg) 56%, #fffaf6 100%);
}

.about-premium .site-header {
  background:rgba(255, 252, 248, .9);
  border-bottom:1px solid rgba(232, 225, 218, .88);
}

.about-premium .brand-mark,
.about-premium .nav a.active,
.about-premium .nav a:hover,
.about-premium .hp-kicker {
  color:var(--about-accent);
}

.about-hero {
  position:relative;
  overflow:hidden;
  padding:58px 0 66px;
}

.about-hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 42%, rgba(166, 128, 88, .12), transparent 28%),
    radial-gradient(circle at 48% 72%, rgba(169, 45, 45, .045), transparent 34%);
  pointer-events:none;
}

.about-hero-grid {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.06fr) minmax(390px, .82fr);
  gap:44px;
  align-items:center;
}

.about-kicker {
  margin-bottom:18px;
}

.about-title {
  max-width:820px;
  margin:0 0 24px;
  color:var(--about-ink);
  font-size:clamp(46px, 4.7vw, 72px);
  line-height:1.05;
  letter-spacing:-.055em;
  font-weight:500;
}

.about-lead {
  max-width:720px;
  margin:0;
  color:#292d34;
  font-size:20px;
  line-height:1.5;
}

.about-trust-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:34px;
}

.about-trust-card,
.about-info-card,
.about-principle-card {
  border:1px solid var(--about-line);
  border-radius:20px;
  background:rgba(255, 255, 255, .84);
  box-shadow:0 16px 44px rgba(65, 42, 29, .055);
}

.about-trust-card {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  padding:18px;
}

.about-mini-icon {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:linear-gradient(145deg, #f8eee9, var(--about-soft));
  flex:0 0 46px;
}

.about-mini-icon img,
.about-card-icon img {
  filter:brightness(0) saturate(100%) invert(19%) sepia(64%) saturate(1675%) hue-rotate(342deg) brightness(94%) contrast(89%);
}

.about-mini-icon img {
  width:24px;
  height:24px;
}

.about-trust-card h3,
.about-info-card h3,
.about-principle-card h3 {
  margin:0 0 8px;
  color:var(--about-ink);
  font-size:18px;
  line-height:1.22;
  letter-spacing:-.015em;
}

.about-trust-card p,
.about-info-card p,
.about-principle-card p {
  margin:0;
  color:var(--about-muted);
  font-size:15px;
  line-height:1.45;
}

.about-hero-visual {
  position:relative;
  min-height:560px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.about-photo-card {
  position:absolute;
  right:0;
  bottom:0;
  width:min(96%, 520px);
  height:500px;
  border:1px solid rgba(232, 225, 218, .7);
  border-radius:42px;
  background:
    radial-gradient(circle at 66% 40%, rgba(169, 45, 45, .09), transparent 38%),
    linear-gradient(135deg, #f3ece4 0%, #e9d9ca 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
}

.about-photo {
  position:relative;
  z-index:2;
  height:575px;
  width:auto;
  max-width:none;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 28px 42px rgba(25, 18, 15, .12));
}

.about-premium .hp-section {
  padding:78px 0;
}

.about-premium .hp-section-head {
  margin-bottom:42px;
}

.about-premium .hp-section-title {
  font-weight:500;
  font-size:clamp(38px, 3.7vw, 58px);
  line-height:1.1;
}

.about-premium .hp-section-subtitle {
  margin-top:20px;
  font-size:19px;
  line-height:1.48;
}

.about-card-grid {
  display:grid;
  gap:20px;
}

.about-card-grid-3 {
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.about-card-grid-5 {
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

.about-info-card {
  padding:28px;
  min-height:238px;
}

.about-card-icon {
  width:72px;
  height:72px;
  margin-bottom:20px;
  background:linear-gradient(145deg, #f8eee9, var(--about-soft));
}

.about-card-icon img {
  width:34px;
  height:34px;
}

.about-info-card h3 {
  font-size:22px;
  margin-bottom:10px;
}

.about-info-card p {
  font-size:16px;
  line-height:1.5;
}

.about-stats-section {
  padding:46px 0 70px;
}

.about-centered-kicker {
  text-align:center;
  margin-bottom:24px;
}

.about-stats-panel {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  border:1px solid var(--about-line);
  border-radius:22px;
  background:rgba(255, 253, 249, .88);
  box-shadow:0 18px 48px rgba(65, 42, 29, .06);
  overflow:hidden;
}

.about-stat-item {
  min-height:142px;
  padding:26px 22px;
  border-right:1px solid var(--about-line);
}

.about-stat-item:last-child {
  border-right:0;
}

.about-stat-item b {
  display:block;
  margin-bottom:10px;
  color:var(--about-accent);
  font-size:clamp(24px, 2.2vw, 34px);
  line-height:1.05;
  letter-spacing:-.04em;
}

.about-stat-item span {
  display:block;
  color:var(--about-muted);
  font-size:15px;
  line-height:1.38;
}

.about-principles {
  background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(247,241,234,.34));
}

.about-principle-card {
  min-height:236px;
  padding:24px 22px;
}

.about-principle-card .about-mini-icon {
  margin-bottom:18px;
}

.about-principle-card h3 {
  font-size:18px;
  min-height:44px;
}

.about-principle-card p {
  font-size:15px;
}

.about-cta-section {
  padding:28px 0 88px;
}

.about-cta-card {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:32px;
  align-items:center;
  padding:42px 46px;
  border-radius:26px;
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, .13), transparent 34%),
    linear-gradient(135deg, var(--about-accent) 0%, var(--about-accent-dark) 100%);
  color:#fff;
  box-shadow:0 24px 70px rgba(143, 36, 36, .18);
}

.about-cta-card h2 {
  max-width:780px;
  margin:0 0 14px;
  font-size:clamp(34px, 3.6vw, 56px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:500;
}

.about-cta-card p {
  max-width:700px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.48;
}

.about-cta-action {
  display:grid;
  gap:12px;
  justify-items:start;
}

.about-premium .about-cta-btn {
  min-width:220px;
  min-height:58px;
  background:#fffaf6;
  color:var(--about-accent-dark);
  border-color:rgba(255,255,255,.72);
  box-shadow:none;
}

.about-cta-action span {
  color:rgba(255,255,255,.72);
  font-size:14px;
  font-weight:700;
}

@media(max-width:1180px) {
  .about-hero-grid {
    grid-template-columns:minmax(0, 1fr) minmax(340px, .75fr);
    gap:30px;
  }

  .about-title {
    font-size:clamp(44px, 5vw, 62px);
  }

  .about-trust-grid,
  .about-card-grid-5 {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .about-stats-panel {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .about-stat-item:nth-child(3) {
    border-right:0;
  }

  .about-stat-item:nth-child(n+4) {
    border-top:1px solid var(--about-line);
  }
}

@media(max-width:1024px) {
  .about-hero-grid,
  .about-cta-card {
    grid-template-columns:1fr;
  }

  .about-hero-visual {
    min-height:500px;
    justify-content:center;
  }

  .about-photo-card {
    right:50%;
    transform:translateX(50%);
    height:450px;
    width:min(88%, 500px);
  }

  .about-photo {
    height:510px;
  }

  .about-card-grid-3 {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .about-cta-action {
    justify-items:start;
  }
}

@media(max-width:760px) {
  .about-hero {
    padding:42px 0 54px;
  }

  .about-title {
    font-size:clamp(38px, 10vw, 52px);
    line-height:1.08;
  }

  .about-lead,
  .about-premium .hp-section-subtitle,
  .about-cta-card p {
    font-size:17px;
  }

  .about-trust-grid,
  .about-card-grid-3,
  .about-card-grid-5 {
    grid-template-columns:1fr;
  }

  .about-trust-card,
  .about-info-card,
  .about-principle-card {
    min-height:auto;
  }

  .about-hero-visual {
    min-height:420px;
  }

  .about-photo-card {
    height:370px;
    border-radius:30px;
  }

  .about-photo {
    height:430px;
  }

  .about-premium .hp-section {
    padding:62px 0;
  }

  .about-premium .hp-section-title {
    font-size:clamp(34px, 9vw, 46px);
  }

  .about-stats-section {
    padding:34px 0 58px;
  }

  .about-stats-panel {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .about-stat-item,
  .about-stat-item:nth-child(3) {
    min-height:126px;
    border-right:1px solid var(--about-line);
    border-top:1px solid var(--about-line);
  }

  .about-stat-item:nth-child(1),
  .about-stat-item:nth-child(2) {
    border-top:0;
  }

  .about-stat-item:nth-child(even) {
    border-right:0;
  }

  .about-stat-item b {
    font-size:26px;
  }

  .about-cta-section {
    padding-bottom:64px;
  }

  .about-cta-card {
    padding:32px 24px;
    border-radius:22px;
  }

  .about-cta-card h2 {
    font-size:clamp(32px, 9vw, 44px);
  }

  .about-cta-btn {
    width:100%;
  }

  .about-cta-action {
    width:100%;
  }
}

@media(max-width:520px) {
  .about-trust-card {
    grid-template-columns:44px 1fr;
    padding:16px;
  }

  .about-hero-visual {
    min-height:350px;
  }

  .about-photo-card {
    height:305px;
    width:94%;
  }

  .about-photo {
    height:360px;
  }

  .about-stats-panel {
    grid-template-columns:1fr;
  }

  .about-stat-item,
  .about-stat-item:nth-child(3),
  .about-stat-item:nth-child(even) {
    border-right:0;
    border-top:1px solid var(--about-line);
  }

  .about-stat-item:first-child {
    border-top:0;
  }
}

/* Header menu alignment and burgundy active state */
.nav {
  gap:28px;
}
.nav a.active,
.nav a:hover {
  color:#A92D2D;
}
.nav a.active:after {
  background:#A92D2D;
  height:1px;
  bottom:18px;
}
.home-premium .nav a.active:after,
.about-premium .nav a.active:after {
  background:#A92D2D;
}

/* Homepage cases: use the same card pattern as cases.html */
.home-premium .home-cases-grid {
  align-items:stretch;
}
.home-premium .home-cases-grid .case-card {
  height:100%;
  padding:28px;
  display:flex;
  flex-direction:column;
}
.home-premium .home-cases-grid .case-thumb {
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
  margin-bottom:20px;
  filter:saturate(.96) contrast(.98);
}
.home-premium .home-cases-grid .card-ico {
  margin-top:2px;
}
.home-premium .home-cases-grid .case-card p {
  flex:1;
}
.home-premium .home-cases-grid .case-card .btn-small {
  align-self:flex-start;
  box-shadow:none;
}

@media(max-width:1024px) {
  .home-premium .home-cases-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media(max-width:760px) {
  .home-premium .home-cases-grid {
    grid-template-columns:1fr;
  }
}

/* CTA / lead form compact composition fix */
.home-premium .hp-form-section {
  padding-top:52px;
  padding-bottom:72px;
}

.home-premium .hp-form-section .container {
  width:min(980px, calc(100% - 48px));
}

.home-premium .hp-form-card {
  max-width:980px;
  grid-template-columns:minmax(0, .95fr) minmax(420px, .82fr);
  gap:32px;
  padding:42px 50px;
}

.home-premium .hp-form-copy .hp-kicker {
  margin-bottom:10px;
}

.home-premium .hp-form-card h2 {
  margin-bottom:14px;
}

.home-premium .hp-form-copy>p:not(.hp-kicker) {
  max-width:500px;
  margin-bottom:18px;
  line-height:1.42;
}

.home-premium .hp-form-benefits {
  gap:9px;
}

.home-premium .hp-form-benefits li {
  gap:12px;
}

.home-premium .hp-form-benefits span {
  width:38px;
  height:38px;
  flex-basis:38px;
}

.home-premium .hp-form {
  max-width:500px;
  gap:10px;
  justify-self:end;
}

.home-premium .hp-form-row {
  gap:10px;
}

.home-premium .hp-form input,
.home-premium .hp-form textarea {
  padding:15px 18px;
  font-size:16px;
}

.home-premium .hp-form textarea {
  min-height:96px;
}

.home-premium .hp-policy {
  line-height:1.35;
}

.home-premium .hp-submit {
  min-height:58px;
  font-size:18px;
}

.home-premium .hp-secure {
  gap:10px;
  margin-top:0;
  font-size:14px;
}

.home-premium .hp-secure img {
  width:24px;
  height:24px;
  flex-basis:24px;
}

@media(max-width:1180px) {
  .home-premium .hp-form-section .container {
    width:min(940px, calc(100% - 48px));
  }

  .home-premium .hp-form-card {
    max-width:940px;
    grid-template-columns:minmax(0, .9fr) minmax(400px, .82fr);
    padding:40px 44px;
    gap:28px;
  }
}

@media(max-width:1024px) {
  .home-premium .hp-form-section .container {
    width:min(var(--container), calc(100% - 48px));
  }

  .home-premium .hp-form-card {
    grid-template-columns:1fr;
    max-width:760px;
  }

  .home-premium .hp-form {
    max-width:none;
    justify-self:stretch;
  }
}

@media(max-width:760px) {
  .home-premium .hp-form-section {
    padding-top:44px;
    padding-bottom:58px;
  }

  .home-premium .hp-form-card {
    padding:30px 22px;
    gap:24px;
  }

  .home-premium .hp-form-row {
    grid-template-columns:1fr;
  }

  .home-premium .hp-form input,
  .home-premium .hp-form textarea {
    padding:14px 16px;
  }

  .home-premium .hp-form textarea {
    min-height:90px;
  }
}

/* CTA / lead form horizontal compact composition v2 */
.home-premium .hp-form-section {
  padding-top:50px;
  padding-bottom:68px;
}

.home-premium .hp-form-section .container {
  width:min(1280px, calc(100% - 48px));
}

.home-premium .hp-form-card {
  max-width:1280px;
  grid-template-columns:minmax(0, .82fr) minmax(430px, .95fr) 190px;
  align-items:center;
  gap:24px;
  padding:32px 42px;
}

.home-premium .hp-form-copy {
  align-self:center;
}

.home-premium .hp-form-copy .hp-kicker {
  margin-bottom:7px;
}

.home-premium .hp-form-card h2 {
  max-width:560px;
  margin-bottom:10px;
  font-size:clamp(38px, 3.4vw, 58px);
  line-height:1.03;
}

.home-premium .hp-form-copy>p:not(.hp-kicker) {
  max-width:520px;
  margin-bottom:14px;
  font-size:18px;
  line-height:1.38;
}

.home-premium .hp-form-benefits {
  gap:7px;
  font-size:16px;
}

.home-premium .hp-form-benefits li {
  gap:10px;
}

.home-premium .hp-form-benefits span {
  width:34px;
  height:34px;
  flex-basis:34px;
}

.home-premium .hp-form {
  max-width:490px;
  gap:8px;
  justify-self:end;
}

.home-premium .hp-form-row {
  gap:8px;
}

.home-premium .hp-form input,
.home-premium .hp-form textarea {
  padding:12px 16px;
  font-size:16px;
}

.home-premium .hp-form textarea {
  min-height:76px;
}

.home-premium .hp-policy {
  line-height:1.28;
  font-size:13px;
}

.home-premium .hp-submit {
  min-height:54px;
}

.home-premium .hp-secure {
  gap:8px;
  margin-top:-1px;
  font-size:13px;
  line-height:1.3;
}

.home-premium .hp-secure img {
  width:22px;
  height:22px;
  flex-basis:22px;
}

.home-premium .hp-form-visual {
  justify-self:end;
  align-self:center;
  width:190px;
  max-height:318px;
  pointer-events:none;
}

.home-premium .hp-form-visual img {
  display:block;
  width:100%;
  height:auto;
  max-height:318px;
  object-fit:contain;
}

@media(max-width:1180px) {
  .home-premium .hp-form-section .container {
    width:min(1120px, calc(100% - 48px));
  }

  .home-premium .hp-form-card {
    grid-template-columns:minmax(0, .86fr) minmax(410px, .95fr) 150px;
    gap:20px;
    padding:32px 36px;
  }

  .home-premium .hp-form-visual {
    width:150px;
    max-height:278px;
  }

  .home-premium .hp-form-visual img {
    max-height:278px;
  }
}

@media(max-width:1024px) {
  .home-premium .hp-form-section .container {
    width:min(var(--container), calc(100% - 48px));
  }

  .home-premium .hp-form-card {
    grid-template-columns:1fr;
    max-width:760px;
    padding:38px 40px;
  }

  .home-premium .hp-form {
    max-width:none;
    justify-self:stretch;
  }

  .home-premium .hp-form-visual {
    display:none;
  }
}

@media(max-width:760px) {
  .home-premium .hp-form-section {
    padding-top:44px;
    padding-bottom:58px;
  }

  .home-premium .hp-form-card {
    padding:30px 22px;
    gap:22px;
  }

  .home-premium .hp-form-card h2 {
    font-size:clamp(34px, 10vw, 44px);
  }

  .home-premium .hp-form-copy>p:not(.hp-kicker) {
    font-size:16px;
  }

  .home-premium .hp-form-row {
    grid-template-columns:1fr;
  }

  .home-premium .hp-form textarea {
    min-height:88px;
  }
}

/* Homepage combined Services + Cases block */
.home-premium .hp-services-cases {
  padding-top:72px;
  padding-bottom:76px;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(247,241,234,.34));
}

.home-premium .hp-combined-panel {
  border:1px solid var(--home-border);
  border-radius:34px;
  background:rgba(255,255,255,.72);
  padding:52px;
  box-shadow:0 18px 45px rgba(64, 44, 34, .055);
}

.home-premium .hp-combined-head {
  margin-bottom:42px;
}

.home-premium .hp-combined-group + .hp-combined-group {
  margin-top:42px;
  padding-top:42px;
  border-top:1px solid var(--home-border);
}

.home-premium .hp-combined-subhead {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:22px;
}

.home-premium .hp-combined-subhead h3 {
  margin:0;
  color:var(--home-ink);
  font-size:clamp(28px, 2.3vw, 38px);
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.03em;
}

.home-premium .hp-combined-subhead p {
  max-width:560px;
  margin:0;
  color:var(--home-muted);
  font-size:17px;
  line-height:1.45;
  text-align:right;
}

.home-premium .hp-services-cases .hp-services-grid,
.home-premium .hp-services-cases .home-cases-grid {
  margin-top:0;
}

@media(max-width:1024px) {
  .home-premium .hp-combined-panel {
    padding:42px 32px;
  }

  .home-premium .hp-combined-subhead {
    display:block;
  }

  .home-premium .hp-combined-subhead p {
    max-width:720px;
    margin-top:10px;
    text-align:left;
  }
}

@media(max-width:760px) {
  .home-premium .hp-services-cases {
    padding-top:54px;
    padding-bottom:58px;
  }

  .home-premium .hp-combined-panel {
    border-radius:26px;
    padding:30px 18px;
  }

  .home-premium .hp-combined-head {
    margin-bottom:30px;
  }

  .home-premium .hp-combined-group + .hp-combined-group {
    margin-top:30px;
    padding-top:30px;
  }
}

/* About page: updated experience and timeline */
.about-experience-head {
  text-align:center;
  margin-bottom:24px;
}

.about-experience-panel {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-bottom:52px;
}

.about-experience-item {
  min-height:132px;
  padding:24px 22px;
  border:1px solid var(--about-line);
  border-radius:22px;
  background:rgba(255, 253, 249, .9);
  box-shadow:0 16px 44px rgba(65, 42, 29, .055);
}

.about-experience-item b {
  display:block;
  margin-bottom:10px;
  color:var(--about-accent);
  font-size:clamp(24px, 2vw, 32px);
  line-height:1.08;
  letter-spacing:-.035em;
}

.about-experience-item span {
  display:block;
  color:var(--about-muted);
  font-size:15px;
  line-height:1.42;
}

.about-timeline-block {
  position:relative;
  padding:38px 34px 34px;
  border:1px solid var(--about-line);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,250,246,.86));
  box-shadow:0 18px 52px rgba(65, 42, 29, .06);
  overflow:hidden;
}

.about-timeline-block:before {
  content:"";
  position:absolute;
  right:-120px;
  top:-160px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(169,45,45,.09), transparent 66%);
  pointer-events:none;
}

.about-timeline-head {
  position:relative;
  z-index:1;
  max-width:760px;
  margin-bottom:36px;
}

.about-timeline-head .hp-kicker {
  margin-bottom:12px;
}

.about-timeline-head .hp-section-title {
  margin:0;
  font-size:clamp(34px, 3.2vw, 52px);
}

.about-timeline {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:18px;
}

.about-timeline:before {
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:18px;
  height:2px;
  background:linear-gradient(90deg, rgba(169,45,45,.18), rgba(169,45,45,.72), rgba(169,45,45,.18));
}

.about-timeline-item {
  position:relative;
  min-width:0;
}

.about-timeline-point {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:38px;
  margin-bottom:18px;
}

.about-timeline-point:before {
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--about-accent);
  box-shadow:0 0 0 8px rgba(169,45,45,.11);
}

.about-timeline-point span {
  position:absolute;
  top:-30px;
  color:var(--about-accent-dark);
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}

.about-timeline-card {
  min-height:178px;
  padding:22px 20px;
  border:1px solid rgba(232,225,218,.9);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 38px rgba(65, 42, 29, .052);
}

.about-timeline-card h3 {
  margin:0 0 10px;
  color:var(--about-ink);
  font-size:18px;
  line-height:1.18;
  letter-spacing:-.015em;
}

.about-timeline-card p {
  margin:0;
  color:var(--about-muted);
  font-size:14.5px;
  line-height:1.44;
}

@media(max-width:1180px) {
  .about-experience-panel {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .about-timeline {
    grid-template-columns:1fr;
    gap:16px;
    padding-left:32px;
  }

  .about-timeline:before {
    left:10px;
    right:auto;
    top:8px;
    bottom:8px;
    width:2px;
    height:auto;
    background:linear-gradient(180deg, rgba(169,45,45,.18), rgba(169,45,45,.72), rgba(169,45,45,.18));
  }

  .about-timeline-item {
    display:grid;
    grid-template-columns:40px 1fr;
    gap:14px;
    align-items:start;
  }

  .about-timeline-point {
    height:100%;
    min-height:110px;
    margin:0;
    align-items:flex-start;
    padding-top:14px;
  }

  .about-timeline-point span {
    position:static;
    transform:none;
    margin-top:30px;
    writing-mode:vertical-rl;
    text-orientation:mixed;
  }

  .about-timeline-card {
    min-height:auto;
  }
}

@media(max-width:760px) {
  .about-experience-panel {
    grid-template-columns:1fr;
    margin-bottom:38px;
  }

  .about-experience-item {
    min-height:auto;
    padding:22px 20px;
  }

  .about-timeline-block {
    padding:32px 22px 24px;
    border-radius:24px;
  }

  .about-timeline-head {
    margin-bottom:30px;
  }

  .about-timeline {
    padding-left:26px;
  }

  .about-timeline-item {
    grid-template-columns:30px 1fr;
    gap:12px;
  }

  .about-timeline-point:before {
    width:16px;
    height:16px;
    box-shadow:0 0 0 7px rgba(169,45,45,.1);
  }
}

/* Contacts page: compact premium contact cards */
.contact-grid {
  align-items:stretch;
}

.contact-grid .contact-card {
  min-height:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px;
  background:#FFFFFF;
  border:1px solid #E8E1DA;
  border-radius:20px;
  box-shadow:0 14px 38px rgba(70, 36, 28, .06);
}

.contact-grid .contact-card .card-ico {
  background:#F3E7E3;
  border:1px solid rgba(169, 45, 45, .14);
  margin-bottom:16px;
}

.contact-grid .contact-card .card-ico img {
  filter:saturate(.85) hue-rotate(330deg) brightness(.78);
}

.contact-grid .contact-card h3 {
  margin:0 0 14px;
  color:#111315;
}

.contact-grid .contact-main {
  margin:0 0 6px;
  color:#A92D2D;
  font-weight:800;
  font-size:18px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.contact-grid .contact-note {
  margin:0;
  color:#5F6268;
  font-size:15px;
  line-height:1.45;
}


/* Materials lead magnet modal */
.lead-magnet-card {
  background:linear-gradient(135deg, #fff, #fffaf7 58%, #f7eee9);
  border-color:#eaded5;
  padding:34px;
}

.lead-magnet-card .section-title {
  margin:10px 0 14px;
}

.lead-magnet-card .leadmagnet-open {
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font:inherit;
}

.leadmagnet-modal {
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}

.leadmagnet-modal.is-open {
  opacity:1;
  pointer-events:auto;
}

.leadmagnet-backdrop {
  position:absolute;
  inset:0;
  background:rgba(17, 19, 21, .42);
  backdrop-filter:blur(4px);
}

.leadmagnet-dialog {
  position:relative;
  width:min(100%, 560px);
  background:#fff;
  border:1px solid #e8e1da;
  border-radius:24px;
  box-shadow:0 26px 70px rgba(35, 24, 20, .18);
  padding:34px;
}

.leadmagnet-close {
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border:1px solid #e8e1da;
  border-radius:999px;
  background:#fbf9f6;
  color:var(--accent);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.leadmagnet-dialog .section-title {
  margin:8px 42px 12px 0;
}

.leadmagnet-text {
  margin:0 0 20px;
  color:#5f6268;
  line-height:1.55;
}

.leadmagnet-form {
  display:grid;
  gap:12px;
}

.leadmagnet-policy {
  margin-top:2px;
}

.leadmagnet-success {
  margin:2px 0 0;
  color:var(--accent);
  font-weight:800;
}

body.modal-open {
  overflow:hidden;
}

@media (max-width:640px) {
  .leadmagnet-modal {
    padding:16px;
  }

  .leadmagnet-dialog {
    padding:26px 20px 22px;
    border-radius:20px;
  }

  .leadmagnet-dialog .section-title {
    margin-right:36px;
  }
}

/* Contacts page redesign: beige-bordeaux premium style */
body.contacts-page {
  background:linear-gradient(180deg, #FBF9F6 0%, #FAF8F5 62%, #F3E7E3 100%);
}

body.contacts-page .page-hero.inner-page-hero {
  background:linear-gradient(135deg, #FBF9F6 0%, #FFFFFF 54%, #F3E7E3 100%);
  border-bottom:1px solid #E8E1DA;
  overflow:hidden;
}

body.contacts-page .page-hero.inner-page-hero .eyebrow {
  color:#A92D2D;
}

body.contacts-page .page-hero.inner-page-hero .h1 {
  color:#111315;
  letter-spacing:-.035em;
}

body.contacts-page .page-hero.inner-page-hero .accent {
  color:#8F2424;
}

body.contacts-page .page-hero.inner-page-hero .lead {
  color:#5F6268;
  max-width:620px;
}

body.contacts-page .inner-page-hero .inner-page-hero-image {
  height:470px;
  transform:translateY(38px);
}

body.contacts-page .inner-page-hero .hero-circle {
  right:12px;
  bottom:0;
  width:500px;
  height:500px;
  border-radius:42px;
  background:linear-gradient(145deg, #F3E7E3 0%, #FBF9F6 58%, rgba(255,255,255,.72) 100%);
  border:1px solid #E8E1DA;
  box-shadow:0 28px 70px rgba(70,36,28,.10);
  transform:rotate(-2deg);
}

body.contacts-page .inner-page-hero .hero-photo,
body.contacts-page .inner-page-hero .inner-page-hero-image img {
  max-height:455px;
  object-position:center bottom;
  filter:drop-shadow(0 26px 44px rgba(45, 20, 15, .16));
}

body.contacts-page .contact-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
  align-items:stretch;
}

body.contacts-page .contact-grid .contact-card {
  min-height:100%;
  height:100%;
  padding:28px 24px;
  background:rgba(255,255,255,.92);
  border:1px solid #E8E1DA;
  border-radius:22px;
  box-shadow:0 16px 44px rgba(70,36,28,.07);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

body.contacts-page .contact-grid .contact-card .card-ico {
  width:52px;
  height:52px;
  border-radius:16px;
  background:#F3E7E3;
  border:1px solid rgba(169,45,45,.16);
  margin:0 0 16px;
}

body.contacts-page .contact-grid .contact-card .card-ico img {
  width:27px;
  height:27px;
  filter:saturate(.72) hue-rotate(330deg) brightness(.68);
}

body.contacts-page .contact-grid .contact-card h3 {
  margin:0 0 13px;
  color:#111315;
  font-size:20px;
  line-height:1.2;
}

body.contacts-page .contact-grid .contact-main {
  margin:0 0 6px;
  color:#8F2424;
  font-size:17px;
  font-weight:800;
  line-height:1.28;
  overflow-wrap:anywhere;
}

body.contacts-page .contact-grid .contact-note {
  margin:0;
  color:#5F6268;
  font-size:14px;
  line-height:1.42;
}

body.contacts-page .card,
body.contacts-page .next-box,
body.contacts-page .cta {
  border-color:#E8E1DA;
  box-shadow:0 16px 44px rgba(70,36,28,.07);
}

body.contacts-page .next-dot,
body.contacts-page .card-ico {
  background:#F3E7E3;
  border:1px solid rgba(169,45,45,.14);
}

body.contacts-page .next-dot img,
body.contacts-page .card-ico img {
  filter:saturate(.72) hue-rotate(330deg) brightness(.68);
}

@media(max-width:1024px) {
  body.contacts-page .contact-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.contacts-page .inner-page-hero .inner-page-hero-image {
    height:430px;
    transform:translateY(36px);
  }

  body.contacts-page .inner-page-hero .hero-circle {
    right:50%;
    width:460px;
    height:460px;
    transform:translateX(50%) rotate(-2deg);
  }

  body.contacts-page .inner-page-hero .hero-photo,
  body.contacts-page .inner-page-hero .inner-page-hero-image img {
    max-height:420px;
  }
}

@media(max-width:640px) {
  body.contacts-page .contact-grid {
    grid-template-columns:1fr;
  }

  body.contacts-page .page-hero.inner-page-hero {
    padding-bottom:30px;
  }

  body.contacts-page .inner-page-hero .inner-page-hero-image {
    height:350px;
    transform:none;
  }

  body.contacts-page .inner-page-hero .hero-circle {
    width:330px;
    height:330px;
    border-radius:34px;
  }

  body.contacts-page .inner-page-hero .hero-photo,
  body.contacts-page .inner-page-hero .inner-page-hero-image img {
    max-height:340px;
  }

  body.contacts-page .contact-grid .contact-card {
    padding:24px;
  }
}


/* Materials page redesign: beige-bordeaux premium style */
body.materials-page {
  background:linear-gradient(180deg, #FBF9F6 0%, #FAF8F5 58%, #F3E7E3 100%);
}

body.materials-page .page-hero.inner-page-hero {
  background:linear-gradient(135deg, #FBF9F6 0%, #FFFFFF 52%, #F3E7E3 100%);
  border-bottom:1px solid #E8E1DA;
  overflow:hidden;
}

body.materials-page .page-hero.inner-page-hero .eyebrow,
body.materials-page .card small,
body.materials-page .link-more,
body.materials-page .download-link,
body.materials-page .leadmagnet-close,
body.materials-page .leadmagnet-success {
  color:#A92D2D;
}

body.materials-page .page-hero.inner-page-hero .h1,
body.materials-page .section-title,
body.materials-page .card h3 {
  color:#111315;
}

body.materials-page .page-hero.inner-page-hero .lead,
body.materials-page .page-hero.inner-page-hero .accent,
body.materials-page .section-lead,
body.materials-page .card p,
body.materials-page .leadmagnet-text {
  color:#5F6268;
}

body.materials-page .pill {
  background:rgba(255,255,255,.86);
  border-color:#E8E1DA;
  color:#8F2424;
  box-shadow:0 10px 26px rgba(70,36,28,.04);
}

body.materials-page .inner-page-hero .inner-page-hero-image {
  height:470px;
  transform:none;
}

body.materials-page .inner-page-hero .hero-circle {
  right:10px;
  bottom:0;
  width:510px;
  height:510px;
  border-radius:42px;
  background:linear-gradient(145deg, #F3E7E3 0%, #FBF9F6 58%, rgba(255,255,255,.72) 100%);
  border:1px solid #E8E1DA;
  box-shadow:0 28px 70px rgba(70,36,28,.10);
  transform:rotate(-2deg);
}

body.materials-page .inner-page-hero .hero-photo,
body.materials-page .inner-page-hero .inner-page-hero-image img {
  max-height:455px;
  object-position:center bottom;
  filter:drop-shadow(0 26px 44px rgba(45,20,15,.16));
}

body.materials-page .feature-strip {
  background:rgba(255,255,255,.92);
  border-color:#E8E1DA;
  box-shadow:0 18px 48px rgba(70,36,28,.07);
}

body.materials-page .feature-strip .stat {
  border-right-color:#E8E1DA;
}

body.materials-page .feature-strip .stat img,
body.materials-page .card-ico img {
  filter:saturate(.72) hue-rotate(330deg) brightness(.68);
}

body.materials-page .feature-strip .stat strong {
  color:#111315;
}

body.materials-page .feature-strip .stat span {
  color:#5F6268;
}

body.materials-page .card,
body.materials-page .leadmagnet-dialog,
body.materials-page .cta {
  background:rgba(255,255,255,.92);
  border-color:#E8E1DA;
  box-shadow:0 16px 44px rgba(70,36,28,.07);
}

body.materials-page .card:hover {
  border-color:rgba(169,45,45,.24);
  box-shadow:0 22px 58px rgba(70,36,28,.10);
}

body.materials-page .card-ico {
  background:#F3E7E3;
  border:1px solid rgba(169,45,45,.14);
}

body.materials-page .lead-magnet-card {
  background:linear-gradient(135deg, #FFFFFF 0%, #FBF9F6 55%, #F3E7E3 100%);
  border-color:#E8E1DA;
}

body.materials-page .lead-magnet-card .leadmagnet-open,
body.materials-page .btn {
  background:#A92D2D;
  border-color:#A92D2D;
  color:#FFFFFF;
  box-shadow:0 16px 32px rgba(169,45,45,.18);
}

body.materials-page .lead-magnet-card .leadmagnet-open {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:9px;
  padding:13px 22px;
  font-weight:850;
  margin-top:20px;
}

body.materials-page .lead-magnet-card .leadmagnet-open:hover,
body.materials-page .btn:hover {
  background:#8F2424;
  border-color:#8F2424;
  box-shadow:0 20px 38px rgba(143,36,36,.24);
}

body.materials-page .link-more:hover,
body.materials-page .download-link:hover {
  color:#8F2424;
}

body.materials-page input,
body.materials-page textarea {
  border-color:#E8E1DA;
  background:#FFFFFF;
}

body.materials-page input:focus,
body.materials-page textarea:focus {
  border-color:rgba(169,45,45,.42);
  box-shadow:0 0 0 4px rgba(169,45,45,.08);
}

body.materials-page .checkbox {
  background:#A92D2D;
}

body.materials-page .leadmagnet-backdrop {
  background:rgba(17,19,21,.42);
}

body.materials-page .leadmagnet-close {
  background:#FBF9F6;
  border-color:#E8E1DA;
}

body.materials-page .cta {
  background:linear-gradient(135deg, #FFFFFF 0%, #FBF9F6 60%, #F3E7E3 100%);
}

@media(max-width:1024px) {
  body.materials-page .inner-page-hero .inner-page-hero-image {
    height:430px;
  }

  body.materials-page .inner-page-hero .hero-circle {
    right:50%;
    width:460px;
    height:460px;
    transform:translateX(50%) rotate(-2deg);
  }

  body.materials-page .inner-page-hero .hero-photo,
  body.materials-page .inner-page-hero .inner-page-hero-image img {
    max-height:420px;
  }
}

@media(max-width:640px) {
  body.materials-page .page-hero.inner-page-hero {
    padding-bottom:30px;
  }

  body.materials-page .inner-page-hero .inner-page-hero-image {
    height:350px;
  }

  body.materials-page .inner-page-hero .hero-circle {
    width:330px;
    height:330px;
    border-radius:34px;
  }

  body.materials-page .inner-page-hero .hero-photo,
  body.materials-page .inner-page-hero .inner-page-hero-image img {
    max-height:340px;
  }
}


/* Targeted refinements: contacts hero, contacts CTA blocks, materials label/logo/icons */
@media (min-width: 1025px) {
  body.contacts-page .page-hero.inner-page-hero .h1 {
    white-space: nowrap;
  }
}

body.contacts-page .brand-mark,
body.materials-page .brand-mark {
  color: #A92D2D;
}

body.contacts-page .next-box {
  background:
    linear-gradient(135deg, rgba(169, 45, 45, .085) 0%, rgba(143, 36, 36, .052) 45%, rgba(243, 231, 227, .72) 100%),
    rgba(255, 255, 255, .76);
  border: 1px solid rgba(169, 45, 45, .13);
}

body.contacts-page .next-item:not(:last-child):before {
  background: rgba(169, 45, 45, .22);
}

body.contacts-page .cta.cta-dark {
  background: linear-gradient(135deg, #A92D2D 0%, #8F2424 100%);
  border-color: rgba(143, 36, 36, .42);
  box-shadow: 0 22px 56px rgba(143, 36, 36, .20);
}

body.contacts-page .next-dot img,
body.contacts-page .card-ico img,
body.materials-page .feature-strip .stat img,
body.materials-page .card-ico img {
  filter: brightness(0) saturate(100%) invert(31%) sepia(42%) saturate(1542%) hue-rotate(325deg) brightness(91%) contrast(89%);
  opacity: .82;
}

body.contacts-page .cta.cta-dark .card-ico img {
  filter: brightness(0) invert(1);
  opacity: .92;
}


/* Materials page point refinements: label, logo and softer feature icons */
body.materials-page .brand-mark {
  color: #AA2B26;
}

body.materials-page .feature-strip .stat > img {
  background: rgba(169, 45, 45, .075);
  border: 1px solid rgba(169, 45, 45, .10);
  filter: brightness(0) saturate(100%) invert(33%) sepia(34%) saturate(1120%) hue-rotate(322deg) brightness(95%) contrast(86%);
  opacity: .64;
}

body.materials-page .card-ico img {
  filter: brightness(0) saturate(100%) invert(33%) sepia(34%) saturate(1120%) hue-rotate(322deg) brightness(95%) contrast(86%);
  opacity: .7;
}


/* Materials page final color fixes */
body.materials-page .lead-magnet-card .leadmagnet-open,
body.materials-page .lead-magnet-card .leadmagnet-open:visited,
body.materials-page .lead-magnet-card .leadmagnet-open:focus,
body.materials-page .lead-magnet-card .leadmagnet-open:active {
  background:#AA2B26;
  border-color:#AA2B26;
  color:#FFFFFF;
  text-decoration:none;
  outline:none;
}

body.materials-page .lead-magnet-card .leadmagnet-open:hover {
  background:#8F211E;
  border-color:#8F211E;
  color:#FFFFFF;
  box-shadow:0 20px 38px rgba(143,33,30,.24);
}

body.materials-page .btn,
body.materials-page .btn:visited,
body.materials-page .btn:focus,
body.materials-page .btn:active {
  background:#AA2B26;
  border-color:#AA2B26;
  color:#FFFFFF;
}

body.materials-page .btn:hover {
  background:#8F211E;
  border-color:#8F211E;
  color:#FFFFFF;
}

body.materials-page .link-more,
body.materials-page .download-link,
body.materials-page .leadmagnet-dialog .eyebrow,
body.materials-page .leadmagnet-success {
  color:#AA2B26;
}

body.materials-page .link-more:hover,
body.materials-page .download-link:hover {
  color:#8F211E;
}

body.materials-page .checkbox {
  background:#AA2B26;
}

body.materials-page .policy:hover .checkbox {
  box-shadow:0 0 0 4px rgba(170,43,38,.10);
}

body.materials-page .feature-strip .stat > img {
  background:rgba(170,43,38,.06);
  border:1px solid rgba(170,43,38,.09);
  filter:brightness(0) saturate(100%) invert(30%) sepia(28%) saturate(1050%) hue-rotate(322deg) brightness(102%) contrast(84%);
  opacity:.58;
}


/* Methodology page redesign: scoped beige-bordeaux premium style */
body.methodology-page {
  --method-bg:#FBF9F6;
  --method-card:#FFFFFF;
  --method-ink:#111315;
  --method-muted:#5F6268;
  --method-line:#E8E1DA;
  --method-accent:#AA2B26;
  --method-accent-dark:#8F211E;
  --method-soft:#F3E7E3;
  background:linear-gradient(180deg, #FBF9F6 0%, #FAF8F5 58%, #F3E7E3 100%);
  color:var(--method-ink);
}

body.methodology-page .brand-mark,
body.methodology-page .nav a.active,
body.methodology-page .nav a:hover,
body.methodology-page .eyebrow,
body.methodology-page .link-more,
body.methodology-page .step-num {
  color:var(--method-accent);
}

body.methodology-page .nav a.active:after {
  background:var(--method-accent);
}

body.methodology-page .site-header {
  background:rgba(255,255,255,.88);
  border-bottom-color:rgba(232,225,218,.86);
}

body.methodology-page .page-hero.inner-page-hero {
  background:linear-gradient(135deg, #FBF9F6 0%, #FFFFFF 52%, #F3E7E3 100%);
  border-bottom:1px solid var(--method-line);
  overflow:hidden;
}

body.methodology-page .page-hero.inner-page-hero .h1,
body.methodology-page .section-title,
body.methodology-page .card h3,
body.methodology-page .step h3 {
  color:var(--method-ink);
}

body.methodology-page .page-hero.inner-page-hero .lead,
body.methodology-page .page-hero.inner-page-hero .accent,
body.methodology-page .page-hero.inner-page-hero .text,
body.methodology-page .card p,
body.methodology-page .step p,
body.methodology-page .feature-strip .stat span {
  color:var(--method-muted);
}

body.methodology-page .inner-page-hero .inner-page-hero-image {
  height:470px;
  transform:none;
}

body.methodology-page .inner-page-hero .hero-circle {
  right:10px;
  bottom:0;
  width:510px;
  height:510px;
  border-radius:42px;
  background:linear-gradient(145deg, #F3E7E3 0%, #FBF9F6 58%, rgba(255,255,255,.76) 100%);
  border:1px solid var(--method-line);
  box-shadow:0 28px 70px rgba(70,36,28,.10);
  transform:rotate(-2deg);
}

body.methodology-page .inner-page-hero .hero-photo,
body.methodology-page .inner-page-hero .inner-page-hero-image img {
  max-height:455px;
  object-position:center bottom;
  filter:drop-shadow(0 26px 44px rgba(45,20,15,.16));
}

body.methodology-page .feature-strip {
  background:rgba(255,255,255,.92);
  border-color:var(--method-line);
  box-shadow:0 18px 48px rgba(70,36,28,.07);
}

body.methodology-page .feature-strip .stat {
  border-right-color:var(--method-line);
}

body.methodology-page .feature-strip .stat strong {
  color:var(--method-ink);
}

body.methodology-page .feature-strip .stat img {
  opacity:.76;
  filter:saturate(.72) hue-rotate(330deg) brightness(.82);
}

body.methodology-page .card,
body.methodology-page .step,
body.methodology-page .cta {
  background:rgba(255,255,255,.94);
  border-color:var(--method-line);
  box-shadow:0 16px 44px rgba(70,36,28,.07);
}

body.methodology-page .card:hover,
body.methodology-page .step:hover {
  border-color:rgba(170,43,38,.24);
  box-shadow:0 22px 58px rgba(70,36,28,.10);
}

body.methodology-page .card-ico,
body.methodology-page .mini-ico {
  background:var(--method-soft);
  border:1px solid rgba(170,43,38,.14);
  box-shadow:none;
}

body.methodology-page .card-ico img,
body.methodology-page .mini-ico img {
  opacity:.82;
  filter:saturate(.78) hue-rotate(330deg) brightness(.78);
}

body.methodology-page .step-num {
  background:var(--method-soft);
  border:1px solid rgba(170,43,38,.14);
  box-shadow:none;
}

body.methodology-page .step:not(:last-child):after {
  background:linear-gradient(90deg, rgba(170,43,38,.28), rgba(232,225,218,.72));
}

body.methodology-page .cta {
  background:linear-gradient(135deg, #FFFFFF 0%, #FBF9F6 58%, #F3E7E3 100%);
}

body.methodology-page .btn,
body.methodology-page .cta .btn,
body.methodology-page button.btn {
  background:var(--method-accent);
  border-color:var(--method-accent);
  color:#FFFFFF;
  box-shadow:0 16px 32px rgba(170,43,38,.18);
}

body.methodology-page .btn:hover,
body.methodology-page .cta .btn:hover,
body.methodology-page button.btn:hover,
body.methodology-page .btn:focus-visible {
  background:var(--method-accent-dark);
  border-color:var(--method-accent-dark);
  color:#FFFFFF;
  box-shadow:0 20px 38px rgba(143,33,30,.22);
}

body.methodology-page input,
body.methodology-page textarea {
  border-color:var(--method-line);
  background:#FFFFFF;
}

body.methodology-page input:hover,
body.methodology-page textarea:hover {
  border-color:rgba(170,43,38,.26);
}

body.methodology-page input:focus,
body.methodology-page textarea:focus {
  border-color:var(--method-accent);
  box-shadow:0 0 0 4px rgba(170,43,38,.10);
}

body.methodology-page .checkbox {
  background:var(--method-accent);
}

body.methodology-page .policy img {
  opacity:.68;
  filter:saturate(.72) hue-rotate(330deg) brightness(.8);
}

@media(max-width:1024px) {
  body.methodology-page .inner-page-hero .inner-page-hero-image {
    height:430px;
  }

  body.methodology-page .inner-page-hero .hero-circle {
    right:50%;
    width:500px;
    height:500px;
    transform:translateX(50%) rotate(-2deg);
  }

  body.methodology-page .inner-page-hero .hero-photo,
  body.methodology-page .inner-page-hero .inner-page-hero-image img {
    max-height:430px;
  }
}

@media(max-width:640px) {
  body.methodology-page .inner-page-hero .inner-page-hero-image {
    height:360px;
  }

  body.methodology-page .inner-page-hero .hero-circle {
    width:390px;
    height:390px;
  }

  body.methodology-page .inner-page-hero .hero-photo,
  body.methodology-page .inner-page-hero .inner-page-hero-image img {
    max-height:360px;
  }
}

/* Global button color update: firm bordeaux instead of old pink */
.btn:not(.btn-outline),
.header-cta,
button[type="submit"],
input[type="submit"] {
  background:#aa2b26;
  border-color:#aa2b26;
  color:#fff;
  box-shadow:0 16px 30px rgba(170, 43, 38, .20);
}

.btn:not(.btn-outline):hover,
.header-cta:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.btn:not(.btn-outline):focus,
.header-cta:focus,
button[type="submit"]:focus,
input[type="submit"]:focus,
.btn:not(.btn-outline):active,
.header-cta:active,
button[type="submit"]:active,
input[type="submit"]:active {
  background:#8f211e;
  border-color:#8f211e;
  color:#fff;
  box-shadow:0 20px 36px rgba(143, 33, 30, .26);
}

.btn.btn-outline {
  border-color:#aa2b26;
  color:#aa2b26;
}

.btn.btn-outline:hover,
.btn.btn-outline:focus,
.btn.btn-outline:active {
  background:rgba(170, 43, 38, .08);
  border-color:#8f211e;
  color:#8f211e;
}

input[type="checkbox"] {
  accent-color:#aa2b26;
}

/* Contacts result CTA: larger left icon only in “Нацелен на результат” block */
body.contacts-page .cta.cta-dark > .card-ico {
  width:72px;
  height:72px;
  border-radius:18px;
  margin-bottom:0;
}

body.contacts-page .cta.cta-dark > .card-ico img,
body.contacts-page .cta.cta-dark > .card-ico svg {
  width:38px;
  height:38px;
}

@media(max-width:640px) {
  body.contacts-page .cta.cta-dark > .card-ico {
    width:64px;
    height:64px;
    border-radius:16px;
  }

  body.contacts-page .cta.cta-dark > .card-ico img,
  body.contacts-page .cta.cta-dark > .card-ico svg {
    width:34px;
    height:34px;
  }
}

/* Unique hero visuals per page: one page = one local image + one decorative backdrop */
.about-hero--about .about-photo-card {
  right: 8px;
  width: min(94%, 500px);
  height: 492px;
  border-radius: 44px;
  background:
    radial-gradient(circle at 72% 34%, rgba(170,43,38,.10), transparent 36%),
    linear-gradient(142deg, #F5ECE5 0%, #EAD8C8 100%);
  transform: rotate(-1.5deg);
}

body.services-page .page-hero--services .hero-circle {
  right: 16px;
  bottom: 6px;
  width: 520px;
  height: 500px;
  border-radius: 46px 70px 42px 58px;
  background:
    radial-gradient(circle at 34% 28%, rgba(170,43,38,.08), transparent 34%),
    linear-gradient(150deg, #F7EFE8 0%, #EBDCCA 58%, rgba(255,255,255,.78) 100%);
  border: 1px solid rgba(232,225,218,.92);
  box-shadow: 0 28px 72px rgba(70,36,28,.10);
  transform: rotate(2.5deg);
}

body.cases-page .page-hero--cases .hero-circle {
  right: -4px;
  bottom: 14px;
  width: 535px;
  height: 488px;
  border-radius: 58px 42px 72px 46px;
  background:
    radial-gradient(circle at 70% 38%, rgba(170,43,38,.09), transparent 36%),
    linear-gradient(132deg, #F4E7DF 0%, #FBF9F6 54%, #E8D7C8 100%);
  border: 1px solid rgba(232,225,218,.9);
  box-shadow: 0 26px 68px rgba(70,36,28,.09);
  transform: rotate(-3deg);
}

body.methodology-page .page-hero--methodology .hero-circle {
  right: 22px;
  bottom: 2px;
  width: 500px;
  height: 520px;
  border-radius: 72px 44px 54px 44px;
  background:
    radial-gradient(circle at 42% 30%, rgba(170,43,38,.10), transparent 35%),
    linear-gradient(155deg, #F2E5DC 0%, #FBF9F6 56%, #EAD7C8 100%);
  border: 1px solid rgba(232,225,218,.92);
  box-shadow: 0 30px 76px rgba(70,36,28,.10);
  transform: rotate(1.75deg);
}

body.materials-page .page-hero--materials .hero-circle {
  right: 2px;
  bottom: 10px;
  width: 520px;
  height: 492px;
  border-radius: 42px 78px 50px 62px;
  background:
    radial-gradient(circle at 60% 28%, rgba(170,43,38,.08), transparent 36%),
    linear-gradient(145deg, #F6EEE7 0%, #FFFFFF 54%, #EADACC 100%);
  border: 1px solid rgba(232,225,218,.92);
  box-shadow: 0 28px 70px rgba(70,36,28,.10);
  transform: rotate(-1deg);
}

body.contacts-page .page-hero--contacts .hero-circle {
  right: 14px;
  bottom: 2px;
  width: 505px;
  height: 505px;
  border-radius: 54px 44px 68px 48px;
  background:
    radial-gradient(circle at 30% 34%, rgba(170,43,38,.09), transparent 35%),
    linear-gradient(138deg, #F3E7E3 0%, #FBF9F6 58%, #E7D6C7 100%);
  border: 1px solid rgba(232,225,218,.92);
  box-shadow: 0 28px 70px rgba(70,36,28,.10);
  transform: rotate(2deg);
}

@media (max-width: 1024px) {
  .about-hero--about .about-photo-card,
  body.services-page .page-hero--services .hero-circle,
  body.cases-page .page-hero--cases .hero-circle,
  body.methodology-page .page-hero--methodology .hero-circle,
  body.materials-page .page-hero--materials .hero-circle,
  body.contacts-page .page-hero--contacts .hero-circle {
    right: 50%;
    width: 470px;
    height: 470px;
    transform: translateX(50%) rotate(-1deg);
  }

  body.services-page .page-hero--services .hero-circle { transform: translateX(50%) rotate(2deg); }
  body.cases-page .page-hero--cases .hero-circle { transform: translateX(50%) rotate(-2deg); }
  body.methodology-page .page-hero--methodology .hero-circle { transform: translateX(50%) rotate(1.5deg); }
  body.contacts-page .page-hero--contacts .hero-circle { transform: translateX(50%) rotate(2deg); }
}

/* Services v4: original composition with an isolated, non-overlapping details block */
body.services-page .services-list-grid--v4 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
  max-width: 1320px;
  margin-inline: auto;
}

body.services-page .service-catalog-card-v4 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(250px, 1fr) 30px !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
  align-content: start !important;
  height: 100% !important;
  min-height: 570px !important;
  padding: 30px 30px 26px !important;
  overflow: hidden !important;
}

body.services-page .service-catalog-card-v4::before {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #AA2B26 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v4:nth-child(1)::before { content: "01" !important; }
body.services-page .service-catalog-card-v4:nth-child(2)::before { content: "02" !important; }
body.services-page .service-catalog-card-v4:nth-child(3)::before { content: "03" !important; }
body.services-page .service-catalog-card-v4:nth-child(4)::before { content: "04" !important; }
body.services-page .service-catalog-card-v4:nth-child(5)::before { content: "05" !important; }
body.services-page .service-catalog-card-v4:nth-child(6)::before { content: "06" !important; }

body.services-page .service-catalog-card-v4 > h3 {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  align-self: start !important;
  width: auto !important;
  height: auto !important;
  min-height: 62px !important;
  margin: 0 0 14px !important;
  text-align: left !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v4 > .card-ico {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start !important;
  justify-self: start !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v4 > .card-ico img {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
}

body.services-page .service-catalog-card-v4 > p:not(.service-card-result) {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  width: auto !important;
  height: auto !important;
  min-height: 78px !important;
  margin: 0 0 20px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v4 > .service-card-details-v4 {
  position: static !important;
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  width: auto !important;
  height: auto !important;
  min-height: 250px !important;
  margin: 18px 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.services-page .service-catalog-card-v4 .service-card-details-v4 > .service-card-list {
  position: static !important;
  display: grid !important;
  align-content: start !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 166px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  gap: 8px !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v4 .service-card-details-v4 > .service-card-list li {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding-left: 18px !important;
  font-size: 14px !important;
  line-height: 1.36 !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v4 .service-card-details-v4 > .service-card-result {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid rgba(170, 43, 38, .16) !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v4 > .link-more {
  position: static !important;
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  align-self: end !important;
  justify-self: start !important;
  width: max-content !important;
  margin: 0 !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  body.services-page .services-list-grid--v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 980px;
  }
}

@media (max-width: 760px) {
  body.services-page .services-list-grid--v4 {
    grid-template-columns: 1fr !important;
  }

  body.services-page .service-catalog-card-v4 {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 24px 20px !important;
  }

  body.services-page .service-catalog-card-v4::before {
    display: none !important;
  }

  body.services-page .service-catalog-card-v4 > h3,
  body.services-page .service-catalog-card-v4 > .card-ico,
  body.services-page .service-catalog-card-v4 > p:not(.service-card-result),
  body.services-page .service-catalog-card-v4 > .service-card-details-v4,
  body.services-page .service-catalog-card-v4 > .link-more {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.services-page .service-catalog-card-v4 > .card-ico {
    margin-bottom: 18px !important;
  }

  body.services-page .service-catalog-card-v4 > .service-card-details-v4 {
    margin-top: 0 !important;
  }
}

@media (max-width: 640px) {
  .about-hero--about .about-photo-card,
  body.services-page .page-hero--services .hero-circle,
  body.cases-page .page-hero--cases .hero-circle,
  body.methodology-page .page-hero--methodology .hero-circle,
  body.materials-page .page-hero--materials .hero-circle,
  body.contacts-page .page-hero--contacts .hero-circle {
    width: 360px;
    height: 360px;
    border-radius: 34px 48px 38px 42px;
  }
}

/* Services catalog: reference composition with six solutions in a 3 × 2 grid */
body.services-page .services-solutions-head {
  max-width: 920px;
  margin: 0 auto 42px;
  text-align: center;
}

body.services-page .services-solutions-head .eyebrow {
  margin-bottom: 12px;
}

body.services-page .services-solutions-head .section-title {
  margin: 0 0 12px;
  font-size: clamp(42px, 4vw, 62px);
  font-weight: 400;
  line-height: 1.05;
}

body.services-page .services-solutions-head .lead {
  margin: 0;
  color: #665f5a;
  font-size: 17px;
}

@media (min-width: 1181px) {
  body.services-page .services-list-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1320px;
    gap: 28px !important;
    margin: 0 auto;
  }

  body.services-page .services-list-grid > .service-card:nth-last-child(2),
  body.services-page .services-list-grid > .service-card:last-child {
    grid-column: auto;
  }

  body.services-page .service-card.service-card--detailed {
    position: relative;
    min-height: 540px !important;
    padding: 30px 30px 26px !important;
    border-radius: 10px;
  }

  body.services-page .service-card.service-card--detailed::before {
    position: absolute;
    top: 27px;
    left: 30px;
    color: #AA2B26;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 28px;
    line-height: 1;
  }

  body.services-page .service-card:nth-child(1)::before { content: "01"; }
  body.services-page .service-card:nth-child(2)::before { content: "02"; }
  body.services-page .service-card:nth-child(3)::before { content: "03"; }
  body.services-page .service-card:nth-child(4)::before { content: "04"; }
  body.services-page .service-card:nth-child(5)::before { content: "05"; }
  body.services-page .service-card:nth-child(6)::before { content: "06"; }

  body.services-page .service-card.service-card--detailed > .card-ico {
    align-self: flex-start !important;
    width: 58px;
    height: 58px;
    margin: 34px 0 16px !important;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    min-height: 58px !important;
    justify-content: flex-start !important;
    margin-bottom: 10px !important;
    text-align: left !important;
    font-size: 27px;
    font-weight: 500;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    min-height: 70px !important;
    margin-bottom: 16px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-list {
    min-height: 118px !important;
    padding-left: 18px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-result {
    padding-top: 16px;
    border-top: 1px solid rgba(170, 43, 38, .16);
  }
}

/* Services catalogue — definitive aligned card layout */
@media (min-width: 761px) {
  body.services-page .services-list-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
    max-width: 1320px;
    margin-inline: auto;
  }

  body.services-page .service-card.service-card--detailed {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto minmax(30px, 1fr) !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    align-content: start !important;
    height: 100% !important;
    min-height: 570px !important;
    padding: 30px 28px 26px !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed::before {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #AA2B26 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 29px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 62px !important;
    margin: 0 0 16px !important;
    text-align: left !important;
    font-size: 25px !important;
    line-height: 1.08 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > .card-ico {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: start !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > .card-ico img {
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    min-height: 78px !important;
    margin: 0 0 22px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-list {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    align-self: start !important;
    display: grid !important;
    align-content: start !important;
    width: auto !important;
    height: auto !important;
    min-height: 166px !important;
    margin: 18px 0 20px !important;
    padding: 0 !important;
    gap: 8px !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-list li {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 18px !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-result {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    min-height: 72px !important;
    margin: 0 0 18px !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid rgba(170, 43, 38, .16) !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > .link-more {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
    align-self: end !important;
    justify-self: start !important;
    margin: 0 !important;
    transform: none !important;
  }
}

@media (min-width: 1181px) {
  body.services-page .services-list-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  body.services-page .service-card.service-card--detailed {
    min-height: 600px !important;
    padding-inline: 22px !important;
  }
}

@media (max-width: 760px) {
  body.services-page .services-list-grid {
    grid-template-columns: 1fr !important;
  }

  body.services-page .service-card.service-card--detailed {
    height: auto !important;
    min-height: 0 !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-list,
  body.services-page .service-card.service-card--detailed > .service-card-result {
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}

@media (max-width: 680px) {
  body.services-page .services-solutions-head {
    margin-bottom: 28px;
  }

  body.services-page .services-solutions-head .section-title {
    font-size: 40px;
  }
}


/* Consultation modal */
.consult-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.consult-modal.is-open {
  display: flex;
}

.consult-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 19, 21, .52);
  backdrop-filter: blur(6px);
}

.consult-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 640px);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 34px;
  border-radius: 28px;
  background: #FBF9F6;
  border: 1px solid rgba(232, 225, 218, .95);
  box-shadow: 0 30px 90px rgba(52, 28, 22, .22);
}

.consult-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(170, 43, 38, .18);
  border-radius: 50%;
  background: #fff;
  color: #AA2B26;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.consult-modal__eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #AA2B26;
  font-weight: 700;
}

.consult-modal__title {
  margin: 0 0 22px;
  color: #111315;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.08;
}

.consult-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.consult-form label {
  display: grid;
  gap: 8px;
  color: #5F6268;
  font-size: 13px;
  line-height: 1.35;
}

.consult-form input,
.consult-form textarea {
  width: 100%;
  border: 1px solid #E8E1DA;
  border-radius: 16px;
  background: #fff;
  color: #111315;
  font: inherit;
  padding: 14px 16px;
  outline: none;
}

.consult-form textarea {
  min-height: 108px;
  resize: vertical;
}

.consult-form input:focus,
.consult-form textarea:focus {
  border-color: rgba(170, 43, 38, .55);
  box-shadow: 0 0 0 4px rgba(170, 43, 38, .10);
}

.consult-form__wide,
.consult-form__agree,
.consult-submit,
.consult-success {
  grid-column: 1 / -1;
}

.consult-form__agree {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 10px !important;
}

.consult-form__agree input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  accent-color: #AA2B26;
}

.consult-submit {
  justify-self: start;
}

.consult-success {
  margin: 0;
  color: #AA2B26;
  font-weight: 700;
}

@media (max-width: 640px) {
  .consult-modal {
    padding: 14px;
  }

  .consult-modal__dialog {
    padding: 28px 20px 22px;
    border-radius: 22px;
  }

  .consult-form {
    grid-template-columns: 1fr;
  }
}

/* Services page premium redesign: scoped bordeaux/beige visual system */
body.services-page {
  --services-bg:#FAF8F5;
  --services-card:#FFFFFF;
  --services-ink:#111315;
  --services-muted:#5F6268;
  --services-line:#E8E1DA;
  --services-accent:#AA2B26;
  --services-accent-dark:#8F211E;
  --services-soft:#F3E7E3;
  background:linear-gradient(180deg, #FAF8F5 0%, #FBF9F6 72%, #F7F0EA 100%);
}

body.services-page .brand-mark,
body.services-page .nav a.active,
body.services-page .nav a:hover,
body.services-page .eyebrow,
body.services-page .link-more,
body.services-page .service-card .link-more,
body.services-page .format-card .link-more {
  color:var(--services-accent);
}

body.services-page .nav a.active:after {
  background:var(--services-accent);
}

body.services-page .page-hero.inner-page-hero {
  background:
    radial-gradient(circle at 78% 24%, rgba(170,43,38,.08), transparent 34%),
    linear-gradient(135deg, #FBF9F6 0%, #F7F0EA 58%, #FAF8F5 100%);
  border-bottom:1px solid rgba(232,225,218,.72);
}

body.services-page .page-hero.inner-page-hero:before {
  background:radial-gradient(circle, rgba(170,43,38,.08) 0%, rgba(243,231,227,.62) 54%, rgba(255,255,255,0) 72%);
}

body.services-page .page-hero.inner-page-hero .h1 {
  color:var(--services-ink);
  letter-spacing:-.045em;
}

body.services-page .page-hero.inner-page-hero .lead,
body.services-page .page-hero.inner-page-hero .accent {
  color:var(--services-muted);
}

body.services-page .inner-page-hero .hero-circle {
  background:
    radial-gradient(circle at 34% 28%, rgba(170,43,38,.08), transparent 34%),
    linear-gradient(150deg, #F7EFE8 0%, #EBDCCA 58%, rgba(255,255,255,.78) 100%);
  border:1px solid rgba(232,225,218,.92);
  box-shadow:0 28px 72px rgba(70,36,28,.10);
}

body.services-page .inner-page-hero .hero-photo,
body.services-page .inner-page-hero .inner-page-hero-image img {
  filter:drop-shadow(0 24px 34px rgba(54,31,25,.14));
}

body.services-page .card,
body.services-page .service-card,
body.services-page .format-card {
  background:rgba(255,255,255,.92);
  border:1px solid rgba(232,225,218,.95);
  box-shadow:0 18px 46px rgba(72,38,29,.07);
}

body.services-page .service-card:hover,
body.services-page .format-card:hover {
  border-color:rgba(170,43,38,.24);
  box-shadow:0 24px 60px rgba(72,38,29,.11);
  transform:translateY(-3px);
}

body.services-page .card-ico,
body.services-page .service-card > .card-ico,
body.services-page .format-card > .card-ico {
  background:linear-gradient(135deg, rgba(243,231,227,.92), rgba(255,255,255,.82));
  border:1px solid rgba(170,43,38,.12);
  box-shadow:0 12px 26px rgba(170,43,38,.08);
}

body.services-page .card-ico img,
body.services-page .service-card > .card-ico img,
body.services-page .format-card > .card-ico img {
  opacity:.82;
  filter:brightness(0) saturate(100%) invert(19%) sepia(46%) saturate(2205%) hue-rotate(340deg) brightness(95%) contrast(90%);
}

body.services-page .service-card h3,
body.services-page .format-card h3,
body.services-page .section-title {
  color:var(--services-ink);
}

body.services-page .service-card p,
body.services-page .format-card p,
body.services-page .lead {
  color:var(--services-muted);
}

body.services-page .service-card .link-more {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  line-height:1.2;
}

body.services-page .link-more:hover,
body.services-page .service-card .link-more:hover,
body.services-page .format-card .link-more:hover {
  color:var(--services-accent-dark);
}

body.services-page .cta.cta-dark {
  background:linear-gradient(135deg, #AA2B26 0%, #8F211E 100%);
  box-shadow:0 26px 70px rgba(143,33,30,.24);
}

body.services-page .form input,
body.services-page .form textarea {
  border-color:rgba(232,225,218,.88);
}

body.services-page .form input:focus,
body.services-page .form textarea:focus {
  border-color:rgba(170,43,38,.58);
  box-shadow:0 0 0 4px rgba(170,43,38,.10);
}

body.services-page .btn,
body.services-page .header-cta,
body.services-page button[type="submit"],
body.services-page input[type="submit"] {
  background:var(--services-accent);
  border-color:var(--services-accent);
  color:#fff;
}

body.services-page .btn:hover,
body.services-page .header-cta:hover,
body.services-page button[type="submit"]:hover,
body.services-page input[type="submit"]:hover,
body.services-page .btn:focus,
body.services-page .header-cta:focus,
body.services-page button[type="submit"]:focus,
body.services-page input[type="submit"]:focus,
body.services-page .btn:active,
body.services-page .header-cta:active,
body.services-page button[type="submit"]:active,
body.services-page input[type="submit"]:active {
  background:var(--services-accent-dark);
  border-color:var(--services-accent-dark);
  color:#fff;
}

body.services-page input[type="checkbox"] {
  accent-color:var(--services-accent);
}

/* Home visual refresh: premium problem cards and softer headings */
.home-premium .hp-section-title {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.07;
}

.home-premium .hp-section-title.serif,
.home-premium .hp-form-card h2 {
  font-weight: 500;
}

.home-premium .hp-problem-grid {
  gap: 24px;
}

.home-premium .hp-problem-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 238px;
  padding: 34px 32px 32px;
  border: 1px solid rgba(170, 43, 38, 0.12);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(250, 246, 240, 0.86));
  box-shadow: 0 18px 46px rgba(67, 45, 33, 0.06);
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.home-premium .hp-problem-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, rgba(170, 43, 38, 0.42), rgba(243, 231, 227, 0));
  opacity: .82;
}

.home-premium .hp-problem-card:hover {
  transform: translateY(-5px);
  border-color: rgba(170, 43, 38, 0.22);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 1), rgba(250, 246, 240, 0.94));
  box-shadow: 0 26px 64px rgba(67, 45, 33, 0.10);
}

.home-premium .hp-problem-card .hp-icon {
  width: 68px;
  height: 68px;
  margin-bottom: 24px;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(243, 231, 227, .88), rgba(255, 255, 255, .92));
  border: 1px solid rgba(170, 43, 38, .13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 12px 26px rgba(170, 43, 38, .07);
}

.home-premium .hp-problem-card .hp-icon img {
  width: 30px;
  height: 30px;
  opacity: .82;
}

.home-premium .hp-problem-card h3 {
  margin: 0 0 12px;
  color: var(--home-ink);
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.18;
  font-weight: 500;
  letter-spacing: -0.018em;
}

.home-premium .hp-problem-card p {
  max-width: 94%;
  color: rgba(17, 19, 21, .68);
  font-size: 16px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .home-premium .hp-problem-card {
    min-height: 220px;
  }
}

@media (max-width: 640px) {
  .home-premium .hp-problem-card {
    min-height: auto;
    padding: 28px 24px;
    border-radius: 24px;
  }

  .home-premium .hp-problem-card .hp-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 18px;
    border-radius: 18px;
  }

  .home-premium .hp-problem-card .hp-icon img {
    width: 27px;
    height: 27px;
  }

  .home-premium .hp-problem-card h3 {
    font-size: 22px;
  }
}

/* Home typography refinement: unify all requested card titles */
.home-premium .hp-problem-card h3,
.home-premium .hp-service-card h3,
.home-premium .hp-action-card h3,
.home-premium .home-cases-grid .case-card h3,
.home-premium .hp-step-card h3 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -0.018em;
  line-height: 1.18;
  color: #111315;
  text-wrap: balance;
}

.home-premium .hp-service-card h3,
.home-premium .hp-action-card h3,
.home-premium .home-cases-grid .case-card h3,
.home-premium .hp-step-card h3 {
  font-size: 24px;
  margin: 0 0 12px;
}

.home-premium .hp-step-card h3 {
  letter-spacing: -0.016em;
}

.home-premium .home-cases-grid .case-card h3 {
  margin-top: 0;
}

@media (max-width: 640px) {
  .home-premium .hp-problem-card h3,
  .home-premium .hp-service-card h3,
  .home-premium .hp-action-card h3,
  .home-premium .home-cases-grid .case-card h3,
  .home-premium .hp-step-card h3 {
    font-size: 22px;
    line-height: 1.2;
  }
}

/* Final home card title weight correction: lighter premium headings only */
.home-premium .hp-problem-card h3,
.home-premium .hp-service-card h3,
.home-premium .hp-action-card h3,
.home-premium .home-cases-grid .case-card h3,
.home-premium .hp-step-card h3 {
  font-family: var(--serif) !important;
  font-weight: 500 !important;
  line-height: 1.24 !important;
  letter-spacing: -0.012em !important;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.home-premium .hp-problem-card h3 strong,
.home-premium .hp-service-card h3 strong,
.home-premium .hp-action-card h3 strong,
.home-premium .home-cases-grid .case-card h3 strong,
.home-premium .hp-step-card h3 strong {
  font-weight: 500 !important;
}

/* Balanced title weight correction: make card headings clearer without heavy grotesk */
.home-premium .hp-problem-card h3,
.home-premium .hp-service-card h3,
.home-premium .hp-action-card h3,
.home-premium .hp-step-card h3,
body.services-page .service-card h3 {
  font-weight: 600 !important;
  line-height: inherit;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.home-premium .hp-problem-card h3 strong,
.home-premium .hp-service-card h3 strong,
.home-premium .hp-action-card h3 strong,
.home-premium .hp-step-card h3 strong,
body.services-page .service-card h3 strong {
  font-weight: 600 !important;
}

/* Case card title correction: align home case headings with other premium card headings */
.home-premium .home-cases-grid .case-card h3 {
  font-weight: 600 !important;
  line-height: inherit;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.home-premium .home-cases-grid .case-card h3 strong {
  font-weight: 600 !important;
}

/* Compact homepage problems cards: reduce vertical empty space only */
.home-premium .hp-problem-card {
  min-height: 0 !important;
  padding-top: 26px !important;
  padding-bottom: 26px !important;
  justify-content: flex-start !important;
}

.home-premium .hp-problem-card .hp-icon {
  margin-bottom: 18px !important;
}

.home-premium .hp-problem-card h3 {
  margin-bottom: 10px !important;
}

.home-premium .hp-problem-card p {
  margin-bottom: 0 !important;
}

@media (max-width: 980px) {
  .home-premium .hp-problem-card {
    min-height: 0 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}

@media (max-width: 640px) {
  .home-premium .hp-problem-card {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}


/* Problems block compact layout */
.problem-card-head{
display:flex;
align-items:center;
gap:16px;
margin-bottom:14px;
}
.problem-card-head h3{
margin:0;
}
.problem-card{
padding-top:24px !important;
padding-bottom:24px !important;
min-height:auto !important;
}
.problem-card p{
margin-top:0;
margin-bottom:0;
}


/* Problems block: real horizontal icon + title structure */
.home-premium .hp-problems .hp-problem-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 30px 26px !important;
}

.home-premium .hp-problems .problem-card-head {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 0 16px !important;
}

.home-premium .hp-problems .problem-card-head .problem-icon,
.home-premium .hp-problems .problem-card-head .hp-icon {
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
}

.home-premium .hp-problems .problem-card-head .problem-icon img,
.home-premium .hp-problems .problem-card-head .hp-icon img {
  width: 30px !important;
  height: 30px !important;
}

.home-premium .hp-problems .problem-card-head h3 {
  margin: 0 !important;
  align-self: center !important;
}

.home-premium .hp-problems .hp-problem-card > p {
  margin: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 640px) {
  .home-premium .hp-problems .hp-problem-card {
    padding: 22px 24px 24px !important;
  }

  .home-premium .hp-problems .problem-card-head {
    gap: 14px !important;
    margin-bottom: 14px !important;
  }

  .home-premium .hp-problems .problem-card-head .problem-icon,
  .home-premium .hp-problems .problem-card-head .hp-icon {
    flex-basis: 58px !important;
    width: 58px !important;
    height: 58px !important;
  }
}

/* Problems title wrap fix: keep long title to two neat lines */
.hp-problems .problem-card-head h3,
.problems-section .problem-card-head h3,
.problem-card-head h3 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.hp-problems .problem-card-head h3 .nowrap,
.problems-section .problem-card-head h3 .nowrap,
.problem-card-head h3 .nowrap {
  white-space: nowrap;
}

/* ==============================
   Services page visual refinement
   Scoped only to services.html
   ============================== */

.services-page {
  --services-accent: #AA2B26;
  --services-accent-dark: #8F211E;
  --services-ink: #111315;
  --services-muted: #5F6268;
  --services-border: rgba(170, 43, 38, .18);
  --services-border-soft: #E8E1DA;
  --services-card: #fffdfa;
  --services-cream: #FBF8F4;
}

/* Service cards: compact premium style with icon + title in one row */
.services-page .service-offer-card,
.services-page .service-card,
.services-page .services-card,
.services-page .direction-card,
.services-page .offer-card {
  position: relative;
  background: var(--services-card);
  border: 1px solid var(--services-border);
  border-radius: 24px;
  box-shadow: 0 18px 44px rgba(38, 24, 20, .075);
  padding: 24px 24px 22px;
  min-height: auto;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.services-page .service-offer-card::before,
.services-page .service-card::before,
.services-page .services-card::before,
.services-page .direction-card::before,
.services-page .offer-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, rgba(170, 43, 38, .72), rgba(170, 43, 38, .16));
}

.services-page .service-offer-card:hover,
.services-page .service-card:hover,
.services-page .services-card:hover,
.services-page .direction-card:hover,
.services-page .offer-card:hover {
  transform: translateY(-3px);
  border-color: rgba(170, 43, 38, .32);
  box-shadow: 0 22px 54px rgba(38, 24, 20, .105);
}

/* Icon containers */
.services-page .service-offer-card .card-ico,
.services-page .service-offer-card .service-icon,
.services-page .service-offer-card .icon,
.services-page .service-card .card-ico,
.services-page .service-card .service-icon,
.services-page .service-card .icon,
.services-page .services-card .card-ico,
.services-page .services-card .service-icon,
.services-page .services-card .icon,
.services-page .direction-card .card-ico,
.services-page .direction-card .service-icon,
.services-page .direction-card .icon,
.services-page .offer-card .card-ico,
.services-page .offer-card .service-icon,
.services-page .offer-card .icon {
  width: 50px;
  height: 50px;
  min-width: 50px;
  border-radius: 16px;
  background: rgba(170, 43, 38, .08);
  border: 1px solid rgba(170, 43, 38, .13);
  color: var(--services-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0;
}

/* If HTML has icon then h3 as direct children, align by CSS grid/flex without changing content */
.services-page .service-offer-card,
.services-page .service-card,
.services-page .services-card,
.services-page .direction-card,
.services-page .offer-card {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  column-gap: 16px;
  row-gap: 12px;
  align-items: center;
}

.services-page .service-offer-card .card-ico,
.services-page .service-offer-card .service-icon,
.services-page .service-offer-card .icon,
.services-page .service-card .card-ico,
.services-page .service-card .service-icon,
.services-page .service-card .icon,
.services-page .services-card .card-ico,
.services-page .services-card .service-icon,
.services-page .services-card .icon,
.services-page .direction-card .card-ico,
.services-page .direction-card .service-icon,
.services-page .direction-card .icon,
.services-page .offer-card .card-ico,
.services-page .offer-card .service-icon,
.services-page .offer-card .icon {
  grid-column: 1;
  grid-row: 1;
}

.services-page .service-offer-card h3,
.services-page .service-card h3,
.services-page .services-card h3,
.services-page .direction-card h3,
.services-page .offer-card h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.22;
  color: var(--services-ink);
  letter-spacing: -0.015em;
}

.services-page .service-offer-card p,
.services-page .service-card p,
.services-page .services-card p,
.services-page .direction-card p,
.services-page .offer-card p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--services-muted);
  line-height: 1.55;
}

/* Links/buttons inside cards */
.services-page .service-offer-card a,
.services-page .service-card a,
.services-page .services-card a,
.services-page .direction-card a,
.services-page .offer-card a {
  color: var(--services-accent);
  font-weight: 700;
}
.services-page .service-offer-card a:hover,
.services-page .service-card a:hover,
.services-page .services-card a:hover,
.services-page .direction-card a:hover,
.services-page .offer-card a:hover {
  color: var(--services-accent-dark);
}

/* Work formats: premium serif headings, lighter card mood */
.services-page section h2,
.services-page .section-title,
.services-page .block-title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.025em;
  color: var(--services-ink);
}

.services-page .service-format-card,
.services-page .format-card,
.services-page .work-format-card,
.services-page .step-card {
  background: var(--services-card);
  border: 1px solid var(--services-border-soft);
  border-radius: 22px;
  box-shadow: 0 16px 38px rgba(38, 24, 20, .065);
}

.services-page .service-format-card h3,
.services-page .format-card h3,
.services-page .work-format-card h3,
.services-page .step-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 650;
  color: var(--services-ink);
  letter-spacing: -0.012em;
  line-height: 1.22;
}

.services-page .service-format-card p,
.services-page .format-card p,
.services-page .work-format-card p,
.services-page .step-card p {
  color: var(--services-muted);
  line-height: 1.55;
}

.services-page .service-format-card .card-ico,
.services-page .format-card .card-ico,
.services-page .work-format-card .card-ico,
.services-page .step-card .card-ico {
  color: var(--services-accent);
  background: rgba(170, 43, 38, .08);
  border-color: rgba(170, 43, 38, .13);
}

/* Bottom burgundy form block readability */
.services-page .cta-dark,
.services-page .services-form-section,
.services-page .service-form-section,
.services-page .lead-form-section {
  background: linear-gradient(135deg, #AA2B26 0%, #8F211E 100%);
}

.services-page .cta-dark h2,
.services-page .services-form-section h2,
.services-page .service-form-section h2,
.services-page .lead-form-section h2,
.services-page .cta-dark .section-title,
.services-page .services-form-section .section-title,
.services-page .service-form-section .section-title,
.services-page .lead-form-section .section-title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.08;
  color: #FFF8F2;
  letter-spacing: -0.03em;
}

.services-page .cta-dark p,
.services-page .services-form-section p,
.services-page .service-form-section p,
.services-page .lead-form-section p {
  color: rgba(255, 248, 242, .78);
}

.services-page .cta-dark label,
.services-page .services-form-section label,
.services-page .service-form-section label,
.services-page .lead-form-section label,
.services-page .cta-dark .form-note,
.services-page .services-form-section .form-note,
.services-page .service-form-section .form-note,
.services-page .lead-form-section .form-note,
.services-page .cta-dark .privacy,
.services-page .services-form-section .privacy,
.services-page .service-form-section .privacy,
.services-page .lead-form-section .privacy,
.services-page .cta-dark .agree,
.services-page .services-form-section .agree,
.services-page .service-form-section .agree,
.services-page .lead-form-section .agree {
  color: rgba(255, 248, 242, .74);
}

.services-page .cta-dark input[type="checkbox"],
.services-page .services-form-section input[type="checkbox"],
.services-page .service-form-section input[type="checkbox"],
.services-page .lead-form-section input[type="checkbox"] {
  accent-color: #FFF8F2;
}

.services-page .cta-dark .card-ico,
.services-page .services-form-section .card-ico,
.services-page .service-form-section .card-ico,
.services-page .lead-form-section .card-ico {
  color: rgba(255, 248, 242, .9);
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .18);
}

/* No pink leftovers on services page */
.services-page .btn,
.services-page button[type="submit"],
.services-page input[type="submit"] {
  background: var(--services-accent);
  border-color: var(--services-accent);
  color: #fff;
}
.services-page .btn:hover,
.services-page button[type="submit"]:hover,
.services-page input[type="submit"]:hover,
.services-page .btn:focus,
.services-page button[type="submit"]:focus,
.services-page input[type="submit"]:focus {
  background: var(--services-accent-dark);
  border-color: var(--services-accent-dark);
  color: #fff;
}

/* Tablet/mobile: keep structure adaptive */
@media (max-width: 760px) {
  .services-page .service-offer-card,
  .services-page .service-card,
  .services-page .services-card,
  .services-page .direction-card,
  .services-page .offer-card {
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 14px;
    padding: 22px 20px 20px;
  }

  .services-page .service-offer-card .card-ico,
  .services-page .service-offer-card .service-icon,
  .services-page .service-offer-card .icon,
  .services-page .service-card .card-ico,
  .services-page .service-card .service-icon,
  .services-page .service-card .icon,
  .services-page .services-card .card-ico,
  .services-page .services-card .service-icon,
  .services-page .services-card .icon,
  .services-page .direction-card .card-ico,
  .services-page .direction-card .service-icon,
  .services-page .direction-card .icon,
  .services-page .offer-card .card-ico,
  .services-page .offer-card .service-icon,
  .services-page .offer-card .icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 14px;
  }
}

/* Methodology diagnostics radar block */
body.methodology-page .methodology-diagnostics-section {
  overflow:hidden;
}

body.methodology-page .methodology-diagnostics-card {
  padding:34px 30px 30px;
}

body.methodology-page .methodology-diagnostics-head {
  max-width:860px;
  margin-bottom:18px;
}

body.methodology-page .methodology-diagnostics-head .eyebrow {
  margin-bottom:10px;
}

body.methodology-page .methodology-diagnostics-head .section-title {
  margin-bottom:0;
}

body.methodology-page .diagnostic-radars {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:start;
}

body.methodology-page .diagnostic-radar {
  min-width:0;
  text-align:center;
  padding:8px 4px 0;
}

body.methodology-page .diagnostic-radar__scheme {
  --radar-color:#AA2B26;
  position:relative;
  width:min(100%, 286px);
  aspect-ratio:1;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  color:var(--radar-color);
}

body.methodology-page .diagnostic-radar__scheme::before {
  content:"";
  position:absolute;
  inset:42px;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--radar-color) 22%, transparent) 0%, color-mix(in srgb, var(--radar-color) 11%, transparent) 50%, transparent 72%);
  filter:blur(1px);
  opacity:.9;
}

body.methodology-page .diagnostic-radar__svg {
  position:relative;
  width:76%;
  height:76%;
  overflow:visible;
}

body.methodology-page .diagnostic-radar__ring,
body.methodology-page .diagnostic-radar__axis {
  fill:none;
  stroke:currentColor;
  stroke-width:1.15;
  opacity:.34;
}

body.methodology-page .diagnostic-radar__ring--middle {
  opacity:.24;
}

body.methodology-page .diagnostic-radar__ring--inner {
  opacity:.16;
}

body.methodology-page .diagnostic-radar__area {
  fill:currentColor;
  fill-opacity:.15;
  stroke:currentColor;
  stroke-width:2;
  stroke-linejoin:round;
  opacity:.86;
}

body.methodology-page .diagnostic-radar__core {
  fill:currentColor;
  fill-opacity:.11;
  stroke:currentColor;
  stroke-width:1.2;
  stroke-dasharray:3 5;
  opacity:.62;
}

body.methodology-page .diagnostic-radar__dot {
  fill:#FFFFFF;
  stroke:currentColor;
  stroke-width:2;
}

body.methodology-page .diagnostic-radar__letter {
  position:absolute;
  inset:auto;
  z-index:2;
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:28px;
  font-style:italic;
  font-weight:600;
  color:color-mix(in srgb, var(--radar-color) 72%, #FFFFFF 28%);
  background:rgba(255,255,255,.45);
  border:1px solid color-mix(in srgb, var(--radar-color) 16%, transparent);
}

body.methodology-page .diagnostic-radar__param {
  position:absolute;
  z-index:3;
  max-width:92px;
  color:#5F6268;
  font-size:11px;
  line-height:1.15;
  font-weight:600;
  letter-spacing:.01em;
  white-space:normal;
}

body.methodology-page .diagnostic-radar__param--top {
  top:6px;
  left:50%;
  transform:translateX(-50%);
}

body.methodology-page .diagnostic-radar__param--top-right {
  top:34px;
  right:0;
  text-align:left;
}

body.methodology-page .diagnostic-radar__param--right {
  top:50%;
  right:-2px;
  transform:translateY(-50%);
  text-align:left;
}

body.methodology-page .diagnostic-radar__param--bottom-right {
  right:8px;
  bottom:42px;
  text-align:left;
}

body.methodology-page .diagnostic-radar__param--bottom {
  left:50%;
  bottom:6px;
  transform:translateX(-50%);
}

body.methodology-page .diagnostic-radar__param--bottom-left {
  left:8px;
  bottom:42px;
  text-align:right;
}

body.methodology-page .diagnostic-radar__param--left {
  top:50%;
  left:-2px;
  transform:translateY(-50%);
  text-align:right;
}

body.methodology-page .diagnostic-radar__param--top-left {
  top:34px;
  left:0;
  text-align:right;
}

body.methodology-page .diagnostic-radar h3 {
  margin:0;
  color:#111315;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:22px;
  line-height:1.24;
  font-weight:700;
}

@media(max-width:1024px) {
  body.methodology-page .diagnostic-radars {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px 24px;
  }

  body.methodology-page .diagnostic-radar:last-child {
    grid-column:1 / -1;
  }
}

@media(max-width:640px) {
  body.methodology-page .methodology-diagnostics-card {
    padding:28px 16px 24px;
  }

  body.methodology-page .diagnostic-radars {
    grid-template-columns:1fr;
    gap:28px;
  }

  body.methodology-page .diagnostic-radar:last-child {
    grid-column:auto;
  }

  body.methodology-page .diagnostic-radar__scheme {
    width:min(100%, 268px);
  }

  body.methodology-page .diagnostic-radar__param {
    font-size:10px;
    max-width:84px;
  }

  body.methodology-page .diagnostic-radar h3 {
    font-size:20px;
  }
}


/* Methodology page: marketing structure update */
body.methodology-page .methodology-hero-btn {
  margin-top:26px;
}

body.methodology-page .methodology-section-head {
  max-width:900px;
  margin:0 0 26px;
}

body.methodology-page .methodology-section-head .section-title {
  margin-bottom:12px;
}

body.methodology-page .methodology-section-lead,
body.methodology-page .methodology-diagnostics-head .methodology-section-lead {
  max-width:820px;
  margin:0;
  color:var(--method-muted);
  font-size:20px;
  line-height:1.55;
}

body.methodology-page .methodology-diagnostics-head .methodology-section-lead {
  margin-top:14px;
}

body.methodology-page .diagnostic-radar p {
  max-width:310px;
  margin:10px auto 0;
  color:var(--method-muted);
  font-size:15px;
  line-height:1.5;
}

body.methodology-page .methodology-steps {
  background:rgba(255,255,255,.72);
  border:1px solid var(--method-line);
  border-radius:24px;
  box-shadow:0 16px 44px rgba(70,36,28,.06);
  padding:28px;
}

body.methodology-page .methodology-steps .step h3,
body.methodology-page .methodology-result-grid .card h3,
body.methodology-page .methodology-difference-grid .card h3 {
  font-family:var(--serif);
  font-weight:600;
  line-height:1.18;
  letter-spacing:-.018em;
}

body.methodology-page .methodology-steps .step h3 {
  min-height:52px;
  margin-bottom:10px;
}

body.methodology-page .methodology-result-grid .card,
body.methodology-page .methodology-difference-grid .card {
  padding:26px;
}

body.methodology-page .methodology-result-grid .card::before,
body.methodology-page .methodology-difference-grid .card::before {
  content:"";
  display:block;
  width:34px;
  height:2px;
  border-radius:999px;
  background:var(--method-accent);
  opacity:.72;
  margin-bottom:16px;
}

body.methodology-page .methodology-fit-card {
  padding:34px;
}

body.methodology-page .methodology-fit-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 22px;
  margin:0;
  padding:0;
  list-style:none;
}

body.methodology-page .methodology-fit-list li {
  position:relative;
  padding-left:28px;
  color:var(--method-ink);
  font-size:17px;
  line-height:1.45;
}

body.methodology-page .methodology-fit-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--method-accent);
  box-shadow:0 0 0 5px rgba(170,43,38,.10);
}

body.methodology-page .methodology-final-cta {
  grid-template-columns:1fr;
  margin-bottom:56px;
  text-align:left;
}

body.methodology-page .methodology-final-cta .methodology-section-lead {
  margin-bottom:24px;
}

body.methodology-page .methodology-final-cta .btn {
  width:max-content;
}

@media(max-width:1024px) {
  body.methodology-page .methodology-difference-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.methodology-page .methodology-steps {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.methodology-page .methodology-steps .step:not(:last-child)::after {
    display:none;
  }
}

@media(max-width:640px) {
  body.methodology-page .methodology-section-lead,
  body.methodology-page .methodology-diagnostics-head .methodology-section-lead {
    font-size:17px;
  }

  body.methodology-page .methodology-steps,
  body.methodology-page .methodology-fit-card {
    padding:22px 18px;
  }

  body.methodology-page .methodology-fit-list,
  body.methodology-page .methodology-difference-grid {
    grid-template-columns:1fr;
  }

  body.methodology-page .methodology-final-cta .btn {
    width:100%;
  }
}

/* Cases page: premium serif titles for case cards only */
body.cases-page .case-card h3 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.018em;
  color: #111315;
  margin: 0 0 14px;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.cases-page .case-card h3 strong {
  font-weight: 600;
}

@media (max-width: 640px) {
  body.cases-page .case-card h3 {
    font-size: 23px;
    line-height: 1.22;
  }
}

/* Contacts page: targeted premium serif headings and visible result icon */
body.contacts-page .grid.grid-2 > .card .section-title,
body.contacts-page .next-box .section-title {
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #111315;
}

body.contacts-page .cta.cta-dark .section-title {
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #fff;
}

body.contacts-page .cta.cta-dark > .card-ico {
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(255, 255, 255, .48);
  box-shadow: 0 14px 34px rgba(70, 20, 18, .16);
}

body.contacts-page .cta.cta-dark > .card-ico img,
body.contacts-page .cta.cta-dark > .card-ico svg {
  filter: brightness(0) saturate(100%) invert(25%) sepia(45%) saturate(2089%) hue-rotate(334deg) brightness(87%) contrast(93%);
  opacity: 1;
}

/* About page: premium serif titles for card headings only */
.about-premium .about-trust-card h3,
.about-premium .about-info-card h3,
.about-premium .about-timeline-card h3,
.about-premium .about-principle-card h3 {
  font-family:var(--serif);
  font-weight:600;
  line-height:1.18;
  letter-spacing:-.02em;
  color:var(--about-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* Materials page: premium serif titles for cards and feature labels */
body.materials-page .feature-strip .stat strong,
body.materials-page .card h3 {
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: #111315;
}


/* Home page: strengthened fit block */
.home-premium .home-fit-section {
  padding-top:42px;
  padding-bottom:42px;
}

.home-premium .home-fit-card {
  position:relative;
  overflow:hidden;
  padding:46px 48px 44px;
  background:linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(250,248,245,.94) 100%);
  border:1px solid rgba(232,225,218,.95);
  border-radius:34px;
  box-shadow:0 28px 70px rgba(49,34,28,.10);
}

.home-premium .home-fit-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg, rgba(170,43,38,.92), rgba(170,43,38,.18));
}

.home-premium .home-fit-card::after {
  content:"";
  position:absolute;
  right:-86px;
  top:-96px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(170,43,38,.09) 0%, rgba(170,43,38,.045) 48%, rgba(170,43,38,0) 70%);
  pointer-events:none;
}

.home-premium .home-fit-head {
  position:relative;
  max-width:760px;
  margin:0 0 32px;
  z-index:1;
}

.home-premium .home-fit-head .eyebrow {
  margin:0 0 14px;
  font-family:var(--serif);
  font-size:16px;
  font-weight:400;
  letter-spacing:.32em;
  line-height:1.2;
  text-transform:uppercase;
  color:var(--home-burgundy);
}

.home-premium .home-fit-head .section-title {
  margin:0;
  max-width:720px;
  font-family:var(--serif);
  font-size:clamp(40px, 4.1vw, 58px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.045em;
  color:var(--home-ink);
}

.home-premium .home-fit-list {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 34px;
  margin:0;
  padding:0;
  list-style:none;
}

.home-premium .home-fit-list li {
  position:relative;
  display:flex;
  align-items:flex-start;
  min-height:54px;
  padding:18px 18px 18px 42px;
  color:#2B2D31;
  font-size:17px;
  font-weight:400;
  line-height:1.45;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(232,225,218,.82);
  border-radius:18px;
  box-shadow:0 12px 30px rgba(49,34,28,.055);
}

.home-premium .home-fit-list li::before {
  content:"";
  position:absolute;
  left:18px;
  top:24px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--home-burgundy);
  box-shadow:0 0 0 7px rgba(170,43,38,.10);
}

@media (max-width: 860px) {
  .home-premium .home-fit-section {
    padding-top:32px;
    padding-bottom:32px;
  }

  .home-premium .home-fit-card {
    padding:34px 22px 30px;
    border-radius:26px;
  }

  .home-premium .home-fit-head {
    margin-bottom:24px;
  }

  .home-premium .home-fit-list {
    grid-template-columns:1fr;
    gap:12px;
  }

  .home-premium .home-fit-list li {
    min-height:0;
    padding:15px 16px 15px 40px;
    font-size:16px;
  }

  .home-premium .home-fit-list li::before {
    left:17px;
    top:21px;
  }
}

/* Home consultation modal photo column */
.consult-modal__dialog--with-photo {
  width: min(100%, 940px);
  padding: 28px;
}

.consult-modal__content {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(280px, .9fr);
  gap: 28px;
  align-items: stretch;
}

.consult-modal__main {
  min-width: 0;
  padding: 6px 0 0;
}

.consult-modal__photo {
  position: relative;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(32, 27, 27, .96), rgba(88, 35, 32, .82));
  border: 1px solid rgba(232, 225, 218, .72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 18px 46px rgba(52, 28, 22, .16);
}

.consult-modal__photo::before {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, .56);
  pointer-events: none;
  z-index: 1;
}

.consult-modal__photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 900px) {
  .consult-modal__dialog--with-photo {
    width: min(100%, 640px);
    padding: 30px 24px 24px;
  }

  .consult-modal__content {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .consult-modal__photo {
    min-height: 240px;
    max-height: 280px;
    order: 2;
  }

  .consult-modal__photo img {
    min-height: 240px;
    object-position: center 18%;
  }
}

@media (max-width: 640px) {
  .consult-modal__dialog--with-photo {
    padding: 28px 20px 22px;
  }

  .consult-modal__content {
    gap: 16px;
  }

  .consult-modal__photo {
    display: none;
  }
}


/* Home fit typography refinement + modal presentation photo concept */
.home-premium .home-fit-head .eyebrow {
  font-family:var(--serif);
  font-size:16px;
  font-weight:400;
  letter-spacing:.32em;
  line-height:1.25;
  color:var(--home-burgundy);
}

.home-premium .home-fit-head .section-title {
  font-family:var(--serif);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.045em;
  color:var(--home-ink);
}

.consult-modal__dialog--with-photo .consult-modal__photo {
  background:linear-gradient(145deg, rgba(32,27,27,.96), rgba(88,35,32,.82));
}

.consult-modal__dialog--with-photo .consult-modal__photo img {
  object-position:center center;
}


/* Targeted refinements: home fit title, about contact headings and mobile feedback modal link */
@media (min-width: 1024px) {
  .home-premium .home-fit-head {
    max-width: none;
  }

  .home-premium .home-fit-head .section-title {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(42px, 3.4vw, 52px);
  }
}

.about-premium .grid.grid-2 > .card .section-title,
.about-premium .next-box .section-title,
.about-premium .about-contact h2,
.about-premium .about-form h2,
.about-premium .next-steps h2,
.about-premium .contact-section__title,
.about-premium .next-steps__title {
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #111315;
}

.nav .nav-feedback {
  display: none;
}

@media (max-width: 1024px) {
  .nav.open .nav-feedback {
    display: block;
    margin-top: 4px;
    border-top: 1px solid var(--line);
    color: var(--accent);
  }
}

/* Cases page: unify stats bar with main-page premium stats style */
body.cases-page .brand-mark {
  color: #AA2B26;
}

body.cases-page .stats-bar {
  background: rgba(255, 253, 249, .88);
  border: 1px solid #E8E1DA;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(65, 42, 29, .07);
  overflow: hidden;
}

body.cases-page .stats-bar .stat {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 22px 24px;
  border-right: 1px solid #E8E1DA;
}

body.cases-page .stats-bar .stat:last-child {
  border-right: 0;
}

body.cases-page .stats-bar .stat > img {
  width: 52px;
  height: 52px;
  box-sizing: border-box;
  padding: 14px;
  border-radius: 50%;
  background: rgba(170, 43, 38, .08);
  border: 1px solid rgba(170, 43, 38, .10);
  filter: none;
  opacity: 1;
}

body.cases-page .stats-bar .stat p {
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}

body.cases-page .stats-bar .stat strong {
  color: #151820;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.15;
}

body.cases-page .stats-bar .stat span {
  color: #444850;
  font-size: 14px;
  line-height: 1.25;
}

/* Contacts page: lighter premium typography for contact card titles */
body.contacts-page .contact-grid .contact-card h3 {
  font-family: var(--sans);
  font-weight: 500;
  color: #111315;
  line-height: 1.2;
}

@media (max-width: 900px) {
  body.cases-page .stats-bar .stat,
  body.cases-page .stats-bar .stat:last-child {
    border-right: 0;
  }
}

/* Internal top info blocks: lighter title typography only */
body.materials-page .feature-strip .stat strong {
  font-family: var(--sans);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #111315;
}

body.cases-page .stats-bar .stat strong {
  font-family: var(--sans);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #151820;
}

/* Internal top info blocks: stronger title typography per latest visual direction */
body.cases-page .stats-bar .stat strong {
  font-family: var(--sans);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #151820;
}

body.materials-page .feature-strip .stat strong {
  font-family: var(--sans);
  font-size: clamp(20px, 1.45vw, 26px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: #111315;
}

/* Internal pages: match top stat/info blocks to the home-page stats benchmark */
body.cases-page .stats-bar,
body.materials-page .feature-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 18px 22px;
  border: 1px solid var(--home-line, #E8E1DA);
  border-radius: 18px;
  background: rgba(255, 253, 249, .86);
  box-shadow: 0 18px 48px rgba(65, 42, 29, .07);
  overflow: visible;
}

body.cases-page .stats-bar .stat,
body.materials-page .feature-strip .stat {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: auto;
  padding: 4px 22px;
  border-right: 1px solid var(--home-line, #E8E1DA);
}

body.cases-page .stats-bar .stat:first-child,
body.materials-page .feature-strip .stat:first-child {
  padding-left: 0;
}

body.cases-page .stats-bar .stat:last-child,
body.materials-page .feature-strip .stat:last-child {
  border-right: 0;
  padding-right: 0;
}

body.cases-page .stats-bar .stat > img,
body.materials-page .feature-strip .stat > img {
  width: 48px;
  height: 48px;
  box-sizing: border-box;
  padding: 11.5px;
  border-radius: 50%;
  background: linear-gradient(145deg, #f7eee8, #eee3da);
  border: 0;
  object-fit: contain;
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(19%) sepia(64%) saturate(1675%) hue-rotate(342deg) brightness(94%) contrast(89%);
}

body.cases-page .stats-bar .stat p,
body.materials-page .feature-strip .stat p {
  margin: 0;
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  row-gap: 3px;
  min-width: 0;
}

body.cases-page .stats-bar .stat strong,
body.materials-page .feature-strip .stat strong {
  display: block;
  min-height: 0;
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #151820;
  white-space: normal;
  overflow: visible;
}

body.cases-page .stats-bar .stat span,
body.materials-page .feature-strip .stat span {
  display: block;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  color: #444850;
  margin: 0;
}

@media (max-width: 900px) {
  body.cases-page .stats-bar,
  body.materials-page .feature-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.cases-page .stats-bar .stat,
  body.materials-page .feature-strip .stat {
    padding: 16px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--home-line, #E8E1DA);
  }

  body.cases-page .stats-bar .stat:nth-child(odd),
  body.materials-page .feature-strip .stat:nth-child(odd) {
    border-right: 1px solid var(--home-line, #E8E1DA);
  }

  body.cases-page .stats-bar .stat:nth-last-child(-n+2),
  body.materials-page .feature-strip .stat:nth-last-child(-n+2) {
    border-bottom: 0;
  }
}

@media (max-width: 560px) {
  body.cases-page .stats-bar,
  body.materials-page .feature-strip {
    grid-template-columns: 1fr;
    padding: 8px 18px;
  }

  body.cases-page .stats-bar .stat,
  body.materials-page .feature-strip .stat,
  body.cases-page .stats-bar .stat:nth-child(odd),
  body.materials-page .feature-strip .stat:nth-child(odd) {
    padding: 16px 0;
    border-right: 0;
    border-bottom: 1px solid var(--home-line, #E8E1DA);
  }

  body.cases-page .stats-bar .stat:last-child,
  body.materials-page .feature-strip .stat:last-child {
    border-bottom: 0;
  }
}


/* Fix internal top stats icons: keep light badge, show burgundy outline SVGs */
body.cases-page .stats-bar .stat > img,
body.materials-page .feature-strip .stat > img {
  width: 48px;
  height: 48px;
  box-sizing: border-box;
  padding: 11.5px;
  border-radius: 50%;
  background: rgba(170, 43, 38, 0.08) !important;
  border: 1px solid rgba(170, 43, 38, 0.10);
  object-fit: contain;
  opacity: 1 !important;
  filter: none !important;
}

/* Homepage targeted text/alignment refinements */
.home-premium .hp-problems .problem-card-head {
  min-height: 64px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.home-premium .hp-problems .problem-card-head h3 {
  min-height: 2.48em !important;
  display: flex !important;
  align-items: center !important;
  font-size: 23px !important;
  line-height: 1.24 !important;
}

.home-premium .hp-problems .hp-problem-card > p {
  margin-top: 0 !important;
}

.home-premium .hp-step-card h3 {
  min-height: 2.48em !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
}

.home-premium .hp-step-card p {
  margin-top: 0 !important;
}

@media (min-width: 861px) {
  .home-premium .home-fit-list .home-fit-item--1 {
    grid-column: 1;
    grid-row: 1;
  }

  .home-premium .home-fit-list .home-fit-item--2 {
    grid-column: 1;
    grid-row: 2;
  }

  .home-premium .home-fit-list .home-fit-item--3 {
    grid-column: 1;
    grid-row: 3;
  }

  .home-premium .home-fit-list .home-fit-item--4 {
    grid-column: 2;
    grid-row: 1;
  }

  .home-premium .home-fit-list .home-fit-item--6 {
    grid-column: 2;
    grid-row: 2;
  }

  .home-premium .home-fit-list .home-fit-item--5 {
    grid-column: 2;
    grid-row: 3;
  }
}

.home-premium .hp-services-cases .hp-action-card > div {
  display: flex;
  flex-direction: column;
}

.home-premium .hp-services-cases .hp-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid #AA2B26;
  border-radius: 10px;
  color: #AA2B26;
  background: rgba(255, 255, 255, 0.78);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid #AA2B26;
  box-shadow: none;
  transform: none;
}

.home-premium .hp-services-cases .hp-card-link:hover {
  background: #AA2B26;
  border-color: #AA2B26;
  color: #fff;
  transform: translateY(-1px);
}

.home-premium .home-cases-grid .home-case-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin: 0 0 20px;
  color: #454952;
  font-size: 15.5px;
  line-height: 1.48;
}

.home-premium .home-cases-grid .home-case-copy p {
  margin: 0 0 10px;
  max-width: 100%;
  flex: 0 0 auto;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.home-premium .home-cases-grid .home-case-copy p:last-child {
  margin-bottom: 0;
}

.home-premium .home-cases-grid .home-case-copy strong {
  color: #111315;
  font-weight: 700;
}

.home-premium .home-cases-grid .home-case-copy ul {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  display: grid;
  gap: 5px;
}

.home-premium .home-cases-grid .home-case-copy li {
  position: relative;
  padding-left: 18px;
  color: #454952;
  font-weight: 600;
  line-height: 1.35;
}

.home-premium .home-cases-grid .home-case-copy li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .58em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #AA2B26;
}

@media (max-width: 760px) {
  .home-premium .hp-problems .problem-card-head h3,
  .home-premium .hp-step-card h3 {
    min-height: 0 !important;
  }

  .home-premium .hp-services-cases .hp-card-link {
    min-height: 44px;
    padding: 0 20px;
  }
}

/* Homepage final alignment and copy formatting refinements */
.home-premium .hp-problems .hp-problem-card {
  display: flex !important;
  flex-direction: column !important;
}

.home-premium .hp-problems .problem-card-head {
  min-height: 74px !important;
  align-items: flex-start !important;
  margin-bottom: 16px !important;
}

.home-premium .hp-problems .problem-card-head h3 {
  min-height: 2.36em !important;
  display: flex !important;
  align-items: flex-start !important;
  font-size: 21px !important;
  line-height: 1.18 !important;
  letter-spacing: -0.018em !important;
}

.home-premium .hp-problems .hp-problem-card > p {
  margin-top: 0 !important;
}

.home-premium .hp-step-card h3 {
  min-height: 2.4em !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
}

.home-premium .hp-step-card p {
  margin-top: 0 !important;
}

.home-premium .home-fit-list .home-fit-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-height: 0;
  padding: 18px 18px;
}

.home-premium .home-fit-list .home-fit-item::before {
  content: none !important;
}

.home-premium .home-fit-item__dot {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-top: .46em;
  border-radius: 50%;
  background: var(--home-burgundy);
  box-shadow: 0 0 0 7px rgba(170,43,38,.10);
}

.home-premium .home-fit-item__content {
  min-width: 0;
}

.home-premium .home-fit-item__content h3 {
  margin: 0 0 7px;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.018em;
  color: #111315;
}

.home-premium .home-fit-item__content p {
  margin: 0;
  color: #5F6268;
  font-family: var(--sans);
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.45;
}

.home-premium .hp-services-cases .hp-action-card {
  display: grid;
}

.home-premium .hp-services-cases .hp-action-card > div {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.home-premium .home-service-copy {
  margin: 0 0 20px;
  color: #454952;
  font-size: 15.5px;
  line-height: 1.45;
}

.home-premium .home-service-copy p {
  margin: 0 0 10px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.home-premium .home-service-copy p:last-child {
  margin: 12px 0 0;
}

.home-premium .home-service-copy ul {
  list-style: none;
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
}

.home-premium .home-service-copy li {
  position: relative;
  padding-left: 16px;
  color: #454952;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.34;
}

.home-premium .home-service-copy li::before {
  content: "";
  position: absolute;
  left: 1px;
  top: .58em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #AA2B26;
}

.home-premium .hp-services-cases .hp-card-link {
  margin-top: auto;
  align-self: flex-start;
}

.home-premium .home-cases-grid .case-card {
  display: flex;
  flex-direction: column;
}

.home-premium .home-cases-grid .home-case-copy {
  flex: 1 1 auto;
}

.home-premium .home-cases-grid .case-card .btn-small {
  margin-top: auto;
  align-self: flex-start;
}

@media (max-width: 860px) {
  .home-premium .hp-problems .problem-card-head {
    min-height: 0 !important;
  }

  .home-premium .hp-problems .problem-card-head h3 {
    min-height: 0 !important;
    font-size: 20px !important;
  }

  .home-premium .home-fit-list .home-fit-item {
    padding: 16px 16px;
  }

  .home-premium .home-fit-item__content h3 {
    font-size: 19px;
  }
}

/* Homepage Services + Cases redesign from visual references */
.home-premium .hp-services-cases {
  padding-top: 84px;
  padding-bottom: 88px;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(250,248,245,.92));
}

.home-premium .hp-services-cases-inner {
  max-width: 100%;
}

.home-premium .hp-services-cases .hp-combined-head {
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
}

.home-premium .hp-services-cases .hp-combined-head .hp-kicker,
.home-premium .hp-services-cases .hp-ref-subhead > .hp-kicker {
  margin: 0 0 12px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.home-premium .hp-services-cases .hp-combined-head .hp-section-title {
  margin: 0;
  color: #111315;
  font-size: clamp(44px, 4vw, 62px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
}

.home-premium .hp-services-cases .hp-combined-group + .hp-combined-group {
  margin-top: 78px;
  padding-top: 0;
  border-top: 0;
}

.home-premium .hp-services-cases .hp-ref-subhead {
  display: block;
  max-width: 760px;
  margin: 0 auto 32px;
  text-align: center;
}

.home-premium .hp-services-cases .hp-ref-subhead--left {
  max-width: none;
  margin-left: 0;
  text-align: left;
}

.home-premium .hp-services-cases .hp-ref-subhead h3 {
  margin: 0;
  color: #111315;
  font-family: var(--serif);
  font-size: clamp(40px, 3.7vw, 58px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.045em;
}

.home-premium .hp-services-cases .hp-ref-lead {
  max-width: 760px;
  margin: 16px auto 0;
  color: #454952;
  font-family: var(--sans);
  font-size: 19px;
  line-height: 1.45;
  text-align: inherit;
}

.home-premium .home-services-ref-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.home-premium .home-service-ref-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-height: 560px;
  padding: 34px 32px 32px;
  border: 1px solid rgba(170,43,38,.18);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,252,248,.86));
  box-shadow: 0 22px 58px rgba(64,44,34,.08);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-premium .home-service-ref-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 55% 18%, rgba(170,43,38,.10), transparent 34%);
  opacity: 0;
  transition: opacity .25s ease;
}

.home-premium .home-service-ref-card--accent {
  border-color: rgba(170,43,38,.28);
  box-shadow: 0 26px 68px rgba(170,43,38,.12);
}

.home-premium .home-service-ref-card--accent::before,
.home-premium .home-service-ref-card:hover::before {
  opacity: 1;
}

.home-premium .home-service-ref-card:hover {
  transform: translateY(-5px);
  border-color: rgba(170,43,38,.34);
  box-shadow: 0 28px 74px rgba(64,44,34,.12);
}

.home-premium .home-service-ref-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 24px;
  align-items: center;
  margin-bottom: 26px;
}

.home-premium .home-service-ref-icon {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(170,43,38,.08);
  border: 1px solid rgba(170,43,38,.10);
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-premium .home-service-ref-icon img {
  width: 42px;
  height: 42px;
  filter: brightness(0) saturate(100%) invert(17%) sepia(71%) saturate(2300%) hue-rotate(349deg) brightness(92%) contrast(92%);
}

.home-premium .home-service-ref-card h3 {
  margin: 0;
  color: #111315;
  font-family: var(--serif);
  font-size: clamp(28px, 2vw, 34px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.home-premium .home-service-ref-text {
  position: relative;
  z-index: 1;
  min-height: 78px;
  margin: 0 0 24px;
  color: #454952;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.46;
}

.home-premium .home-service-pills {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}

.home-premium .home-service-pills li {
  position: relative;
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 8px 14px 8px 44px;
  border: 1px solid rgba(170,43,38,.16);
  border-radius: 12px;
  background: rgba(255,255,255,.66);
  color: #2D3037;
  font-family: var(--sans);
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1.2;
}

.home-premium .home-service-pills li::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #AA2B26;
  box-shadow: 0 0 0 5px rgba(170,43,38,.10);
  transform: translateY(-50%);
}

.home-premium .hp-services-cases .home-service-ref-btn {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 62px;
  margin-top: auto;
  padding: 0 28px;
  border: 1px solid #AA2B26;
  border-radius: 14px;
  background: #AA2B26;
  color: #fff;
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 18px 32px rgba(170,43,38,.18);
}

.home-premium .hp-services-cases .home-service-ref-btn:hover {
  background: #8F211E;
  border-color: #8F211E;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 20px 36px rgba(143,33,30,.22);
}

.home-premium .home-cases-ref-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.home-premium .home-case-ref-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-height: 690px;
  padding: 20px 20px 26px;
  border: 1px solid rgba(232,225,218,.95);
  border-radius: 24px;
  background: rgba(255,253,249,.88);
  box-shadow: 0 22px 60px rgba(64,44,34,.075);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-premium .home-case-ref-card:hover {
  transform: translateY(-4px);
  border-color: rgba(170,43,38,.18);
  box-shadow: 0 28px 74px rgba(64,44,34,.11);
}

.home-premium .home-case-media {
  position: relative;
  margin-bottom: 32px;
}

.home-premium .home-case-media .case-thumb {
  width: 100%;
  height: 190px;
  border-radius: 16px;
  object-fit: cover;
  filter: sepia(.08) saturate(.82);
}

.home-premium .home-case-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: rgba(170,43,38,.08);
  pointer-events: none;
}

.home-premium .home-case-media-icon {
  position: absolute;
  left: 18px;
  bottom: -18px;
  z-index: 2;
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(170,43,38,.18);
  border-radius: 14px;
  background: rgba(255,253,249,.96);
  box-shadow: 0 16px 34px rgba(64,44,34,.12);
}

.home-premium .home-case-media-icon img {
  width: 28px;
  height: 28px;
  filter: brightness(0) saturate(100%) invert(17%) sepia(71%) saturate(2300%) hue-rotate(349deg) brightness(92%) contrast(92%);
}

.home-premium .home-case-category {
  margin: 0 0 12px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.home-premium .home-case-ref-card h3 {
  min-height: 2.25em;
  margin: 0 0 22px;
  color: #111315;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.03em;
}

.home-premium .home-case-tasks {
  flex: 1 1 auto;
  display: grid;
  gap: 0;
  margin: 0 0 24px;
}

.home-premium .home-case-task {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  padding: 0 0 18px;
  margin: 0 0 18px;
  border-bottom: 1px solid rgba(232,225,218,.95);
}

.home-premium .home-case-task:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.home-premium .home-case-task-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(170,43,38,.08);
}

.home-premium .home-case-task-icon img {
  width: 18px;
  height: 18px;
  filter: brightness(0) saturate(100%) invert(17%) sepia(71%) saturate(2300%) hue-rotate(349deg) brightness(92%) contrast(92%);
}

.home-premium .home-case-task strong {
  display: block;
  margin: 0 0 4px;
  color: #111315;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.22;
}

.home-premium .home-case-task p {
  margin: 0;
  color: #454952;
  font-family: var(--sans);
  font-size: 14.5px;
  line-height: 1.42;
}

.home-premium .home-case-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease, transform .2s ease;
}

.home-premium .home-case-link:hover {
  color: #8F211E;
  transform: translateX(2px);
}

.home-premium .home-cases-all-wrap {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.home-premium .home-cases-all {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 26px;
  border-color: #AA2B26;
  color: #AA2B26;
  background: rgba(255,255,255,.74);
}

.home-premium .home-cases-all:hover {
  background: #AA2B26;
  color: #fff;
}

@media (max-width: 1180px) {
  .home-premium .home-service-ref-head {
    grid-template-columns: 92px 1fr;
    gap: 18px;
  }

  .home-premium .home-service-ref-icon {
    width: 84px;
    height: 84px;
  }

  .home-premium .home-service-ref-card h3 {
    font-size: 28px;
  }

  .home-premium .home-case-ref-card h3 {
    font-size: 22px;
  }
}

@media (max-width: 1024px) {
  .home-premium .home-services-ref-grid,
  .home-premium .home-cases-ref-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-premium .home-service-ref-card,
  .home-premium .home-case-ref-card {
    min-height: 0;
  }

  .home-premium .hp-services-cases .hp-ref-subhead--left {
    text-align: center;
  }
}

@media (max-width: 760px) {
  .home-premium .hp-services-cases {
    padding-top: 58px;
    padding-bottom: 62px;
  }

  .home-premium .home-services-ref-grid,
  .home-premium .home-cases-ref-grid {
    grid-template-columns: 1fr;
  }

  .home-premium .home-service-ref-card {
    padding: 28px 22px 24px;
  }

  .home-premium .home-service-ref-head {
    grid-template-columns: 74px 1fr;
    gap: 16px;
    margin-bottom: 20px;
  }

  .home-premium .home-service-ref-icon {
    width: 70px;
    height: 70px;
  }

  .home-premium .home-service-ref-icon img {
    width: 32px;
    height: 32px;
  }

  .home-premium .home-service-ref-card h3 {
    font-size: 25px;
  }

  .home-premium .home-service-ref-text {
    min-height: 0;
    font-size: 16px;
  }

  .home-premium .hp-services-cases .home-service-ref-btn {
    min-height: 54px;
    font-size: 16px;
  }

  .home-premium .home-case-ref-card {
    padding: 18px 18px 22px;
  }

  .home-premium .home-case-media .case-thumb {
    height: 180px;
  }

  .home-premium .home-case-ref-card h3 {
    min-height: 0;
  }
}

/* Homepage Services + Cases compact correction */
.home-premium .hp-services-cases {
  padding-top: 78px;
  padding-bottom: 82px;
}

.home-premium .hp-services-cases .hp-combined-head {
  margin-bottom: 38px;
}

.home-premium .hp-services-cases .hp-combined-group + .hp-combined-group {
  margin-top: 66px;
}

.home-premium .home-services-ref-grid,
.home-premium .home-cases-ref-grid {
  align-items: stretch;
}

.home-premium .home-service-ref-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 28px 26px 26px !important;
  border-radius: 24px;
  overflow: visible;
}

.home-premium .home-service-ref-head {
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  gap: 18px !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.home-premium .home-service-ref-icon {
  width: 76px !important;
  height: 76px !important;
}

.home-premium .home-service-ref-icon img {
  width: 34px !important;
  height: 34px !important;
}

.home-premium .home-service-ref-card h3 {
  font-size: clamp(25px, 1.85vw, 31px) !important;
  line-height: 1.14 !important;
}

.home-premium .home-service-ref-text {
  min-height: 0 !important;
  margin-bottom: 18px !important;
  font-size: 16px !important;
  line-height: 1.44 !important;
}

.home-premium .home-service-pills {
  gap: 7px !important;
  margin-bottom: 24px !important;
}

.home-premium .home-service-pills li {
  min-height: 34px !important;
  padding: 7px 12px 7px 36px !important;
  border-radius: 11px !important;
  font-size: 14.5px !important;
  line-height: 1.2 !important;
}

.home-premium .home-service-pills li::before {
  left: 16px !important;
  width: 6px !important;
  height: 6px !important;
  box-shadow: 0 0 0 4px rgba(170,43,38,.09) !important;
}

.home-premium .hp-services-cases .home-service-ref-btn {
  min-height: 54px !important;
  margin-top: auto !important;
  border-radius: 13px !important;
  font-size: 16px !important;
}

.home-premium .home-case-ref-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 18px 18px 22px !important;
  border-radius: 22px;
  overflow: visible;
}

.home-premium .home-case-media {
  margin-bottom: 28px !important;
}

.home-premium .home-case-media .case-thumb {
  height: 160px !important;
  border-radius: 15px !important;
}

.home-premium .home-case-media-icon {
  left: 16px !important;
  bottom: -16px !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 13px !important;
}

.home-premium .home-case-media-icon img {
  width: 23px !important;
  height: 23px !important;
}

.home-premium .home-case-category {
  margin-bottom: 10px !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
}

.home-premium .home-case-ref-card h3 {
  min-height: 0 !important;
  margin-bottom: 16px !important;
  font-size: 22px !important;
  line-height: 1.13 !important;
}

.home-premium .home-case-tasks {
  flex: 1 1 auto !important;
  margin-bottom: 20px !important;
}

.home-premium .home-case-task {
  grid-template-columns: 32px 1fr !important;
  gap: 12px !important;
  padding-bottom: 13px !important;
  margin-bottom: 13px !important;
}

.home-premium .home-case-task-icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
}

.home-premium .home-case-task-icon img {
  width: 16px !important;
  height: 16px !important;
}

.home-premium .home-case-task strong {
  margin-bottom: 3px !important;
  font-size: 14px !important;
}

.home-premium .home-case-task p {
  font-size: 13.8px !important;
  line-height: 1.36 !important;
}

.home-premium .home-case-link {
  margin-top: auto !important;
  font-size: 14.5px !important;
}

@media (max-width: 1180px) {
  .home-premium .home-service-ref-head {
    grid-template-columns: 74px 1fr !important;
  }

  .home-premium .home-service-ref-icon {
    width: 68px !important;
    height: 68px !important;
  }

  .home-premium .home-service-ref-card h3 {
    font-size: 25px !important;
  }
}

@media (max-width: 760px) {
  .home-premium .hp-services-cases {
    padding-top: 56px;
    padding-bottom: 60px;
  }

  .home-premium .home-service-ref-card,
  .home-premium .home-case-ref-card {
    min-height: 0 !important;
  }

  .home-premium .home-service-ref-head {
    grid-template-columns: 66px 1fr !important;
    gap: 14px !important;
  }

  .home-premium .home-service-ref-icon {
    width: 62px !important;
    height: 62px !important;
  }

  .home-premium .home-service-ref-card h3 {
    font-size: 24px !important;
  }

  .home-premium .home-case-media .case-thumb {
    height: 178px !important;
  }
}

/* Emergency fix: keep homepage service card content inside cards and restore normal document flow */
.home-premium .hp-services-cases .home-services-ref-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.home-premium .hp-services-cases .home-service-ref-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 28px 26px 26px !important;
  overflow: hidden !important;
}

.home-premium .hp-services-cases .home-service-ref-card .home-service-ref-head {
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  align-items: center !important;
  gap: 18px !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  margin: 0 0 20px !important;
}

.home-premium .hp-services-cases .home-service-ref-card .home-service-ref-text,
.home-premium .hp-services-cases .home-service-ref-card .home-service-pills,
.home-premium .hp-services-cases .home-service-ref-card .home-service-ref-btn {
  position: relative !important;
  z-index: 1 !important;
}

.home-premium .hp-services-cases .home-service-ref-card .home-service-ref-text {
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
}

.home-premium .hp-services-cases .home-service-ref-card .home-service-pills {
  flex: 0 0 auto !important;
}

.home-premium .hp-services-cases .home-service-ref-card .home-service-ref-btn {
  position: static !important;
  margin-top: auto !important;
  align-self: stretch !important;
  width: 100% !important;
}

.home-premium .hp-services-cases .hp-combined-cases {
  position: relative !important;
  top: auto !important;
  transform: none !important;
  margin-top: 66px !important;
  clear: both !important;
}

.home-premium .hp-services-cases .home-cases-ref-grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}

.home-premium .hp-services-cases .home-case-ref-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.home-premium .hp-services-cases .home-case-link {
  position: static !important;
  margin-top: auto !important;
}

@media (max-width: 1024px) {
  .home-premium .hp-services-cases .home-services-ref-grid,
  .home-premium .hp-services-cases .home-cases-ref-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .home-premium .hp-services-cases .home-services-ref-grid,
  .home-premium .hp-services-cases .home-cases-ref-grid {
    grid-template-columns: 1fr !important;
  }

  .home-premium .hp-services-cases .home-service-ref-card .home-service-ref-head {
    grid-template-columns: 66px 1fr !important;
    gap: 14px !important;
  }
}

/* Homepage services/cases subheads cleanup: remove large titles and center service labels/descriptions */
.home-premium .hp-services-cases .hp-ref-subhead,
.home-premium .hp-services-cases .hp-ref-subhead--left {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  text-align: center;
}

.home-premium .hp-services-cases .hp-ref-subhead > .hp-kicker {
  margin: 0 0 10px;
  text-align: center;
}

.home-premium .hp-services-cases .hp-ref-subhead .hp-ref-lead {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.home-premium .hp-services-cases .hp-ref-subhead h3 {
  display: none;
}

/* Homepage services: decorative lines around "МОИ УСЛУГИ" and line icons in service pills */
.home-premium .hp-services-cases .hp-ref-subhead--services > .hp-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-left: auto;
  margin-right: auto;
  color: #AA2B26;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.home-premium .hp-services-cases .hp-ref-subhead--services > .hp-kicker::before,
.home-premium .hp-services-cases .hp-ref-subhead--services > .hp-kicker::after {
  content: "";
  width: 52px;
  height: 1px;
  background: rgba(170, 43, 38, .28);
  flex: 0 0 auto;
}

.home-premium .hp-services-cases .home-service-pills li {
  padding: 8px 14px !important;
  gap: 11px;
}

.home-premium .hp-services-cases .home-service-pills li::before {
  display: none !important;
}

.home-premium .hp-services-cases .home-service-pills li .home-service-pill-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  stroke: #AA2B26;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: #AA2B26;
}

.home-premium .hp-services-cases .home-service-pills li .home-service-pill-icon path,
.home-premium .hp-services-cases .home-service-pills li .home-service-pill-icon circle,
.home-premium .hp-services-cases .home-service-pills li .home-service-pill-icon ellipse,
.home-premium .hp-services-cases .home-service-pills li .home-service-pill-icon line,
.home-premium .hp-services-cases .home-service-pills li .home-service-pill-icon polyline {
  stroke: #AA2B26;
  fill: none;
}

.home-premium .hp-services-cases .home-service-pills li span {
  display: block;
  min-width: 0;
}

@media (max-width: 640px) {
  .home-premium .hp-services-cases .hp-ref-subhead--services > .hp-kicker {
    gap: 12px;
    letter-spacing: .16em;
  }

  .home-premium .hp-services-cases .hp-ref-subhead--services > .hp-kicker::before,
  .home-premium .hp-services-cases .hp-ref-subhead--services > .hp-kicker::after {
    width: 34px;
  }
}

/* Homepage cases: decorative lines around "КЕЙСЫ" to match "МОИ УСЛУГИ" */
.home-premium .hp-services-cases .hp-combined-cases .hp-ref-subhead > .hp-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-left: auto;
  margin-right: auto;
  color: #AA2B26;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.home-premium .hp-services-cases .hp-combined-cases .hp-ref-subhead > .hp-kicker::before,
.home-premium .hp-services-cases .hp-combined-cases .hp-ref-subhead > .hp-kicker::after {
  content: "";
  width: 52px;
  height: 1px;
  background: rgba(170, 43, 38, .28);
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .home-premium .hp-services-cases .hp-combined-cases .hp-ref-subhead > .hp-kicker {
    gap: 12px;
    letter-spacing: .16em;
  }

  .home-premium .hp-services-cases .hp-combined-cases .hp-ref-subhead > .hp-kicker::before,
  .home-premium .hp-services-cases .hp-combined-cases .hp-ref-subhead > .hp-kicker::after {
    width: 34px;
  }
}


/* Service structure sync: homepage, services page and service detail pages */
.home-premium .hp-services-cases .home-services-ref-grid--eight {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-card {
  padding: 24px 22px 24px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-head {
  grid-template-columns: 62px 1fr !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-icon {
  width: 58px !important;
  height: 58px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-icon img {
  width: 27px !important;
  height: 27px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-card h3 {
  font-size: clamp(21px, 1.45vw, 25px) !important;
  line-height: 1.12 !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-text {
  margin-bottom: 16px !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-pills {
  gap: 7px !important;
  margin-bottom: 22px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-pills li {
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: 14px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-pill-icon {
  width: 16px !important;
  height: 16px !important;
  flex-basis: 16px !important;
}

.home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-btn {
  min-height: 50px !important;
  font-size: 15px !important;
}

body.services-page .services-list-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

body.services-page .service-card--detailed {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: auto;
}

body.services-page .service-card--detailed h3 {
  min-height: 2.35em;
}

body.services-page .service-card-list {
  display: grid;
  gap: 7px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}

body.services-page .service-card-list li {
  position: relative;
  padding-left: 18px;
  color: var(--services-ink);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.3;
}

body.services-page .service-card-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--services-accent);
  box-shadow: 0 0 0 4px rgba(170,43,38,.08);
}

body.services-page .service-card-result {
  margin: 0 0 18px;
  color: var(--services-muted);
  font-size: 14px;
  line-height: 1.4;
}

body.services-page .service-card--detailed .link-more {
  margin-top: auto;
}

body.service-detail-page .service-detail-section {
  padding-top: 72px;
}

body.service-detail-page .service-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 28px;
  align-items: stretch;
}

body.service-detail-page .service-detail-card {
  padding: 34px;
}

body.service-detail-page .service-detail-card .section-title {
  margin: 18px 0 22px;
  font-size: clamp(30px, 2.6vw, 42px);
}

body.service-detail-page .service-detail-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: serviceStep;
}

body.service-detail-page .service-detail-list li {
  counter-increment: serviceStep;
  position: relative;
  padding: 14px 16px 14px 52px;
  border: 1px solid rgba(170,43,38,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  color: var(--services-ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.4;
}

body.service-detail-page .service-detail-list li::before {
  content: counter(serviceStep);
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(170,43,38,.09);
  color: var(--services-accent);
  font-size: 12px;
  font-weight: 700;
}

body.service-detail-page .service-detail-card--result {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,250,246,.9));
}

body.service-detail-page .service-detail-result .eyebrow {
  margin: 0 0 12px;
}

body.service-detail-page .service-detail-result .section-title {
  margin: 0;
  font-size: clamp(28px, 2.4vw, 38px);
}

body.service-detail-page .service-detail-card--result .btn {
  align-self: flex-start;
  margin-top: 28px;
}

body.service-detail-page .service-detail-cta {
  margin-top: 28px;
  margin-bottom: 84px;
}

@media (max-width: 1180px) {
  .home-premium .hp-services-cases .home-services-ref-grid--eight,
  body.services-page .services-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.service-detail-page .service-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .home-premium .hp-services-cases .home-services-ref-grid--eight,
  body.services-page .services-list-grid {
    grid-template-columns: 1fr !important;
  }

  .home-premium .hp-services-cases .home-services-ref-grid--eight .home-service-ref-head {
    grid-template-columns: 58px 1fr !important;
  }

  body.service-detail-page .service-detail-card {
    padding: 26px 20px;
  }

  body.service-detail-page .service-detail-section {
    padding-top: 52px;
  }
}


/* Services page: center only service card titles */
body.services-page .service-card--detailed > h3 {
  text-align: center !important;
  align-self: stretch;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Cases page: modern secondary case cards aligned with home-page case card style */
body.cases-page .cases-modern-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

body.cases-page .cases-modern-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 18px 18px 22px;
  border: 1px solid rgba(232, 225, 218, 0.95);
  border-radius: 24px;
  background: rgba(255, 253, 249, 0.92);
  box-shadow: 0 22px 58px rgba(64, 44, 34, 0.075);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.cases-page .cases-modern-card:hover {
  transform: translateY(-4px);
  border-color: rgba(170, 43, 38, 0.18);
  box-shadow: 0 28px 72px rgba(64, 44, 34, 0.11);
}

body.cases-page .cases-modern-media {
  position: relative;
  margin: 0 0 28px;
}

body.cases-page .cases-modern-media .case-thumb {
  display: block;
  width: 100%;
  height: 176px;
  border-radius: 18px;
  object-fit: cover;
  filter: sepia(.08) saturate(.82);
}

body.cases-page .cases-modern-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  background: rgba(170, 43, 38, 0.07);
  pointer-events: none;
}

body.cases-page .cases-modern-icon {
  position: absolute;
  left: 18px;
  bottom: -17px;
  z-index: 2;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(170, 43, 38, 0.16);
  border-radius: 15px;
  background: rgba(255, 253, 249, 0.97);
  box-shadow: 0 14px 30px rgba(64, 44, 34, 0.12);
}

body.cases-page .cases-modern-icon img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(17%) sepia(71%) saturate(2300%) hue-rotate(349deg) brightness(92%) contrast(92%);
}

body.cases-page .cases-modern-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

body.cases-page .cases-modern-card h3 {
  min-height: 2.25em;
  margin: 0 0 12px;
  color: #111315;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.03em;
}

body.cases-page .cases-modern-card p {
  margin: 0 0 22px;
  color: #454952;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.5;
}

body.cases-page .cases-modern-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 46px;
  margin-top: auto;
  padding: 0 20px;
  border: 1px solid #AA2B26;
  border-radius: 12px;
  color: #AA2B26;
  background: rgba(255, 253, 249, 0.92);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.cases-page .cases-modern-link:hover {
  color: #fff;
  background: #AA2B26;
  box-shadow: 0 16px 34px rgba(143, 33, 30, .18);
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  body.cases-page .cases-modern-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.cases-page .cases-modern-grid {
    grid-template-columns: 1fr;
  }

  body.cases-page .cases-modern-card {
    padding: 16px 16px 20px;
  }

  body.cases-page .cases-modern-media .case-thumb {
    height: 168px;
  }

  body.cases-page .cases-modern-card h3 {
    min-height: 0;
    font-size: 22px;
  }
}

/* Cases page portfolio redesign: featured case + compact case cards */
body.cases-page .case-main-featured {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(232, 225, 218, 0.95);
  border-radius: 30px;
  background: rgba(255, 253, 249, 0.94);
  box-shadow: 0 30px 80px rgba(64, 44, 34, 0.09);
}

body.cases-page .case-main-featured .case-main-top {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 30px;
  align-items: stretch;
  padding: 30px;
}

body.cases-page .case-main-featured .case-main-content {
  justify-content: flex-start;
  gap: 18px;
  min-width: 0;
}

body.cases-page .case-main-featured .case-main-content > small {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.cases-page .case-main-featured .case-main-content > small::after {
  content: "";
  width: 44px;
  height: 1px;
  background: rgba(170, 43, 38, 0.28);
}

body.cases-page .case-main-featured .section-title {
  margin: 0;
  max-width: 720px;
  font-size: clamp(34px, 3.2vw, 50px);
  line-height: .98;
  letter-spacing: -.045em;
}

body.cases-page .case-main-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 2px;
}

body.cases-page .case-main-info-item {
  padding: 14px 16px;
  border: 1px solid rgba(232, 225, 218, .9);
  border-radius: 16px;
  background: rgba(250, 248, 245, .72);
}

body.cases-page .case-main-info-item span {
  display: block;
  margin: 0 0 6px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.cases-page .case-main-info-item p {
  margin: 0;
  max-width: none;
  color: #454952;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.48;
}

body.cases-page .case-main-featured .btn-small {
  align-self: flex-start;
  margin-top: 2px;
  box-shadow: 0 14px 28px rgba(143, 33, 30, .14);
}

body.cases-page .case-main-featured .case-main-visual {
  min-height: 100%;
  border-radius: 24px;
  overflow: hidden;
  background: #F1ECE6;
}

body.cases-page .case-main-featured .case-main-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  max-height: none;
  border-radius: 24px;
  object-fit: cover;
  object-position: center;
  filter: sepia(.08) saturate(.9) contrast(.98);
}

body.cases-page .case-main-kpi {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(232, 225, 218, .95);
  background: rgba(250, 248, 245, .78);
}

body.cases-page .case-main-kpi .metric {
  min-height: 104px;
  padding: 20px 18px;
  border-right: 1px solid rgba(232, 225, 218, .95);
  border-radius: 16px;
  background: transparent;
  color: #5F6268;
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

body.cases-page .case-main-kpi .metric:last-child {
  border-right: 0;
}

body.cases-page .case-main-kpi .metric strong {
  display: block;
  margin: 0 0 6px;
  color: #AA2B26;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.035em;
}

body.cases-page .cases-secondary-section .section-title {
  margin-bottom: 34px;
  text-align: center;
}

body.cases-page .cases-modern-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}

body.cases-page .cases-modern-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px 16px 20px;
  border: 1px solid rgba(232, 225, 218, 0.95);
  border-radius: 24px;
  background: rgba(255, 253, 249, 0.94);
  box-shadow: 0 22px 58px rgba(64, 44, 34, 0.075);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.cases-page .cases-modern-card:hover {
  transform: translateY(-4px);
  border-color: rgba(170, 43, 38, 0.18);
  box-shadow: 0 28px 72px rgba(64, 44, 34, 0.11);
}

body.cases-page .cases-modern-media {
  position: relative;
  margin: 0 0 26px;
}

body.cases-page .cases-modern-media .case-thumb {
  display: block;
  width: 100%;
  height: 170px;
  margin: 0;
  padding: 0;
  border-radius: 18px;
  object-fit: cover;
  object-position: center;
  filter: sepia(.08) saturate(.84) contrast(.98);
}

body.cases-page .cases-modern-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  background: rgba(170, 43, 38, 0.055);
  pointer-events: none;
}

body.cases-page .cases-modern-icon {
  position: absolute;
  left: 16px;
  bottom: -16px;
  z-index: 2;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(170, 43, 38, 0.14);
  border-radius: 15px;
  background: rgba(255, 253, 249, 0.98);
  box-shadow: 0 14px 30px rgba(64, 44, 34, 0.12);
}

body.cases-page .cases-modern-icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(17%) sepia(71%) saturate(2300%) hue-rotate(349deg) brightness(92%) contrast(92%);
}

body.cases-page .cases-modern-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

body.cases-page .cases-modern-card h3 {
  min-height: 2.2em;
  margin: 0 0 10px;
  color: #111315;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.035em;
}

body.cases-page .cases-modern-card p {
  margin: 0 0 14px;
  color: #454952;
  font-family: var(--sans);
  font-size: 14.5px;
  line-height: 1.48;
}

body.cases-page .cases-modern-result {
  margin: auto 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(170, 43, 38, 0.13);
  border-radius: 14px;
  background: rgba(170, 43, 38, 0.055);
}

body.cases-page .cases-modern-result span {
  display: block;
  margin: 0 0 4px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.cases-page .cases-modern-result strong {
  display: block;
  color: #111315;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

body.cases-page .cases-modern-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 46px;
  margin-top: 0;
  padding: 0 20px;
  border: 1px solid #AA2B26;
  border-radius: 12px;
  color: #AA2B26;
  background: rgba(255, 253, 249, 0.95);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.cases-page .cases-modern-link:hover {
  color: #fff;
  background: #AA2B26;
  box-shadow: 0 16px 34px rgba(143, 33, 30, .18);
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  body.cases-page .case-main-featured .case-main-top {
    grid-template-columns: 1fr;
  }

  body.cases-page .case-main-featured .case-main-visual img {
    min-height: 300px;
    height: 320px;
  }

  body.cases-page .case-main-kpi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.cases-page .case-main-kpi .metric:nth-child(2n) {
    border-right: 0;
  }

  body.cases-page .case-main-kpi .metric:nth-child(-n+2) {
    border-bottom: 1px solid rgba(232, 225, 218, .95);
  }

  body.cases-page .cases-modern-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.cases-page .case-main-featured {
    border-radius: 24px;
  }

  body.cases-page .case-main-featured .case-main-top {
    padding: 20px;
    gap: 22px;
  }

  body.cases-page .case-main-featured .case-main-visual img {
    min-height: 220px;
    height: 240px;
  }

  body.cases-page .case-main-info-item {
    padding: 13px 14px;
  }

  body.cases-page .case-main-kpi {
    grid-template-columns: 1fr;
  }

  body.cases-page .case-main-kpi .metric,
  body.cases-page .case-main-kpi .metric:nth-child(2n) {
    min-height: 90px;
    border-right: 0;
    border-bottom: 1px solid rgba(232, 225, 218, .95);
  }

  body.cases-page .case-main-kpi .metric:last-child {
    border-bottom: 0;
  }

  body.cases-page .cases-modern-grid {
    grid-template-columns: 1fr;
  }

  body.cases-page .cases-modern-card {
    padding: 16px 16px 20px;
  }

  body.cases-page .cases-modern-media .case-thumb {
    height: 168px;
  }

  body.cases-page .cases-modern-card h3 {
    min-height: 0;
    font-size: 22px;
  }
}

/* Services page: key products and additional formats redesign */
body.services-page .services-showcase {
  background: #FAF8F5;
}

body.services-page .services-page-head {
  max-width: 780px;
  margin: 0 auto 34px;
  text-align: center;
}

body.services-page .services-page-head .eyebrow {
  color: #AA2B26;
  font-weight: 500;
  letter-spacing: .2em;
}

body.services-page .services-page-head .lead {
  max-width: 680px;
  margin: 12px auto 0;
}

body.services-page .services-page-head--compact {
  margin-bottom: 28px;
}

body.services-page .services-primary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}

body.services-page .service-primary-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  padding: 30px;
  border: 1px solid rgba(232, 225, 218, .98);
  border-radius: 28px;
  background: rgba(255, 253, 249, .94);
  box-shadow: 0 22px 54px rgba(64, 44, 34, .08);
  overflow: hidden;
}

body.services-page .service-primary-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, rgba(170,43,38,.08), rgba(170,43,38,.45), rgba(170,43,38,.08));
}

body.services-page .service-badge {
  align-self: flex-start;
  margin-bottom: 18px;
  padding: 7px 12px;
  border: 1px solid rgba(170, 43, 38, .18);
  border-radius: 999px;
  background: rgba(170, 43, 38, .06);
  color: #AA2B26;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.services-page .service-primary-icon,
body.services-page .service-add-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(170, 43, 38, .12);
  background: rgba(170, 43, 38, .07);
}

body.services-page .service-primary-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 20px;
  border-radius: 20px;
}

body.services-page .service-primary-icon img,
body.services-page .service-add-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(20%) sepia(56%) saturate(1926%) hue-rotate(342deg) brightness(93%) contrast(93%);
}

body.services-page .service-primary-card h3,
body.services-page .service-add-card h3 {
  margin: 0;
  color: #111315;
  font-family: var(--serif);
  font-weight: 600;
  letter-spacing: -.035em;
}

body.services-page .service-primary-card h3 {
  min-height: 2.12em;
  font-size: clamp(25px, 2.1vw, 32px);
  line-height: 1.06;
}

body.services-page .service-primary-text {
  margin: 14px 0 20px;
  color: #4f535a;
  font-size: 15.5px;
  line-height: 1.55;
}

body.services-page .service-mini-block {
  margin: 0 0 16px;
}

body.services-page .service-mini-block > span,
body.services-page .service-result-box > span {
  display: block;
  margin-bottom: 10px;
  color: #AA2B26;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.services-page .service-mini-block ul,
body.services-page .service-add-card ul,
body.services-page .service-final-benefits {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.services-page .service-mini-block ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.services-page .service-mini-block li {
  position: relative;
  padding: 8px 11px 8px 24px;
  border: 1px solid rgba(232, 225, 218, .95);
  border-radius: 999px;
  background: rgba(250, 248, 245, .82);
  color: #23262b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.1;
}

body.services-page .service-mini-block li::before,
body.services-page .service-add-card li::before,
body.services-page .service-final-benefits li::before {
  content: "✓";
  position: absolute;
  left: 9px;
  color: #AA2B26;
  font-weight: 800;
}

body.services-page .service-result-box {
  margin: auto 0 18px;
  padding: 16px 18px;
  border: 1px solid rgba(170, 43, 38, .16);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(170,43,38,.07), rgba(170,43,38,.04));
}

body.services-page .service-result-box strong {
  display: block;
  color: #111315;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.35;
}

body.services-page .service-primary-link,
body.services-page .service-add-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid #AA2B26;
  border-radius: 12px;
  background: #AA2B26;
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.services-page .service-primary-link:hover,
body.services-page .service-add-card a:hover {
  background: #8F211E;
  border-color: #8F211E;
  box-shadow: 0 16px 34px rgba(143, 33, 30, .16);
  transform: translateY(-1px);
}

body.services-page .services-additional-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

body.services-page .service-add-card {
  display: flex;
  flex-direction: column;
  grid-column: span 2;
  min-height: 0;
  padding: 24px;
  border: 1px solid rgba(232, 225, 218, .98);
  border-radius: 24px;
  background: rgba(255, 253, 249, .9);
  box-shadow: 0 18px 42px rgba(64, 44, 34, .06);
}

body.services-page .service-add-card:nth-child(4) {
  grid-column: 2 / span 2;
}

body.services-page .service-add-card:nth-child(5) {
  grid-column: 4 / span 2;
}

body.services-page .service-add-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
  border-radius: 16px;
}

body.services-page .service-add-icon img {
  width: 24px;
  height: 24px;
}

body.services-page .service-add-card h3 {
  min-height: 2.18em;
  font-size: 23px;
  line-height: 1.09;
}

body.services-page .service-add-card p {
  margin: 12px 0 14px;
  color: #555961;
  font-size: 14.5px;
  line-height: 1.48;
}

body.services-page .service-add-card ul {
  display: grid;
  gap: 7px;
  margin-bottom: 18px;
}

body.services-page .service-add-card li {
  position: relative;
  padding-left: 20px;
  color: #292d33;
  font-size: 13.5px;
  line-height: 1.3;
}

body.services-page .service-add-card li::before {
  left: 0;
  top: 0;
}

body.services-page .service-add-card a {
  margin-top: auto;
  min-height: 44px;
  background: rgba(255, 253, 249, .95);
  color: #AA2B26;
}

body.services-page .service-add-card a:hover {
  color: #fff;
}

body.services-page .service-help-section,
body.services-page .service-final-section {
  background: #FAF8F5;
}

body.services-page .service-help-card,
body.services-page .service-final-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;
  border: 1px solid rgba(232, 225, 218, .98);
  border-radius: 30px;
  background: rgba(255, 253, 249, .92);
  box-shadow: 0 24px 60px rgba(64, 44, 34, .08);
}

body.services-page .service-help-card {
  padding: 34px 38px;
}

body.services-page .service-final-card {
  padding: 40px 42px;
  background: linear-gradient(135deg, rgba(255,253,249,.95), rgba(170,43,38,.055));
}

body.services-page .service-help-card .section-title,
body.services-page .service-final-card .section-title {
  margin-bottom: 10px;
}

body.services-page .service-help-card .lead,
body.services-page .service-final-card .lead {
  max-width: 720px;
  margin: 0;
}

body.services-page .service-final-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body.services-page .service-final-benefits li {
  position: relative;
  padding: 9px 13px 9px 30px;
  border: 1px solid rgba(170, 43, 38, .14);
  border-radius: 999px;
  background: rgba(170, 43, 38, .055);
  color: #25282d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

body.services-page .service-final-benefits li::before {
  left: 13px;
  top: 8px;
}

body.services-page .service-help-card .btn,
body.services-page .service-final-card .btn {
  white-space: nowrap;
}

@media (max-width: 1100px) {
  body.services-page .services-primary-grid {
    grid-template-columns: 1fr;
  }
  body.services-page .service-primary-card {
    padding: 28px;
  }
  body.services-page .service-primary-card h3,
  body.services-page .service-add-card h3 {
    min-height: 0;
  }
  body.services-page .services-additional-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.services-page .service-add-card,
  body.services-page .service-add-card:nth-child(4),
  body.services-page .service-add-card:nth-child(5) {
    grid-column: auto;
  }
}

@media (max-width: 720px) {
  body.services-page .services-additional-grid {
    grid-template-columns: 1fr;
  }
  body.services-page .service-help-card,
  body.services-page .service-final-card {
    grid-template-columns: 1fr;
    padding: 26px 22px;
  }
  body.services-page .service-primary-card {
    padding: 24px 20px;
    border-radius: 24px;
  }
  body.services-page .service-primary-icon {
    width: 58px;
    height: 58px;
  }
  body.services-page .service-primary-card h3 {
    font-size: 26px;
  }
  body.services-page .service-mini-block ul {
    gap: 7px;
  }
  body.services-page .service-help-card .btn,
  body.services-page .service-final-card .btn,
  body.services-page .service-primary-link {
    width: 100%;
  }
}

/* Cases page: niche label + service-title content structure for portfolio cards */
body.cases-page .cases-modern-category {
  display: block;
  margin: 0 0 8px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.25;
  text-transform: uppercase;
}

body.cases-page .cases-modern-tasks {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 2px 0 16px;
  border-top: 1px solid rgba(232, 225, 218, .82);
}

body.cases-page .cases-modern-task {
  padding: 10px 0;
  border-bottom: 1px solid rgba(232, 225, 218, .82);
}

body.cases-page .cases-modern-task span {
  display: block;
  margin: 0 0 4px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.cases-page .cases-modern-task p {
  margin: 0;
  color: #454952;
  font-family: var(--sans);
  font-size: 13.8px;
  line-height: 1.43;
}

body.cases-page .cases-modern-task:last-child {
  margin-top: 2px;
  padding: 11px 12px;
  border: 1px solid rgba(170, 43, 38, 0.13);
  border-radius: 14px;
  background: rgba(170, 43, 38, 0.055);
}

body.cases-page .cases-modern-task:last-child p {
  color: #111315;
  font-weight: 700;
}


/* Final cases page sync: equal card height and aligned details buttons */
body.cases-page .cases-modern-grid {
  align-items: stretch;
}

body.cases-page .cases-modern-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body.cases-page .cases-modern-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

body.cases-page .cases-modern-tasks {
  flex: 0 0 auto;
}

body.cases-page .cases-modern-link {
  margin-top: auto !important;
}

/* Contacts page: final typography lightening only */
body.contacts-page .contact-grid .contact-card h3 {
  font-family: var(--sans);
  font-weight: 450;
  letter-spacing: -0.01em;
  line-height: 1.22;
}

body.contacts-page .grid.grid-2 > .card .section-title,
body.contacts-page .next-box .section-title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(34px, 3.8vw, 52px);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

body.contacts-page .next-item h3 {
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: #111315;
}

/* Contacts page: unify contact and step titles with global premium serif */
body.contacts-page .contact-grid .contact-card h3 {
  font-family: var(--serif) !important;
  font-weight: 500 !important;
  font-size: 19px;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

body.contacts-page .next-item h3 {
  font-family: var(--serif) !important;
  font-weight: 500 !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: #111315;
}

/* Contacts page: strengthen only "Что дальше?" step titles while keeping serif style */
body.contacts-page .next-item h3 {
  font-family: var(--serif) !important;
  font-weight: 650 !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: #111315;
}


/* Final CTA/form centering and privacy link fixes */
.container.cta {
  width: min(var(--container), calc(100% - 48px));
  max-width: var(--container);
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.home-premium .hp-form-section > .container,
body.materials-page .leadmagnet-dialog,
.consult-modal__dialog {
  margin-left: auto;
  margin-right: auto;
}

.privacy-link {
  color: #AA2B26;
  text-decoration: none;
  font-weight: 600;
}

.privacy-link:hover {
  text-decoration: underline;
}

.privacy-content {
  margin-top: 48px;
  margin-bottom: 84px;
}

.privacy-card {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.privacy-card .section-title {
  margin-top: 28px;
  margin-bottom: 10px;
  font-size: clamp(24px, 2vw, 34px);
}

.privacy-card .section-title:first-child {
  margin-top: 0;
}

.privacy-card p {
  margin: 0 0 16px;
  color: #5F6268;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .container.cta {
    width: min(100% - 32px, var(--container));
  }
}


/* Service detail pages: full content layout */
body.service-detail-page .service-detail-hero--full .lead {
  max-width: 760px;
}

body.service-detail-page .service-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 22px;
  margin-top: 28px;
}

body.service-detail-page .service-back-link {
  color: var(--services-accent, #AA2B26);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(170, 43, 38, .28);
  padding-bottom: 3px;
}

body.service-detail-page .service-back-link:hover {
  border-bottom-color: currentColor;
}

body.service-detail-page .service-section-head {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

body.service-detail-page .service-section-head .section-title {
  margin-top: 10px;
}

body.service-detail-page .service-info-grid,
body.service-detail-page .service-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

body.service-detail-page .service-info-card,
body.service-detail-page .service-result-card {
  position: relative;
  border: 1px solid rgba(170, 43, 38, .12);
  border-radius: 24px;
  padding: 24px 24px 26px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 18px 42px rgba(39, 31, 25, .06);
}

body.service-detail-page .service-info-card::before,
body.service-detail-page .service-result-card::before {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(170, 43, 38, .55);
}

body.service-detail-page .service-info-card h3,
body.service-detail-page .service-result-card h3 {
  margin: 0 0 10px;
  font-family: var(--serif);
  font-size: clamp(21px, 1.55vw, 27px);
  line-height: 1.12;
  font-weight: 650;
  color: var(--ink);
}

body.service-detail-page .service-info-card p,
body.service-detail-page .service-result-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

body.service-detail-page .service-two-column {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: stretch;
}

body.service-detail-page .service-work-panel,
body.service-detail-page .service-process-panel {
  border: 1px solid rgba(170, 43, 38, .12);
  border-radius: 30px;
  padding: 34px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 250, 246, .74));
  box-shadow: 0 22px 50px rgba(39, 31, 25, .07);
}

body.service-detail-page .service-work-panel .section-title,
body.service-detail-page .service-process-panel .section-title {
  margin: 10px 0 24px;
  font-size: clamp(30px, 2.45vw, 42px);
}

body.service-detail-page .service-work-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.service-detail-page .service-work-list li {
  position: relative;
  min-height: 48px;
  padding: 13px 14px 13px 42px;
  border: 1px solid rgba(170, 43, 38, .12);
  border-radius: 15px;
  background: rgba(255, 255, 255, .72);
  line-height: 1.35;
  color: var(--ink);
}

body.service-detail-page .service-work-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 20px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #AA2B26;
  box-shadow: 0 0 0 5px rgba(170, 43, 38, .08);
}

body.service-detail-page .service-process-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

body.service-detail-page .service-process-line li {
  position: relative;
  padding: 18px 16px;
  border: 1px solid rgba(170, 43, 38, .12);
  border-radius: 18px;
  background: rgba(255, 255, 255, .76);
  min-height: 112px;
}

body.service-detail-page .service-process-line li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: rgba(170, 43, 38, .1);
  color: #AA2B26;
  font-weight: 800;
  font-size: 13px;
}

body.service-detail-page .service-process-line li strong {
  display: block;
  font-family: var(--serif);
  font-weight: 650;
  font-size: 20px;
  line-height: 1.15;
}

body.service-detail-page .service-visual {
  border: 1px solid rgba(170, 43, 38, .12);
  border-radius: 30px;
  padding: 30px;
  background: radial-gradient(circle at 12% 0%, rgba(170, 43, 38, .08), transparent 32%), rgba(255, 255, 255, .82);
  box-shadow: 0 22px 50px rgba(39, 31, 25, .06);
}

body.service-detail-page .service-visual--flow,
body.service-detail-page .service-visual--org,
body.service-detail-page .service-visual--matrix,
body.service-detail-page .service-visual--ladder {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body.service-detail-page .service-visual--flow {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body.service-detail-page .service-visual--dialogue {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

body.service-detail-page .service-visual--funnel {
  display: grid;
  max-width: 900px;
  margin: 0 auto;
  gap: 10px;
}

body.service-detail-page .service-visual--cycle {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

body.service-detail-page .service-flow-node,
body.service-detail-page .service-org-node,
body.service-detail-page .service-cycle-node,
body.service-detail-page .service-matrix-cell,
body.service-detail-page .service-ladder-step,
body.service-detail-page .service-visual-step {
  position: relative;
  padding: 18px 16px;
  border: 1px solid rgba(170, 43, 38, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .84);
  min-height: 112px;
}

body.service-detail-page .service-flow-node:not(:last-child)::after,
body.service-detail-page .service-org-node:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(170, 43, 38, .55);
  font-weight: 800;
}

body.service-detail-page .service-visual-step {
  width: calc(100% - var(--funnel-shift, 0px));
  margin-left: auto;
}

body.service-detail-page .service-visual-step:nth-child(1) { --funnel-shift: 0px; }
body.service-detail-page .service-visual-step:nth-child(2) { --funnel-shift: 36px; }
body.service-detail-page .service-visual-step:nth-child(3) { --funnel-shift: 72px; }
body.service-detail-page .service-visual-step:nth-child(4) { --funnel-shift: 108px; }
body.service-detail-page .service-visual-step:nth-child(5) { --funnel-shift: 144px; }
body.service-detail-page .service-visual-step:nth-child(6) { --funnel-shift: 180px; }

body.service-detail-page .service-flow-node strong,
body.service-detail-page .service-org-node strong,
body.service-detail-page .service-cycle-node strong,
body.service-detail-page .service-matrix-cell strong,
body.service-detail-page .service-ladder-step strong,
body.service-detail-page .service-visual-step strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-family: var(--serif);
  font-weight: 650;
  font-size: 20px;
  line-height: 1.12;
}

body.service-detail-page .service-flow-node span,
body.service-detail-page .service-org-node span,
body.service-detail-page .service-cycle-node span,
body.service-detail-page .service-matrix-cell span,
body.service-detail-page .service-ladder-step span,
body.service-detail-page .service-visual-step span {
  display: block;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.4;
}

body.service-detail-page .service-result-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.service-detail-page .service-detail-final-cta {
  max-width: min(1120px, calc(100% - 48px));
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 26px;
  margin-bottom: 86px;
}

@media (max-width: 1180px) {
  body.service-detail-page .service-info-grid,
  body.service-detail-page .service-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.service-detail-page .service-two-column {
    grid-template-columns: 1fr;
  }
  body.service-detail-page .service-visual--flow,
  body.service-detail-page .service-visual--dialogue,
  body.service-detail-page .service-visual--org,
  body.service-detail-page .service-visual--matrix,
  body.service-detail-page .service-visual--ladder,
  body.service-detail-page .service-visual--cycle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.service-detail-page .service-flow-node:not(:last-child)::after,
  body.service-detail-page .service-org-node:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 760px) {
  body.service-detail-page .service-info-grid,
  body.service-detail-page .service-result-grid,
  body.service-detail-page .service-work-list,
  body.service-detail-page .service-process-line,
  body.service-detail-page .service-visual--flow,
  body.service-detail-page .service-visual--dialogue,
  body.service-detail-page .service-visual--org,
  body.service-detail-page .service-visual--matrix,
  body.service-detail-page .service-visual--ladder,
  body.service-detail-page .service-visual--cycle {
    grid-template-columns: 1fr;
  }
  body.service-detail-page .service-work-panel,
  body.service-detail-page .service-process-panel,
  body.service-detail-page .service-visual {
    padding: 24px 18px;
    border-radius: 24px;
  }
  body.service-detail-page .service-visual-step {
    width: 100%;
  }
  body.service-detail-page .service-detail-final-cta {
    max-width: calc(100% - 32px);
  }
}

/* Official client letters on cases page */
.client-letters-section .section-head {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.pdf-docs-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.pdf-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 12px 34px rgba(40, 20, 30, .05);
  overflow: hidden;
  transition: .25s ease;
}

.pdf-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: rgba(170, 43, 38, .20);
}

.pdf-card__preview {
  display: block;
  padding: 18px 18px 0;
  background: linear-gradient(180deg, rgba(250, 246, 238, .68), rgba(255, 255, 255, 0));
}

.pdf-card__preview img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: contain;
  object-position: center top;
  background: #fff;
  border: 1px solid rgba(65, 55, 48, .12);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(40, 20, 30, .06);
}

.pdf-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.pdf-card__content h3 {
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: -.02em;
  margin: 0 0 12px;
  color: var(--ink);
}

.pdf-card__content p {
  color: #5b5d66;
  line-height: 1.65;
  margin: 0 0 20px;
}

.pdf-card__button,
.client-letter-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: auto;
  width: 100%;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #AA2B26;
  border-radius: 10px;
  background: transparent;
  color: #AA2B26;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
}

.pdf-card__button:hover,
.client-letter-card__button:hover {
  background: #AA2B26;
  color: #fff;
  transform: none;
  box-shadow: none;
}

@media (max-width: 980px) {
  .pdf-docs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .pdf-docs-grid {
    grid-template-columns: 1fr;
  }

  .pdf-card__preview img {
    height: 300px;
  }

  .pdf-card__button {
    width: 100%;
  }
}


/* Detailed case story pages */
.case-story-page {
  background:linear-gradient(180deg, #fff 0%, #fffaf6 58%, #fff 100%);
}
.case-story-page .brand-mark,
.case-story-page .nav a.active,
.case-story-page .nav a:hover,
.case-story-page .eyebrow {
  color:#AA2B26;
}
.case-story-page .nav a.active:after,
.case-story-page .btn {
  background:#AA2B26;
  border-color:#AA2B26;
}
.case-story-hero {
  padding:58px 0 42px;
  border-bottom:1px solid rgba(170,43,38,.10);
  background:radial-gradient(circle at 78% 22%, rgba(170,43,38,.07), transparent 34%), #fff;
}
.case-story-hero__grid {
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(360px, 1.05fr);
  gap:54px;
  align-items:center;
}
.case-story-hero h1,
.case-story-section h2,
.case-story-conclusion h2,
.case-story-cta h2 {
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-.045em;
  color:#14151c;
}
.case-story-hero h1 {
  font-size:clamp(46px, 5.4vw, 78px);
  line-height:.98;
  margin:12px 0 22px;
}
.case-story-hero__content > p:not(.eyebrow) {
  max-width:650px;
  color:#44464f;
  font-size:20px;
  line-height:1.72;
}
.case-story-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:22px;
  margin-top:30px;
}
.case-story-back {
  color:#AA2B26;
  font-weight:750;
}
.case-story-hero__visual {
  margin:0;
}
.case-story-hero__visual img,
.case-story-diagnostics figure img,
.case-story-process figure img,
.case-story-result-img img {
  border-radius:24px;
  border:1px solid rgba(170,43,38,.12);
  box-shadow:0 24px 70px rgba(74,38,28,.10);
  background:#fff;
}
.case-story-section {
  padding:46px 0;
}
.case-story-section--compact {
  padding-top:34px;
}
.case-story-params {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}
.case-story-params article,
.case-story-panel,
.case-story-card,
.case-story-step,
.case-story-cta {
  background:rgba(255,255,255,.92);
  border:1px solid rgba(170,43,38,.12);
  border-radius:22px;
  box-shadow:0 18px 55px rgba(74,38,28,.07);
}
.case-story-params article {
  padding:22px;
}
.case-story-params span {
  display:block;
  color:#7a6f6a;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:7px;
}
.case-story-params strong {
  display:block;
  font-family:var(--serif);
  font-size:24px;
  line-height:1.15;
  font-weight:600;
}
.case-story-two {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.case-story-two--wide {
  align-items:start;
}
.case-story-panel {
  padding:34px;
}
.case-story-panel--accent {
  background:linear-gradient(145deg, rgba(170,43,38,.09), rgba(255,255,255,.95));
}
.case-story-text p {
  margin:0 0 16px;
  color:#42444d;
}
.case-story-text p:last-child {
  margin-bottom:0;
}
.case-story-diagnostics {
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:28px;
  align-items:center;
}
.case-story-diagnostics h2,
.case-story-process__head h2,
.case-story-conclusion h2,
.case-story-cta h2 {
  font-size:clamp(34px, 4vw, 54px);
  line-height:1.08;
  margin:8px 0 20px;
}
.case-story-checks {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}
.case-story-checks li {
  position:relative;
  padding-left:30px;
  color:#3e4048;
}
.case-story-checks li:before {
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:14px;
  height:14px;
  border-radius:50%;
  border:1px solid #AA2B26;
  background:radial-gradient(circle, #AA2B26 0 35%, transparent 40%);
}
.case-story-checks--dense {
  gap:16px;
}
.case-story-start {
  display:grid;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(170,43,38,.14);
  border-radius:28px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 55px rgba(74,38,28,.07);
}
.case-story-start.is-expanded {
  overflow:visible;
}
.case-story-start__summary {
  display:grid;
  grid-template-columns:1fr 1fr;
}
.case-story-start__panel {
  min-width:0;
  padding:42px 44px 38px;
}
.case-story-start__panel + .case-story-start__panel {
  border-left:1px solid rgba(170,43,38,.12);
}
.case-story-start__panel--accent {
  background:linear-gradient(145deg, rgba(170,43,38,.06), rgba(255,255,255,.94));
}
.case-story-start__panel .case-story-text p,
.case-story-start__panel .case-story-checks li {
  font-size:16px;
  line-height:1.72;
}
.case-story-start__more {
  border-top:1px solid rgba(170,43,38,.12);
  background:linear-gradient(180deg, rgba(255,250,247,.84), rgba(255,255,255,.98));
}
.case-story-start__details {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.case-story-start__detail {
  padding:32px 44px 36px;
}
.case-story-start__detail + .case-story-start__detail {
  border-left:1px solid rgba(170,43,38,.10);
}
.case-story-start__detail-label {
  margin:0 0 18px;
  color:#AA2B26;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.case-story-start__detail-list {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px;
}
.case-story-start__detail-list li {
  position:relative;
  padding-left:22px;
  color:#4a4c56;
  font-size:15px;
  line-height:1.68;
}
.case-story-start__detail-list li:before {
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#AA2B26;
}
.case-story-start__toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:calc(100% - 56px);
  min-height:64px;
  margin:0 28px 28px;
  border:1px solid rgba(170,43,38,.65);
  border-radius:12px;
  background:#fff;
  color:#AA2B26;
  font:inherit;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}
.case-story-start__toggle:hover {
  background:#AA2B26;
  color:#fff;
  box-shadow:0 14px 28px rgba(170,43,38,.16);
}
.case-story-start__toggle:after {
  content:"";
  width:10px;
  height:10px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .2s ease;
}
.case-story-start.is-expanded .case-story-start__toggle:after {
  transform:rotate(-135deg) translateY(-1px);
}
.case-story-start__toggle-close {
  display:none;
}
.case-story-start.is-expanded .case-story-start__toggle-open {
  display:none;
}
.case-story-start.is-expanded .case-story-start__toggle-close {
  display:inline;
}

.case-project-story {
  --case-project-nav-top:112px;
  display:grid;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr);
  grid-template-areas:
    "intro content"
    "nav content";
  grid-template-rows:auto 1fr;
  column-gap:64px;
  row-gap:28px;
  align-items:start;
  padding:38px 36px 44px;
}
.case-project-story__intro {
  grid-area:intro;
  min-width:0;
}
.case-project-story__intro-inner {
  min-width:0;
}
.case-project-story__intro h3 {
  margin:0 0 18px;
  font-size:48px;
  line-height:1.02;
}
.case-project-story__intro blockquote {
  margin:0;
  padding:18px 20px;
  border:1px solid rgba(170,43,38,.20);
  border-left:4px solid #AA2B26;
  border-radius:0 12px 12px 0;
  background:#fbf6f2;
  color:#3d3936;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.5;
}
.case-project-story__nav {
  grid-area:nav;
  position:sticky;
  top:var(--case-project-nav-top);
  z-index:12;
  display:grid;
  align-self:start;
  max-height:calc(100vh - var(--case-project-nav-top) - 18px);
  margin:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.case-project-story__nav-item {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:2px 14px;
  align-items:center;
  min-height:62px;
  padding:8px 16px;
  border:0;
  border-bottom:1px solid rgba(82,62,48,.15);
  border-radius:0;
  background:rgba(255,255,255,.92);
  color:#4f4843;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.case-project-story__nav-item span {
  grid-row:1 / span 2;
  color:#AA2B26;
  font-family:var(--serif);
  font-size:28px;
  font-weight:400;
  line-height:1;
}
.case-project-story__nav-item strong {
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}
.case-project-story__nav-item small {
  color:#77726e;
  font-size:12px;
  line-height:1.35;
}
.case-project-story__nav-item:hover {
  color:#AA2B26;
  transform:translateX(4px);
}
.case-project-story__nav-item.is-active {
  border-color:transparent;
  border-radius:8px;
  background:#AA2B26;
  color:#fff;
  box-shadow:0 12px 30px rgba(170,43,38,.18);
  transform:none;
}
.case-project-story__nav-item.is-active span,
.case-project-story__nav-item.is-active small {
  color:#fff;
}
.case-project-story__collapse {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-height:54px;
  margin-top:14px;
  padding:12px 16px;
  border:0;
  border-radius:9px;
  background:#AA2B26;
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(170,43,38,.18);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.case-project-story__collapse:hover {
  background:#92231f;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(170,43,38,.24);
}
.case-project-story__collapse:focus-visible {
  outline:3px solid rgba(170,43,38,.24);
  outline-offset:3px;
}
.case-project-story__collapse span {
  font-size:18px;
  line-height:1;
}
.case-project-story__content {
  grid-area:content;
  display:grid;
  gap:72px;
  min-width:0;
}
.case-project-story__panel {
  display:grid;
  gap:18px;
  min-width:0;
  padding:0 0 72px;
  border-bottom:1px solid rgba(170,43,38,.13);
  scroll-margin-top:calc(var(--case-project-nav-top) + 22px);
}
.case-project-story__panel:last-child {
  padding-bottom:0;
  border-bottom:0;
}
.case-project-story__kicker {
  margin:0;
  color:#AA2B26;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.case-project-story__panel h3 {
  max-width:850px;
  margin:0;
  font-size:46px;
  line-height:1.06;
}
.case-project-story__media {
  overflow:hidden;
  margin:4px 0 8px;
  border:1px solid rgba(170,43,38,.12);
  border-radius:18px;
  background:#f2ece6;
  box-shadow:0 16px 38px rgba(74,38,28,.06);
}
.case-project-story__media img {
  display:block;
  width:100%;
  height:clamp(250px,28vw,400px);
  object-fit:cover;
}
.case-project-story__copy {
  display:grid;
  gap:17px;
  max-width:900px;
}
.case-project-story__copy p {
  margin:0;
  color:#4c4d55;
  font-size:18px;
  line-height:1.78;
}
.case-project-story__copy strong {
  color:#24252b;
  font-weight:750;
}
.case-project-story__quote {
  margin:5px 0;
  padding:20px 24px;
  border-left:4px solid #AA2B26;
  border-radius:0 12px 12px 0;
  background:#f7f0e9;
  color:#332f2c;
  font-family:var(--serif);
  font-size:22px;
  font-weight:600;
  line-height:1.5;
}
@media (max-width: 1100px) {
  .case-project-story {
    grid-template-columns:1fr;
    grid-template-areas:
      "intro"
      "nav"
      "content";
    grid-template-rows:auto auto 1fr;
    gap:30px;
    padding:32px 28px 40px;
  }
  .case-project-story__nav {
    top:var(--case-project-nav-top);
    z-index:30;
    grid-auto-flow:column;
    grid-auto-columns:minmax(170px,1fr);
    gap:10px;
    width:100%;
    max-width:100%;
    max-height:none;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    padding:10px;
    border:1px solid rgba(170,43,38,.14);
    border-radius:14px;
    background:rgba(251,247,243,.96);
    box-shadow:0 12px 28px rgba(61,38,28,.12);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    scrollbar-width:thin;
  }
  .case-project-story__nav-item {
    min-height:58px;
    border:1px solid rgba(82,62,48,.14);
    border-radius:8px;
    background:#fff;
  }
  .case-project-story__nav-item:hover {
    transform:none;
  }
  .case-project-story__nav-item.is-active {
    background:#AA2B26;
  }
  .case-project-story__collapse {
    width:auto;
    min-width:154px;
    min-height:58px;
    margin:0;
    padding:10px 16px;
    white-space:nowrap;
  }
}
@media (max-width: 760px) {
  .case-project-story {
    gap:24px;
    padding:26px 20px 34px;
  }
  .case-project-story__intro h3,
  .case-project-story__panel h3 {
    font-size:31px;
    line-height:1.08;
  }
  .case-project-story__intro blockquote {
    padding:16px;
    font-size:17px;
  }
  .case-project-story__nav {
    grid-auto-columns:154px;
    margin:0 -8px;
    padding:8px;
    border-radius:12px;
  }
  .case-project-story__nav-item {
    grid-template-columns:38px 1fr;
    gap:2px 8px;
    min-height:54px;
    padding:7px 12px;
  }
  .case-project-story__nav-item span {
    font-size:23px;
  }
  .case-project-story__nav-item strong {
    font-size:12px;
  }
  .case-project-story__nav-item small {
    font-size:10px;
  }
  .case-project-story__collapse {
    min-width:154px;
    min-height:54px;
    padding:9px 12px;
    font-size:12px;
  }
  .case-project-story__content {
    gap:52px;
  }
  .case-project-story__panel {
    gap:15px;
    padding-bottom:52px;
  }
  .case-project-story__media {
    border-radius:14px;
  }
  .case-project-story__media img {
    height:auto;
    aspect-ratio:4/3;
  }
  .case-project-story__copy {
    gap:14px;
  }
  .case-project-story__copy p {
    font-size:16px;
    line-height:1.72;
  }
  .case-project-story__quote {
    padding:16px 17px;
    font-size:18px;
    line-height:1.52;
  }
}

.case-story-grid {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:20px;
}
.case-story-card {
  padding:28px;
}
.case-story-card h3,
.case-story-step h3 {
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:28px;
  line-height:1.15;
  font-weight:600;
}
.case-story-card p,
.case-story-step p {
  margin:0;
  color:#55565f;
}
.case-story-process {
  display:grid;
  gap:24px;
}
.case-story-process__head {
  text-align:center;
  max-width:820px;
  margin:0 auto;
}
.case-story-timeline {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:16px;
}
.case-story-step {
  position:relative;
  padding:26px 22px;
  min-height:210px;
}
.case-story-step span {
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#AA2B26;
  color:#fff;
  font-weight:850;
  margin-bottom:16px;
}
.case-story-result-img {
  margin:22px 0 0;
}
.case-story-conclusion {
  background:linear-gradient(135deg, #AA2B26, #7f1714);
  color:#fff;
  border-radius:26px;
  padding:42px;
  box-shadow:0 26px 65px rgba(170,43,38,.18);
}
.case-story-conclusion .eyebrow,
.case-story-conclusion h2,
.case-story-conclusion p {
  color:#fff;
}
.case-story-conclusion p {
  max-width:900px;
  font-size:20px;
  margin:0;
}
.case-story-section--cta {
  padding-top:18px;
  padding-bottom:68px;
}
.case-story-cta {
  max-width:1120px;
  margin:0 auto;
  padding:44px;
  text-align:center;
  background:linear-gradient(145deg, rgba(170,43,38,.08), rgba(255,255,255,.98));
}
.case-story-cta p {
  max-width:780px;
  margin:0 auto 26px;
  color:#55565f;
}
@media (max-width: 1100px) {
  .case-story-hero__grid,
  .case-story-diagnostics,
  .case-story-two {
    grid-template-columns:1fr;
  }
  .case-story-start__summary,
  .case-story-start__details {
    grid-template-columns:1fr;
  }
  .case-story-start__panel + .case-story-start__panel,
  .case-story-start__detail + .case-story-start__detail {
    border-left:0;
    border-top:1px solid rgba(170,43,38,.12);
  }
  .case-story-params {
    grid-template-columns:repeat(2, 1fr);
  }
  .case-story-timeline {
    grid-template-columns:repeat(2, 1fr);
  }
}
@media (max-width: 680px) {
  .case-story-hero {
    padding:36px 0 30px;
  }
  .case-story-start {
    border-radius:20px;
  }
  .case-story-start__panel,
  .case-story-start__detail {
    padding:28px 22px;
  }
  .case-story-start__toggle {
    width:calc(100% - 32px);
    min-height:56px;
    margin:0 16px 16px;
    border-radius:10px;
  }
  .case-story-hero__grid {
    gap:28px;
  }
  .case-story-params,
  .case-story-grid,
  .case-story-timeline {
    grid-template-columns:1fr;
  }
  .case-story-panel,
  .case-story-card,
  .case-story-step,
  .case-story-conclusion,
  .case-story-cta {
    padding:24px;
  }
  .case-story-actions .btn,
  .case-story-cta .btn {
    width:100%;
  }
}


/* Service folder pages */
.service-folder-page .breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:0 0 34px;
  color:rgba(23,24,32,.62);
  font-size:14px;
}
.service-folder-page .breadcrumbs a{color:rgba(23,24,32,.72);text-decoration:none;}
.service-folder-page .breadcrumbs a:hover{color:#AA2B26;}
.service-page-hero{
  padding:34px 0 58px;
  background:linear-gradient(180deg,#fff 0%,#fbf8f3 100%);
  border-bottom:1px solid rgba(170,43,38,.08);
}
.service-page-hero__grid{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(420px, 1.08fr);
  gap:48px;
  align-items:center;
}
.service-page-hero__content .h1{max-width:760px;}
.service-page-hero__visual{
  border:1px solid rgba(170,43,38,.10);
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 48px rgba(42,30,24,.08);
}
.service-page-hero__visual img{display:block;width:100%;height:auto;}
.service-page-section{padding:46px 0;}
.service-page-grid--when{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}
.service-page-card,
.service-page-panel,
.service-page-result{
  border:1px solid rgba(170,43,38,.10);
  border-radius:22px;
  background:rgba(255,255,253,.88);
  box-shadow:0 14px 38px rgba(42,30,24,.055);
}
.service-page-card{
  padding:24px 20px;
  min-height:150px;
}
.service-page-card__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;height:34px;
  border-radius:50%;
  border:1px solid rgba(170,43,38,.22);
  color:#AA2B26;
  font-weight:700;
  margin-bottom:14px;
}
.service-page-card p{margin:0;color:#171820;line-height:1.55;font-weight:600;}
.service-page-split{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:18px;
  align-items:stretch;
}
.service-page-panel{padding:30px;}
.service-work-stack{display:grid;gap:15px;margin-top:22px;}
.service-work-item{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;}
.service-work-item>span{
  width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(170,43,38,.08);color:#AA2B26;font-weight:800;
}
.service-work-item h3{margin:0 0 6px;font-family:var(--serif);font-weight:650;color:#171820;}
.service-work-item p{margin:0;color:#5d5650;line-height:1.55;}
.service-page-timeline{list-style:none;margin:24px 0 22px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative;}
.service-page-timeline:before{content:"";position:absolute;left:8%;right:8%;top:23px;height:1px;background:rgba(170,43,38,.28);}
.service-page-timeline li{position:relative;text-align:center;z-index:1;}
.service-page-timeline span{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#AA2B26;color:#fff;font-weight:800;box-shadow:0 12px 22px rgba(170,43,38,.18);}
.service-page-timeline strong{display:block;margin-top:12px;font-size:14px;line-height:1.25;}
.service-page-panel__image{width:100%;border-radius:18px;border:1px solid rgba(170,43,38,.09);margin-top:10px;}
.service-page-result{display:grid;grid-template-columns:minmax(0, .88fr) minmax(320px,.72fr);gap:28px;align-items:center;padding:34px;}
.service-page-result img{width:100%;border-radius:20px;border:1px solid rgba(170,43,38,.09);}
.services-list-grid{align-items:stretch;}
.service-card--detailed .link-more{margin-top:auto;}
@media (max-width:1100px){
  .service-page-hero__grid{grid-template-columns:1fr;}
  .service-page-grid--when{grid-template-columns:repeat(3,1fr);}
  .service-page-split,.service-page-result{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .service-page-hero{padding-top:24px;}
  .service-page-grid--when{grid-template-columns:1fr;}
  .service-page-panel{padding:22px;}
  .service-page-timeline{grid-template-columns:1fr;gap:18px;}
  .service-page-timeline:before{left:23px;right:auto;top:20px;bottom:20px;width:1px;height:auto;}
  .service-page-timeline li{text-align:left;display:grid;grid-template-columns:52px 1fr;align-items:center;}
  .service-page-timeline strong{margin-top:0;}
  .service-page-result{padding:22px;}
}

/* Services page: fix detailed service card vertical flow */
body.services-page .services-list-grid {
  align-items: stretch;
}

body.services-page .service-card.service-card--detailed {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  min-height: 0;
  padding: 24px 24px 22px;
  gap: 0;
}

body.services-page .service-card.service-card--detailed > .card-ico {
  flex: 0 0 auto;
  margin: 0 0 18px !important;
}

body.services-page .service-card.service-card--detailed > h3 {
  min-height: 0;
  margin: 0 0 12px !important;
}

body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
  margin: 0 0 26px !important;
  line-height: 1.5;
}

body.services-page .service-card.service-card--detailed .service-card-list {
  margin: 0 0 20px !important;
  padding: 0;
  display: grid;
  gap: 8px;
}

body.services-page .service-card.service-card--detailed .service-card-result {
  margin: 0 0 20px !important;
  line-height: 1.42;
}

body.services-page .service-card.service-card--detailed .link-more {
  margin-top: auto !important;
  display: inline-flex;
  align-items: center;
  width: max-content;
}

@media (max-width: 760px) {
  body.services-page .service-card.service-card--detailed {
    padding: 22px 20px;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    margin-bottom: 22px !important;
  }
}

/* Services page cards: stable vertical rhythm and no text/list overlap */
body.services-page .services-list-grid {
  align-items: stretch !important;
}

body.services-page .service-card.service-card--detailed {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 28px 24px 26px !important;
  gap: 0 !important;
  overflow: visible !important;
}

body.services-page .service-card.service-card--detailed > .card-ico {
  flex: 0 0 auto !important;
  margin: 0 0 18px !important;
}

body.services-page .service-card.service-card--detailed > h3 {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  margin: 0 0 12px !important;
}

body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
  flex: 0 0 auto !important;
  min-height: 56px !important;
  margin: 0 0 28px !important;
  line-height: 1.48 !important;
}

body.services-page .service-card.service-card--detailed > .service-card-list {
  flex: 0 0 auto !important;
  display: grid !important;
  gap: 9px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  list-style: none !important;
  transform: none !important;
}

body.services-page .service-card.service-card--detailed > .service-card-list li {
  margin: 0 !important;
  line-height: 1.35 !important;
}

body.services-page .service-card.service-card--detailed > .service-card-result {
  flex: 0 0 auto !important;
  margin: 0 0 22px !important;
  line-height: 1.42 !important;
}

body.services-page .service-card.service-card--detailed > .link-more {
  margin-top: auto !important;
  align-self: flex-start !important;
}

@media (max-width: 1180px) {
  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    min-height: 0 !important;
    margin-bottom: 24px !important;
  }
}

@media (max-width: 760px) {
  body.services-page .service-card.service-card--detailed {
    padding: 24px 20px !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    margin-bottom: 22px !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-list {
    margin-bottom: 20px !important;
  }
}

/* Services.html final: calm vertical structure for detailed service cards */
body.services-page .services-list-grid {
  display: grid !important;
  align-items: stretch !important;
}

body.services-page .service-card.service-card--detailed {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: 26px 24px 24px !important;
  gap: 0 !important;
  overflow: visible !important;
}

body.services-page .service-card.service-card--detailed > .card-ico {
  flex: 0 0 auto !important;
  width: 50px !important;
  height: 50px !important;
  margin: 0 0 18px !important;
  transform: none !important;
}

body.services-page .service-card.service-card--detailed > h3 {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  margin: 0 0 12px !important;
  font-size: clamp(21px, 1.35vw, 24px) !important;
  line-height: 1.18 !important;
  transform: none !important;
}

body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  margin: 0 0 22px !important;
  font-size: 15.5px !important;
  line-height: 1.52 !important;
  color: var(--services-muted) !important;
  transform: none !important;
}

body.services-page .service-card.service-card--detailed > .service-card-list {
  flex: 0 0 auto !important;
  display: grid !important;
  gap: 8px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  list-style: none !important;
  position: static !important;
  transform: none !important;
}

body.services-page .service-card.service-card--detailed > .service-card-list li {
  margin: 0 !important;
  padding-left: 18px !important;
  font-size: 14.5px !important;
  line-height: 1.38 !important;
  color: var(--services-muted) !important;
  position: relative !important;
  transform: none !important;
}

body.services-page .service-card.service-card--detailed > .service-card-result {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  margin: 0 0 22px !important;
  font-size: 14.5px !important;
  line-height: 1.42 !important;
  color: var(--services-muted) !important;
  transform: none !important;
}

body.services-page .service-card.service-card--detailed > .service-card-result strong {
  color: var(--services-ink) !important;
  font-weight: 700 !important;
}

body.services-page .service-card.service-card--detailed > .link-more {
  flex: 0 0 auto !important;
  margin-top: auto !important;
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  transform: none !important;
}

@media (max-width: 760px) {
  body.services-page .service-card.service-card--detailed {
    padding: 24px 20px 22px !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    margin-bottom: 20px !important;
  }
}

/* Service: sales department as a managed system */
.service-system-hero {
  overflow: hidden;
}
.service-system-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(420px, .97fr);
  gap: clamp(40px, 6vw, 86px);
  align-items: center;
}
.service-system-hero__content .h1 {
  max-width: 760px;
}
.service-system-hero__content .lead {
  max-width: 720px;
}
.service-system-hero__text {
  margin-top: 16px;
  color: #5f5652;
}
.service-system-includes {
  margin-top: 30px;
  padding: 24px 26px 26px;
  border: 1px solid rgba(170,43,38,.14);
  background: rgba(255,253,249,.78);
  box-shadow: 0 18px 46px rgba(58, 35, 26, .07);
  border-radius: 28px;
  max-width: 760px;
}
.service-system-includes h2 {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.25;
  color: #2f2522;
}
.service-system-includes ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.service-system-includes li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(170,43,38,.16);
  background: #fffdf9;
  font-size: 14px;
  line-height: 1.25;
  color: #473d39;
  white-space: nowrap;
}
.service-system-includes li::before {
  content: "✓";
  color: #AA2B26;
  font-weight: 700;
}
.service-system-hero__visual {
  position: relative;
  min-height: 350px;
  max-height: 350px;
  transform: translateY(-20px);
  margin-bottom: -20px;
  border-radius: 34px;
  isolation: isolate;
}
.service-system-hero__visual::before {
  content: "";
  position: absolute;
  inset: 4px 4px 8px;
  border-radius: 38px;
  background: radial-gradient(circle at 52% 52%, rgba(170,43,38,.085), rgba(255,253,249,.48) 48%, rgba(255,253,249,0) 74%);
  z-index: -2;
}
.system-orbit {
  display: none;
}
.system-network-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: 1;
  pointer-events: none;
}
.system-network-lines path {
  fill: none;
  stroke: rgba(170, 43, 38, .18);
  stroke-width: 1.05;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.system-network-lines path:nth-child(2) {
  stroke-dasharray: 6 8;
  stroke: rgba(170, 43, 38, .15);
}
.system-network-lines path:nth-child(3) {
  stroke: rgba(170, 43, 38, .10);
}
.system-core {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-3deg);
  width: 148px;
  min-height: 100px;
  padding: 18px 16px;
  border-radius: 22px;
  background: #AA2B26;
  box-shadow: 0 24px 58px rgba(170,43,38,.23);
  color: #fff9f2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 3;
}
.system-core span {
  display: none;
}
.system-core strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  line-height: 1.02;
  letter-spacing: .025em;
  font-weight: 500;
  color: #fff9f2;
}
.system-node {
  position: absolute;
  width: 122px;
  padding: 8px 10px 9px;
  border: 1px solid rgba(170,43,38,.13);
  border-radius: 15px;
  background: #fffdf9;
  box-shadow: 0 15px 34px rgba(58, 35, 26, .075);
  color: #3f3430;
  font-size: 11.4px;
  line-height: 1.2;
  font-weight: 600;
  z-index: 4;
}
.system-node::before {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  border-radius: 2px;
  background: #AA2B26;
  opacity: .58;
  margin-bottom: 6px;
}
.system-node--sales { left: 45%; top: 8px; transform: translateX(-50%) rotate(-1deg); }
.system-node--crm { left: 24px; top: 62px; transform: rotate(-2deg); }
.system-node--control { right: 20px; top: 66px; transform: rotate(2deg); }
.system-node--hiring { right: 8px; top: 186px; transform: rotate(-1.5deg); }
.system-node--adaptation { left: 8px; top: 196px; transform: rotate(1deg); }
.system-node--leads { left: 154px; bottom: 8px; width: 136px; transform: rotate(-1deg); }
.system-node--standards { right: 62px; bottom: 8px; width: 146px; transform: rotate(1deg); }
.sales-system-section {
  background: #fbf5ec;
}
.sales-system-section .service-section-head p:not(.eyebrow) {
  max-width: 760px;
  margin: 14px auto 0;
  color: #675d58;
  line-height: 1.65;
}
.sales-system-card-grid {
  display: grid;
  gap: 18px;
}
.sales-system-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sales-system-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sales-system-card-grid article,
.sales-system-seven article,
.sales-system-detail-list article {
  border: 1px solid #eadbd7;
  background: #fffdf9;
  box-shadow: 0 16px 40px rgba(58,35,26,.06);
  border-radius: 24px;
}
.sales-system-card-grid article {
  padding: 24px 22px;
}
.sales-system-card-grid span,
.sales-system-seven span {
  display: inline-flex;
  margin-bottom: 14px;
  color: #AA2B26;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .12em;
  font-weight: 700;
}
.sales-system-card-grid h3,
.sales-system-seven h3 {
  margin: 0 0 10px;
  color: #2f2522;
  font-size: 19px;
  line-height: 1.22;
}
.sales-system-card-grid p,
.sales-system-seven p,
.sales-system-detail-list p:not(.eyebrow) {
  margin: 0;
  color: #665c57;
  line-height: 1.56;
  font-size: 15px;
}
.sales-system-seven {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.sales-system-seven article {
  padding: 24px 22px;
  min-height: 204px;
}
.sales-system-seven article:first-child,
.sales-system-seven article:nth-child(2),
.sales-system-seven article:nth-child(3) {
  grid-column: span 1;
}
.sales-system-seven article:last-child {
  grid-column: span 2;
}
.sales-system-detail-list {
  display: grid;
  gap: 18px;
}
.sales-system-detail-list article {
  display: grid;
  grid-template-columns: 96px minmax(220px, .42fr) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  padding: 26px 30px;
}
.sales-system-detail-list .eyebrow {
  margin: 5px 0 0;
  color: #AA2B26;
}
.sales-system-detail-list .section-title {
  margin: 0;
  font-size: clamp(26px, 2.3vw, 38px);
  line-height: 1.08;
}
.sales-system-section--owner-result {
  padding-bottom: clamp(72px, 8vw, 112px);
}
@media (max-width: 1120px) {
  .service-system-hero__grid { grid-template-columns: 1fr; }
  .service-system-hero__visual { min-height: 390px; max-height: none; max-width: 620px; margin: 0 auto; width: 100%; transform: none; }
  .sales-system-card-grid--4, .sales-system-seven { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sales-system-seven article:last-child { grid-column: span 2; }
}
@media (max-width: 760px) {
  .service-system-includes { padding: 20px; border-radius: 22px; }
  .service-system-includes li { white-space: normal; width: 100%; }
  .service-system-hero__visual {
    min-height: auto;
    display: grid;
    gap: 12px;
    padding: 10px 0 0;
  }
  .service-system-hero__visual::before,
  .system-orbit { display: none; }
  .system-core,
  .system-node,
  .system-node--sales,
  .system-node--crm,
  .system-node--control,
  .system-node--hiring,
  .system-node--adaptation,
  .system-node--leads,
  .system-node--standards {
    position: static;
    transform: none;
    width: auto;
  }
  .system-core { min-height: 0; }
  .sales-system-card-grid--4,
  .sales-system-card-grid--3,
  .sales-system-seven,
  .sales-system-detail-list { grid-template-columns: 1fr; }
  .sales-system-seven article:last-child { grid-column: auto; }
  .sales-system-detail-list article {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px 20px;
  }
}


/* Unified premium service pages: 7 service pages aligned with audit page proportions */
body.unified-service-page{background:#fbf6ee;color:#2d2823}
body.unified-service-page .unified-hero{padding:42px 0 86px;background:linear-gradient(180deg,#fbf6ee 0%,#fffaf3 100%);overflow:hidden}
body.unified-service-page .unified-breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 34px;color:#8b7d70;font-size:14px}
body.unified-service-page .unified-breadcrumbs a{color:#AA2B26;text-decoration:none;font-weight:650}
body.unified-service-page .unified-breadcrumbs a:hover{text-decoration:underline}
body.unified-service-page .unified-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,640px);gap:58px;align-items:center}
body.unified-service-page .unified-hero__text .h1{max-width:760px;margin-bottom:24px}
body.unified-service-page .unified-hero__text .lead{max-width:760px;margin:0 0 18px;color:#4f4942;line-height:1.78;font-size:18px}
body.unified-service-page .unified-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:32px}
body.unified-service-page .unified-back{display:inline-flex;align-items:center;justify-content:center;min-height:48px;color:#AA2B26;text-decoration:none;font-weight:700}
body.unified-service-page .unified-back:hover{text-decoration:underline}
body.unified-service-page .unified-hero-visual{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none;border-radius:0}
body.unified-service-page .unified-hero-visual img{display:block;width:min(100%,760px);height:auto;border:0;background:transparent;filter:drop-shadow(0 28px 34px rgba(42,33,25,.16))}
body.unified-service-page .unified-section{padding:88px 0}
body.unified-service-page .unified-section--soft{background:#fffaf3}
body.unified-service-page .unified-head{text-align:center;max-width:940px;margin:0 auto 48px}
body.unified-service-page .unified-head .section-title{margin:10px 0 16px;color:#2b2621}
body.unified-service-page .unified-head .lead{font-size:18px;line-height:1.72;color:#5f564d;margin:0 auto;max-width:840px}
body.unified-service-page .unified-need-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
body.unified-service-page .unified-card{height:100%;background:#fffdf9;border:1px solid rgba(84,63,48,.10);border-radius:26px;padding:30px 26px 28px;box-shadow:0 20px 46px rgba(42,33,25,.065);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
body.unified-service-page .unified-card:hover{transform:translateY(-3px);border-color:rgba(170,43,38,.18);box-shadow:0 26px 58px rgba(42,33,25,.085)}
body.unified-service-page .unified-card__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(170,43,38,.10)}
body.unified-service-page .unified-card__icon{width:58px;height:58px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff7f1;border:1px solid rgba(170,43,38,.14);color:#AA2B26;box-shadow:0 10px 24px rgba(42,33,25,.045);font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1}
body.unified-service-page .unified-card__num{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#AA2B26;font-weight:750;white-space:nowrap}
body.unified-service-page .unified-card h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.22;font-weight:700;margin:0 0 14px;color:#29231f;letter-spacing:-.01em}
body.unified-service-page .unified-card p{margin:0;color:#62584f;line-height:1.66;font-size:15.5px}
body.unified-service-page .unified-analysis-section{background:#fffaf3;padding:96px 0}
body.unified-service-page .unified-analysis-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:76px;align-items:start}
body.unified-service-page .unified-analysis-col .section-title{margin:8px 0 24px;font-size:clamp(28px,2.55vw,38px);line-height:1.1;letter-spacing:-.02em}
body.unified-service-page .unified-map{position:relative;min-height:520px;margin-top:28px;padding:48px 42px;border-radius:34px;background:rgba(255,253,249,.58);border:1px solid rgba(84,63,48,.055);overflow:hidden}
body.unified-service-page .unified-map:before{content:"";position:absolute;inset:88px 82px;border:1px dashed rgba(170,43,38,.055);border-radius:46px}
body.unified-service-page .unified-map:after{content:"";position:absolute;left:50%;top:50%;width:260px;height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(170,43,38,.055) 0%,rgba(170,43,38,0) 67%);z-index:0}
body.unified-service-page .unified-map__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:250px;min-height:168px;border-radius:28px;padding:30px 28px;background:#AA2B26;color:#fffaf3;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Georgia,'Times New Roman',serif;text-transform:uppercase;font-size:25px;line-height:1.08;font-weight:700;box-shadow:0 24px 48px rgba(170,43,38,.20);z-index:3}
body.unified-service-page .unified-map__node{position:absolute;width:156px;min-height:58px;border-radius:18px;padding:10px 11px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.86);border:1px solid rgba(84,63,48,.075);box-shadow:0 14px 30px rgba(42,33,25,.045);font-size:13.7px;line-height:1.22;font-weight:650;color:#302a25;z-index:2}
body.unified-service-page .unified-map__icon{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#fff8f2;border:1px solid rgba(170,43,38,.105);display:flex;align-items:center;justify-content:center;color:#AA2B26;font-weight:800;font-size:13px}
body.unified-service-page .unified-map__node:nth-child(2){left:28px;top:96px}
body.unified-service-page .unified-map__node:nth-child(3){right:28px;top:96px}
body.unified-service-page .unified-map__node:nth-child(4){right:28px;bottom:96px}
body.unified-service-page .unified-map__node:nth-child(5){left:28px;bottom:96px}
body.unified-service-page .unified-map__node:nth-child(6){left:50%;top:26px;transform:translateX(-50%)}
body.unified-service-page .unified-map__node:nth-child(7){left:50%;bottom:26px;transform:translateX(-50%)}
body.unified-service-page .unified-steps-list{display:grid;gap:10px;margin-top:28px}
body.unified-service-page .unified-step{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.62);border:1px solid rgba(84,63,48,.075);box-shadow:0 10px 24px rgba(42,33,25,.035)}
body.unified-service-page .unified-step__num{font-family:Georgia,'Times New Roman',serif;color:#AA2B26;font-size:20px;font-weight:600;letter-spacing:.04em;opacity:.82;padding-top:2px}
body.unified-service-page .unified-step h3{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.16;margin:0 0 5px;color:#29231f}
body.unified-service-page .unified-step p{margin:0;color:#6b6158;line-height:1.48;font-size:14.7px}
body.unified-service-page .unified-results-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:42px;align-items:center}
body.unified-service-page .unified-check-list{display:grid;gap:12px;margin-top:24px;max-width:760px}
body.unified-service-page .unified-check{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
body.unified-service-page .unified-check span{width:23px;height:23px;border-radius:50%;background:rgba(170,43,38,.08);color:#AA2B26;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:750;margin-top:2px}
body.unified-service-page .unified-check h3{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:650;line-height:1.16;margin:0 0 4px;color:#2d2823}
body.unified-service-page .unified-check p{margin:0;color:#655c52;font-size:14.5px;line-height:1.42}
body.unified-service-page .unified-mini-visual{min-height:330px;border-radius:30px;background:#fffdf9;border:1px solid rgba(170,43,38,.10);box-shadow:0 20px 46px rgba(42,33,25,.065);padding:28px;display:grid;gap:14px;align-content:center}
body.unified-service-page .unified-mini-card{border-radius:18px;background:#fff8f2;border:1px solid rgba(170,43,38,.10);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#3b332d;font-weight:650;box-shadow:0 10px 22px rgba(42,33,25,.04)}
body.unified-service-page .unified-mini-card strong{color:#AA2B26;font-family:Georgia,'Times New Roman',serif;font-size:24px}
body.unified-service-page .unified-cta{max-width:1120px;margin:8px auto 0;border-radius:30px;background:#AA2B26;color:#fff;padding:48px 56px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;box-shadow:0 24px 56px rgba(170,43,38,.22)}
body.unified-service-page .unified-cta .section-title{margin:0 0 14px;color:#fff}
body.unified-service-page .unified-cta .lead{margin:0;color:rgba(255,255,255,.86);line-height:1.65;max-width:780px}
body.unified-service-page .unified-cta .btn{background:#fff;color:#AA2B26;white-space:nowrap}
@media(max-width:1120px){body.unified-service-page .unified-hero__grid,body.unified-service-page .unified-analysis-grid,body.unified-service-page .unified-results-grid{grid-template-columns:1fr}body.unified-service-page .unified-hero-visual{max-width:680px;margin:0 auto}body.unified-service-page .unified-need-grid{grid-template-columns:repeat(2,1fr)}body.unified-service-page .unified-mini-visual{max-width:560px;margin:0 auto;width:100%}body.unified-service-page .unified-cta{grid-template-columns:1fr;text-align:center}body.unified-service-page .unified-cta .btn{justify-self:center}}
@media(max-width:760px){body.unified-service-page .unified-hero{padding:28px 0 58px}body.unified-service-page .unified-section,body.unified-service-page .unified-analysis-section{padding:58px 0}body.unified-service-page .unified-need-grid{grid-template-columns:1fr}body.unified-service-page .unified-map{min-height:auto;display:grid;gap:12px;padding:20px}body.unified-service-page .unified-map:before,body.unified-service-page .unified-map:after{display:none}body.unified-service-page .unified-map__center,body.unified-service-page .unified-map__node{position:static;transform:none!important;width:auto;min-height:auto}body.unified-service-page .unified-step{grid-template-columns:1fr;gap:10px}body.unified-service-page .unified-cta{padding:34px 24px;border-radius:24px}body.unified-service-page .unified-actions{align-items:stretch}body.unified-service-page .unified-actions .btn,body.unified-service-page .unified-back{width:100%;text-align:center;justify-content:center}body.unified-service-page .unified-hero-visual{min-height:auto}body.unified-service-page .unified-card__top{margin-bottom:18px}}

/* Services page: strict vertical alignment for all service cards */
@media (min-width: 901px) {
  body.services-page .services-list-grid {
    align-items: stretch !important;
  }

  body.services-page .service-card.service-card--detailed {
    display: grid !important;
    grid-template-rows: 58px 68px 78px 118px 74px 28px !important;
    align-content: start !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 24px 24px 22px !important;
  }

  body.services-page .service-card.service-card--detailed > .card-ico {
    align-self: start !important;
    justify-self: center !important;
    margin: 0 !important;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    align-self: start !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: 0 !important;
    height: 68px !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1.08 !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    align-self: start !important;
    height: 78px !important;
    min-height: 78px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    overflow: hidden;
  }

  body.services-page .service-card.service-card--detailed .service-card-list {
    align-self: start !important;
    height: 118px !important;
    min-height: 118px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-result {
    align-self: start !important;
    height: 74px !important;
    min-height: 74px !important;
    margin: 0 !important;
    line-height: 1.42 !important;
    overflow: hidden;
  }

  body.services-page .service-card.service-card--detailed .link-more {
    align-self: end !important;
    justify-self: start !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.services-page .service-card.service-card--detailed {
    grid-template-rows: 58px 76px 88px 130px 86px 28px !important;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    height: 76px !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    height: 88px !important;
    min-height: 88px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-list {
    height: 130px !important;
    min-height: 130px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-result {
    height: 86px !important;
    min-height: 86px !important;
  }
}

/* Services page: safe card alignment without clipping or overlaps */
@media (min-width: 901px) {
  body.services-page .services-list-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }

  body.services-page .service-card.service-card--detailed {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 468px !important;
    padding: 26px 24px 24px !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > .card-ico {
    flex: 0 0 auto !important;
    align-self: center !important;
    justify-self: auto !important;
    margin: 0 0 16px !important;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: 78px !important;
    height: auto !important;
    margin: 0 0 12px !important;
    text-align: center !important;
    line-height: 1.08 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    flex: 0 0 auto !important;
    min-height: 78px !important;
    height: auto !important;
    margin: 0 0 18px !important;
    line-height: 1.5 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-list {
    flex: 0 0 auto !important;
    min-height: 132px !important;
    height: auto !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-result {
    flex: 0 0 auto !important;
    min-height: 62px !important;
    height: auto !important;
    margin: auto 0 16px !important;
    line-height: 1.42 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed .link-more {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    justify-self: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.services-page .service-card.service-card--detailed {
    min-height: 530px !important;
    padding: 24px 20px 24px !important;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    min-height: 94px !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    min-height: 88px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-list {
    min-height: 156px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-result {
    min-height: 78px !important;
  }
}

@media (max-width: 900px) {
  body.services-page .service-card.service-card--detailed {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > h3,
  body.services-page .service-card.service-card--detailed > p:not(.service-card-result),
  body.services-page .service-card.service-card--detailed .service-card-list,
  body.services-page .service-card.service-card--detailed .service-card-result {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-result {
    margin-top: auto !important;
  }
}

/* Unified premium breadcrumbs for all service pages */
.az-breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  margin:0 0 30px;
  font-family:var(--az-font-sans, Inter, Arial, sans-serif);
  font-size:13px;
  line-height:1.2;
  letter-spacing:.01em;
  color:rgba(62,54,49,.52);
}
.az-breadcrumbs a,
.az-breadcrumbs span{
  display:inline-flex;
  align-items:center;
  min-height:20px;
}
.az-breadcrumbs a{
  color:rgba(62,54,49,.58);
  text-decoration:none;
  font-weight:650;
  transition:color .22s ease, opacity .22s ease;
}
.az-breadcrumbs a:hover{
  color:#AA2B26;
}
.az-breadcrumbs__sep{
  margin:0 10px;
  color:rgba(170,43,38,.34);
  font-weight:400;
}
.az-breadcrumbs [aria-current="page"]{
  color:#AA2B26;
  font-weight:700;
}
.service-breadcrumb .az-breadcrumbs{
  margin:0;
}
@media (max-width:640px){
  .az-breadcrumbs{
    margin-bottom:22px;
    font-size:12px;
  }
  .az-breadcrumbs__sep{
    margin:0 8px;
  }
}


/* Service pages: centered section headings for sections without side visualizations */
body.service-detail-page .section > .container > .section-head,
body.service-detail-page .service-page-section > .container > .section-head,
body.service-detail-page .impl-head,
body.service-detail-page .system-section-head,
body.service-detail-page .consult-section-head,
body.service-detail-page .unified-head{
  text-align:center;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
body.service-detail-page .section > .container > .section-head .section-title,
body.service-detail-page .service-page-section > .container > .section-head .section-title,
body.service-detail-page .impl-head .section-title,
body.service-detail-page .system-section-head .section-title,
body.service-detail-page .consult-section-head .section-title,
body.service-detail-page .unified-head .section-title{
  margin-left:auto;
  margin-right:auto;
}
body.service-detail-page .section > .container > .section-head p:not(.eyebrow),
body.service-detail-page .service-page-section > .container > .section-head p:not(.eyebrow),
body.service-detail-page .impl-head p,
body.service-detail-page .system-section-head p,
body.service-detail-page .consult-section-head p,
body.service-detail-page .unified-head p:not(.eyebrow),
body.service-detail-page .section-note{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

/* Service pages: compact premium horizontal CTA blocks */
body.service-detail-page .service-detail-cta,
body.service-detail-page .service-detail-final-cta,
body.service-detail-page .cta,
body.service-detail-page .cta.cta-dark,
body.service-detail-page .unified-cta,
body.audit-service-page .audit-cta,
body.implementation-page .impl-cta {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 18px !important;
  margin-bottom: 68px !important;
  padding: 30px 38px !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 28px !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #AA2B26 0%, #C9453D 100%) !important;
  color: #fffaf3 !important;
  border: 1px solid rgba(255, 250, 243, .16) !important;
  box-shadow: 0 20px 46px rgba(170, 43, 38, .18) !important;
  overflow: hidden !important;
}

body.service-detail-page .service-detail-cta::before,
body.service-detail-page .service-detail-cta::after,
body.service-detail-page .service-detail-final-cta::before,
body.service-detail-page .service-detail-final-cta::after,
body.service-detail-page .cta::before,
body.service-detail-page .cta::after,
body.service-detail-page .unified-cta::before,
body.service-detail-page .unified-cta::after,
body.audit-service-page .audit-cta::before,
body.audit-service-page .audit-cta::after,
body.implementation-page .impl-cta::before,
body.implementation-page .impl-cta::after {
  display: none !important;
  content: none !important;
}

body.service-detail-page .service-detail-cta > div,
body.service-detail-page .service-detail-final-cta > div,
body.service-detail-page .cta > div,
body.service-detail-page .unified-cta > div,
body.audit-service-page .audit-cta > div,
body.implementation-page .impl-cta > div {
  max-width: 760px !important;
}

body.service-detail-page .service-detail-cta h2,
body.service-detail-page .service-detail-final-cta h2,
body.service-detail-page .cta h2,
body.service-detail-page .unified-cta h2,
body.audit-service-page .audit-cta h2,
body.implementation-page .impl-cta h2 {
  margin: 0 0 10px !important;
  color: #fffaf3 !important;
  font-size: clamp(26px, 2.15vw, 34px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
}

body.service-detail-page .service-detail-cta p,
body.service-detail-page .service-detail-final-cta p,
body.service-detail-page .cta p,
body.service-detail-page .unified-cta p,
body.audit-service-page .audit-cta p,
body.implementation-page .impl-cta p {
  margin: 0 !important;
  max-width: 700px !important;
  color: rgba(255, 250, 243, .84) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

body.service-detail-page .service-detail-cta .btn,
body.service-detail-page .service-detail-final-cta .btn,
body.service-detail-page .cta .btn,
body.service-detail-page .unified-cta .btn,
body.audit-service-page .audit-cta .btn,
body.implementation-page .impl-cta .btn {
  justify-self: end !important;
  align-self: center !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  background: #fffaf3 !important;
  border-color: #fffaf3 !important;
  color: #AA2B26 !important;
  box-shadow: 0 12px 24px rgba(68, 22, 19, .12) !important;
}

body.service-detail-page .service-detail-cta .btn:hover,
body.service-detail-page .service-detail-final-cta .btn:hover,
body.service-detail-page .cta .btn:hover,
body.service-detail-page .unified-cta .btn:hover,
body.audit-service-page .audit-cta .btn:hover,
body.implementation-page .impl-cta .btn:hover {
  background: #fff3ed !important;
  border-color: #fff3ed !important;
  color: #7E1E1A !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 900px) {
  body.service-detail-page .service-detail-cta,
  body.service-detail-page .service-detail-final-cta,
  body.service-detail-page .cta,
  body.service-detail-page .cta.cta-dark,
  body.service-detail-page .unified-cta,
  body.audit-service-page .audit-cta,
  body.implementation-page .impl-cta {
    width: min(100% - 32px, 1120px) !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 28px 24px !important;
    text-align: left !important;
    margin-bottom: 56px !important;
  }

  body.service-detail-page .service-detail-cta .btn,
  body.service-detail-page .service-detail-final-cta .btn,
  body.service-detail-page .cta .btn,
  body.service-detail-page .unified-cta .btn,
  body.audit-service-page .audit-cta .btn,
  body.implementation-page .impl-cta .btn {
    justify-self: start !important;
  }
}

@media (max-width: 560px) {
  body.service-detail-page .service-detail-cta,
  body.service-detail-page .service-detail-final-cta,
  body.service-detail-page .cta,
  body.service-detail-page .cta.cta-dark,
  body.service-detail-page .unified-cta,
  body.audit-service-page .audit-cta,
  body.implementation-page .impl-cta {
    width: min(100% - 24px, 1120px) !important;
    padding: 24px 20px !important;
    border-radius: 22px !important;
  }

  body.service-detail-page .service-detail-cta h2,
  body.service-detail-page .service-detail-final-cta h2,
  body.service-detail-page .cta h2,
  body.service-detail-page .unified-cta h2,
  body.audit-service-page .audit-cta h2,
  body.implementation-page .impl-cta h2 {
    font-size: 26px !important;
  }

  body.service-detail-page .service-detail-cta .btn,
  body.service-detail-page .service-detail-final-cta .btn,
  body.service-detail-page .cta .btn,
  body.service-detail-page .unified-cta .btn,
  body.audit-service-page .audit-cta .btn,
  body.implementation-page .impl-cta .btn {
    width: 100% !important;
    justify-self: stretch !important;
  }
}


/* Mobile homepage hero and overflow fix */
@media (max-width: 760px) {
  html,
  body.home-premium {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.home-premium .site-header,
  body.home-premium main,
  body.home-premium section,
  body.home-premium .container {
    max-width: 100%;
  }

  body.home-premium .hp-hero-clean {
    padding: 24px 0 34px;
    overflow: hidden;
  }

  body.home-premium .hp-hero-clean-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
  }

  body.home-premium .hp-hero-visual-clean {
    order: 1;
    width: 100%;
    max-width: 100%;
    min-height: 342px;
    overflow: hidden;
    margin: 0 auto;
  }

  body.home-premium .hp-hero-content {
    order: 2;
    width: 100%;
    max-width: 100%;
  }

  body.home-premium .hp-photo-bg-clean {
    left: 50%;
    right: auto;
    width: min(100%, 340px);
    max-width: calc(100vw - 32px);
    height: 306px;
    transform: translateX(-50%);
    border-radius: 28px;
  }

  body.home-premium .hp-hero-photo-clean {
    display: block;
    max-width: 100%;
    height: 350px;
    margin: 0 auto;
    object-fit: contain;
  }

  body.home-premium .hp-clean-card,
  body.home-premium .hp-floating-card {
    max-width: calc(100vw - 48px);
    white-space: normal;
  }

  body.home-premium .hp-clean-card-one,
  body.home-premium .hp-clean-card-two {
    right: 14px;
  }

  body.home-premium .hp-title-clean,
  body.home-premium .hp-lead-clean,
  body.home-premium .hp-benefit-line,
  body.home-premium .hp-actions-clean {
    max-width: 100%;
  }

  body.home-premium .hp-stats-clean {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    padding: 18px;
    overflow: hidden;
  }

  body.home-premium .hp-stats-clean .hp-stat {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 12px 0;
    border-right: 0;
    border-bottom: 1px solid var(--home-line);
  }

  body.home-premium .hp-stats-clean .hp-stat:first-child,
  body.home-premium .hp-stats-clean .hp-stat:last-child {
    padding-left: 0;
    padding-right: 0;
  }

  body.home-premium .hp-stats-clean .hp-stat:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 414px) {
  body.home-premium .container {
    width: min(100% - 28px, 1180px);
  }

  body.home-premium .hp-hero-visual-clean {
    min-height: 326px;
  }

  body.home-premium .hp-photo-bg-clean {
    height: 292px;
  }

  body.home-premium .hp-hero-photo-clean {
    height: 336px;
  }
}

@media (max-width: 360px) {
  body.home-premium .container {
    width: min(100% - 24px, 1180px);
  }

  body.home-premium .hp-hero-visual-clean {
    min-height: 306px;
  }

  body.home-premium .hp-photo-bg-clean {
    height: 272px;
    max-width: calc(100vw - 24px);
  }

  body.home-premium .hp-hero-photo-clean {
    height: 316px;
  }

  body.home-premium .hp-clean-card {
    display: none;
  }
}

/* Precise homepage mobile overflow fixes.
   1) .home-fit-card::after used a negative right offset and increased document scrollWidth.
   2) .policy-input was hidden, but later .hp-form input rules made it width:100% while absolute. */
@media (max-width: 860px) {
  .home-premium .home-fit-card::after {
    display: none;
  }

  .home-premium .home-fit-card,
  .home-premium .home-fit-list,
  .home-premium .home-fit-list .home-fit-item,
  .home-premium .home-fit-item__content {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
}

.home-premium .hp-form .policy-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  max-width: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Final mobile system fix: homepage overflow source controls and unified service hero scale */
@media (max-width: 760px) {
  html { box-sizing: border-box; }
  *, *::before, *::after { box-sizing: inherit; }

  body.home-premium,
  body.home-premium main,
  body.home-premium .hp-hero-clean,
  body.home-premium .hp-hero-clean .container,
  body.home-premium .hp-hero-clean-grid,
  body.home-premium .hp-hero-content,
  body.home-premium .hp-hero-visual-clean,
  body.home-premium .hp-title-clean,
  body.home-premium .hp-lead-clean,
  body.home-premium .hp-actions-clean,
  body.home-premium .hp-benefit-line,
  body.home-premium .hp-stats-clean {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.home-premium .hp-hero-clean {
    padding: 22px 0 34px !important;
    overflow: visible !important;
  }

  body.home-premium .hp-hero-clean::before {
    right: auto !important;
    left: 50% !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: translateX(-50%) !important;
  }

  body.home-premium .hp-hero-clean .container {
    width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home-premium .hp-hero-clean-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 20px !important;
  }

  body.home-premium .hp-hero-visual-clean {
    order: 1 !important;
    position: relative !important;
    min-height: 300px !important;
    max-height: 330px !important;
    overflow: hidden !important;
    margin: 0 auto !important;
  }

  body.home-premium .hp-hero-content {
    order: 2 !important;
    padding: 0 !important;
  }

  body.home-premium .hp-photo-bg-clean {
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(100%, 320px) !important;
    max-width: 100% !important;
    height: 280px !important;
    transform: translateX(-50%) !important;
  }

  body.home-premium .hp-hero-photo-clean {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: 318px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  body.home-premium .hp-clean-card,
  body.home-premium .hp-floating-card,
  body.home-premium .hp-flow-card {
    display: none !important;
  }

  body.home-premium .hp-title-clean {
    font-size: clamp(32px, 9vw, 38px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
    margin: 0 0 14px !important;
    overflow-wrap: normal !important;
  }

  body.home-premium .hp-lead-clean {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
  }

  body.home-premium .hp-actions-clean {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 18px 0 16px !important;
  }

  body.home-premium .hp-actions-clean .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 0 16px !important;
  }

  body.home-premium .hp-benefit-line {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  body.home-premium .hp-benefit-line span {
    max-width: 100% !important;
    min-height: 32px !important;
    padding: 7px 11px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 12.5px !important;
  }

  body.home-premium .hp-stats-clean,
  body.home-premium .hp-stats-clean .hp-stat,
  body.home-premium .hp-stats-clean .hp-stat > div {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.home-premium .home-fit-card::before,
  body.home-premium .home-fit-card::after {
    display: none !important;
  }
}

@media (max-width: 420px) {
  body.home-premium .hp-hero-clean .container { width: calc(100% - 24px) !important; }
  body.home-premium .hp-hero-visual-clean { min-height: 286px !important; max-height: 312px !important; }
  body.home-premium .hp-photo-bg-clean { height: 266px !important; width: min(100%, 300px) !important; }
  body.home-premium .hp-hero-photo-clean { height: 302px !important; }
}

@media (max-width: 340px) {
  body.home-premium .hp-hero-clean .container { width: calc(100% - 20px) !important; }
  body.home-premium .hp-title-clean { font-size: 31px !important; }
  body.home-premium .hp-hero-visual-clean { min-height: 260px !important; max-height: 286px !important; }
  body.home-premium .hp-photo-bg-clean { height: 242px !important; width: min(100%, 280px) !important; }
  body.home-premium .hp-hero-photo-clean { height: 278px !important; }
}

@media (max-width: 760px) {
  body.service-detail-page,
  body.implementation-page,
  body.audit-service-page {
    min-width: 0 !important;
  }

  body.service-detail-page main,
  body.implementation-page main,
  body.audit-service-page main,
  body.service-detail-page section,
  body.implementation-page section,
  body.audit-service-page section,
  body.service-detail-page .container,
  body.implementation-page .container,
  body.audit-service-page .container,
  body.service-detail-page .page-grid,
  body.implementation-page .impl-grid,
  body.audit-service-page .audit-hero__grid,
  body.service-detail-page .hero__grid,
  body.service-detail-page .unified-hero__grid,
  body.service-detail-page .service-detail-hero,
  body.implementation-page .impl-hero,
  body.audit-service-page .audit-hero,
  body.service-detail-page .hero,
  body.service-detail-page .page-hero,
  body.service-detail-page .unified-hero {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.service-detail-page .container,
  body.implementation-page .container,
  body.audit-service-page .container {
    width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.service-detail-page .site-header,
  body.implementation-page .site-header,
  body.audit-service-page .site-header {
    min-height: 0 !important;
  }

  body.service-detail-page .service-detail-hero,
  body.service-detail-page .page-hero.service-detail-hero,
  body.service-detail-page .hero,
  body.service-detail-page .unified-hero,
  body.implementation-page .impl-hero,
  body.audit-service-page .audit-hero {
    padding-top: 22px !important;
    padding-bottom: 42px !important;
    min-height: auto !important;
    overflow: hidden !important;
  }

  body.service-detail-page .az-breadcrumbs,
  body.implementation-page .az-breadcrumbs,
  body.audit-service-page .az-breadcrumbs {
    margin-bottom: 16px !important;
    gap: 7px !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }

  body.service-detail-page .page-grid,
  body.service-detail-page .hero__grid,
  body.service-detail-page .unified-hero__grid,
  body.implementation-page .impl-grid,
  body.audit-service-page .audit-hero__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body.service-detail-page .service-detail-hero .h1,
  body.service-detail-page .hero .h1,
  body.service-detail-page .unified-hero .h1,
  body.implementation-page .impl-hero .h1,
  body.audit-service-page .audit-hero .h1 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: clamp(32px, 9vw, 38px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
    margin: 0 0 12px !important;
    overflow-wrap: normal !important;
  }

  body.service-detail-page .service-detail-hero .lead,
  body.service-detail-page .hero .lead,
  body.service-detail-page .unified-hero .lead,
  body.implementation-page .impl-hero .lead,
  body.audit-service-page .audit-hero .lead {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.52 !important;
    margin: 0 0 10px !important;
  }

  body.service-detail-page .service-hero-actions,
  body.service-detail-page .actions,
  body.service-detail-page .unified-actions,
  body.implementation-page .impl-actions,
  body.audit-service-page .audit-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.service-detail-page .service-hero-actions .btn,
  body.service-detail-page .actions .btn,
  body.service-detail-page .unified-actions .btn,
  body.implementation-page .impl-actions .btn,
  body.audit-service-page .audit-actions .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
  }

  body.service-detail-page .consult-hero-visual,
  body.service-detail-page .support-hero-visual,
  body.service-detail-page .script-visual,
  body.service-detail-page .training-visual,
  body.service-detail-page .visual,
  body.service-detail-page .unified-hero-visual,
  body.service-detail-page .system-hero-visual,
  body.implementation-page .impl-visual,
  body.audit-service-page .audit-hero-visual {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: auto !important;
    max-height: none !important;
    transform: none !important;
    overflow: hidden !important;
  }

  body.service-detail-page .strategy-map,
  body.service-detail-page .call-board,
  body.service-detail-page .phone-note,
  body.service-detail-page .script-card,
  body.service-detail-page .training-board,
  body.service-detail-page .support-hero-visual > *,
  body.service-detail-page .consult-hero-visual > *,
  body.service-detail-page .system-hero-visual > *,
  body.implementation-page .impl-board,
  body.implementation-page .impl-doc,
  body.implementation-page .impl-chart,
  body.audit-service-page .audit-hero-visual > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.service-detail-page .strategy-map,
  body.service-detail-page .call-board,
  body.service-detail-page .training-board,
  body.implementation-page .impl-board {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    padding: 20px !important;
    border-radius: 22px !important;
    transform: none !important;
  }

  body.service-detail-page .brief,
  body.service-detail-page .accent-note,
  body.service-detail-page .phone-note,
  body.service-detail-page .script-card,
  body.implementation-page .impl-doc,
  body.implementation-page .impl-chart {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin-top: 12px !important;
    transform: none !important;
  }

  body.service-detail-page .node,
  body.service-detail-page .node--accent,
  body.service-detail-page .map-card,
  body.service-detail-page .matrix-card,
  body.service-detail-page .problem-card,
  body.service-detail-page .card,
  body.service-detail-page .result-card,
  body.implementation-page .impl-card,
  body.implementation-page .impl-map-item,
  body.implementation-page .impl-result {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 420px) {
  body.service-detail-page .container,
  body.implementation-page .container,
  body.audit-service-page .container { width: calc(100% - 24px) !important; }
  body.service-detail-page .service-detail-hero .h1,
  body.service-detail-page .hero .h1,
  body.service-detail-page .unified-hero .h1,
  body.implementation-page .impl-hero .h1,
  body.audit-service-page .audit-hero .h1 { font-size: clamp(31px, 8.8vw, 36px) !important; }
}


/* Cascade fix: remove real mobile conflicts instead of adding unrelated overrides.
   Diagnostics at 375px showed no regular element wider than viewport after the previous fixes;
   the remaining right light band is caused by the mobile home hero background/pseudo layer being allowed
   to paint outside the section because a later rule changed .hp-hero-clean to overflow: visible.
   Keep the decorative layer clipped to the hero and keep service mobile sizes from being overridden by
   older inline page styles. */
@media (max-width: 760px) {
  body.home-premium .hp-hero-clean {
    overflow: hidden !important;
    max-width: 100% !important;
  }

  body.home-premium .hp-hero-clean::before,
  body.home-premium .hp-hero-clean::after {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }

  body.home-premium .hp-hero-clean-grid,
  body.home-premium .hp-hero-content,
  body.home-premium .hp-hero-visual-clean,
  body.home-premium .hp-benefit-line,
  body.home-premium .hp-actions-clean {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.home-premium .hp-title-clean {
    max-width: 100% !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.service-detail-page .service-detail-hero .h1,
  body.service-detail-page .page-hero .h1,
  body.service-detail-page .hero .h1,
  body.service-detail-page .unified-hero .h1,
  body.implementation-page .impl-hero .h1,
  body.audit-service-page .audit-hero .h1 {
    font-size: clamp(32px, 9vw, 38px) !important;
    line-height: 1.04 !important;
    margin-bottom: 12px !important;
  }

  body.service-detail-page .service-detail-hero .lead,
  body.service-detail-page .page-hero .lead,
  body.service-detail-page .hero .lead,
  body.service-detail-page .unified-hero .lead,
  body.implementation-page .impl-hero .lead,
  body.audit-service-page .audit-hero .lead {
    font-size: 15.5px !important;
    line-height: 1.52 !important;
  }

  body.service-detail-page .service-hero-actions,
  body.service-detail-page .actions,
  body.service-detail-page .unified-actions,
  body.implementation-page .impl-actions,
  body.audit-service-page .audit-actions {
    margin-top: 18px !important;
    gap: 10px !important;
  }

  body.service-detail-page .service-hero-actions .btn,
  body.service-detail-page .actions .btn,
  body.service-detail-page .unified-actions .btn,
  body.implementation-page .impl-actions .btn,
  body.audit-service-page .audit-actions .btn {
    min-height: 44px !important;
    padding: 0 16px !important;
  }
}

/* About page: mobile-only order fix. Desktop layout unchanged. */
@media (max-width: 760px) {
  body.about-premium .about-hero-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body.about-premium .about-hero-visual {
    order: 1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 350px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }

  body.about-premium .about-hero-content {
    order: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body.about-premium .about-hero--about .about-photo-card {
    right: 50%;
    bottom: 0;
    width: min(100%, 340px);
    max-width: 100%;
    height: 320px;
    transform: translateX(50%) rotate(-1deg);
  }

  body.about-premium .about-photo {
    height: 370px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: bottom center;
  }

  body.about-premium .about-trust-grid,
  body.about-premium .about-trust-card {
    max-width: 100%;
    min-width: 0;
  }
}

@media (max-width: 360px) {
  body.about-premium .about-hero-visual {
    min-height: 320px;
  }

  body.about-premium .about-hero--about .about-photo-card {
    width: min(100%, 310px);
    height: 292px;
  }

  body.about-premium .about-photo {
    height: 338px;
  }
}

/* Final cascade fix: About page mobile order (must stay at end of file). */
@media (max-width: 760px) {
  body.about-premium .about-hero-grid {
    display: flex !important;
    flex-direction: column !important;
  }

  body.about-premium .about-hero-visual {
    order: 1 !important;
  }

  body.about-premium .about-hero-content {
    order: 2 !important;
  }
}



/* Material article page: scripts sales */
body.material-article-page {
  background: #fbf7f1;
}
.material-article-hero {
  padding: 72px 0 40px;
  background: linear-gradient(180deg, #fffaf4 0%, #fbf7f1 100%);
}
.material-article-hero .container {
  max-width: 980px;
}
.material-article-hero .eyebrow {
  color: #AA2B26;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.material-article-hero .h1 {
  max-width: 860px;
  margin: 10px 0 18px;
}
.material-article-hero .lead {
  max-width: 760px;
  color: #6f625c;
  font-size: 20px;
  line-height: 1.55;
}
.material-article-section {
  padding-top: 32px;
}
.article-layout {
  max-width: 1040px;
}
.article-toc {
  margin: 0 0 34px;
  padding: 28px 30px;
  border: 1px solid rgba(170, 43, 38, .12);
  border-radius: 24px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 55px rgba(60, 38, 30, .08);
}
.article-toc h2 {
  margin: 0 0 16px;
  font-size: 28px;
  color: #2e2522;
}
.article-toc ol {
  column-count: 2;
  column-gap: 34px;
  margin: 0;
  padding-left: 20px;
}
.article-toc li {
  break-inside: avoid;
  margin: 0 0 10px;
  color: rgba(170,43,38,.55);
}
.article-toc a {
  color: #5f524c;
  text-decoration: none;
  transition: color .2s ease;
}
.article-toc a:hover {
  color: #AA2B26;
}
.article-content {
  padding: 48px 54px;
  border: 1px solid rgba(170, 43, 38, .10);
  border-radius: 28px;
  background: #fffdf9;
  box-shadow: 0 20px 70px rgba(60, 38, 30, .08);
}
.article-content .article-lead {
  margin: 0 0 34px;
  padding: 0 0 28px;
  border-bottom: 1px solid rgba(170,43,38,.12);
  color: #4d423d;
  font-size: 20px;
  line-height: 1.65;
}
.article-content h2 {
  margin: 48px 0 18px;
  color: #2e2522;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.16;
}
.article-content h2:first-of-type {
  margin-top: 0;
}
.article-content h3 {
  margin: 30px 0 12px;
  color: #3a302c;
  font-size: 22px;
  line-height: 1.25;
}
.article-content p,
.article-content li {
  color: #5f524c;
  font-size: 17px;
  line-height: 1.75;
}
.article-content p {
  margin: 0 0 18px;
}
.article-content ul,
.article-content ol {
  margin: 0 0 22px;
  padding-left: 22px;
}
.article-content li {
  margin: 0 0 8px;
}
.article-table-wrap {
  overflow-x: auto;
  margin: 26px 0 28px;
}
.article-table {
  width: 100%;
  min-width: 620px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid rgba(170,43,38,.14);
  border-radius: 18px;
  background: #fff;
}
.article-table th,
.article-table td {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(170,43,38,.10);
  color: #5f524c;
  text-align: left;
  vertical-align: top;
  font-size: 16px;
  line-height: 1.55;
}
.article-table th {
  background: rgba(170,43,38,.08);
  color: #2e2522;
  font-weight: 700;
}
.article-table tr:last-child td {
  border-bottom: 0;
}
.article-faq {
  margin-top: 22px;
}
.faq-item {
  padding: 22px 24px;
  margin: 0 0 14px;
  border: 1px solid rgba(170,43,38,.12);
  border-radius: 18px;
  background: #fff9f3;
}
.faq-item h3 {
  margin-top: 0;
  color: #2e2522;
  font-size: 20px;
}
.faq-item p:last-child {
  margin-bottom: 0;
}
@media (max-width: 760px) {
  .material-article-hero {
    padding: 46px 0 28px;
  }
  .material-article-hero .lead {
    font-size: 17px;
    line-height: 1.55;
  }
  .article-toc {
    padding: 22px 20px;
    border-radius: 20px;
  }
  .article-toc h2 {
    font-size: 24px;
  }
  .article-toc ol {
    column-count: 1;
  }
  .article-content {
    padding: 30px 20px;
    border-radius: 22px;
  }
  .article-content .article-lead {
    font-size: 17px;
    line-height: 1.6;
  }
  .article-content h2 {
    margin-top: 38px;
    font-size: 28px;
  }
  .article-content h3 {
    font-size: 20px;
  }
  .article-content p,
  .article-content li {
    font-size: 16px;
    line-height: 1.68;
  }
}



/* Implementation page: targeted content refinements */
body.implementation-page .impl-head--centered{
  text-align:center;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
body.implementation-page .impl-head--centered .section-title,
body.implementation-page .impl-head--centered p{
  margin-left:auto;
  margin-right:auto;
}
body.implementation-page .impl-head--centered p:not(.eyebrow){
  max-width:820px;
}
body.implementation-page .impl-map-item h3{
  line-height:1.16;
}
body.implementation-page .impl-map-item p{
  line-height:1.38;
}

/* Unified premium section eyebrow labels for services */
body.services-page .eyebrow,
body.service-detail-page .eyebrow,
body.implementation-page .eyebrow {
  color: #AA2B26 !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .24em !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  margin: 0 0 14px !important;
}

@media (max-width: 760px) {
  body.services-page .eyebrow,
  body.service-detail-page .eyebrow,
  body.implementation-page .eyebrow {
    letter-spacing: .18em !important;
    font-size: 11px !important;
    margin-bottom: 12px !important;
  }
}

/* Case result cards */
.case-story-results-grid .case-story-card--result strong{display:block;font-size:clamp(22px,3vw,34px);line-height:1.1;color:#AA2B26;margin-bottom:10px;font-family:var(--font-serif, Georgia, serif);}
.case-story-results-grid .case-story-card--result p{margin:0;}

/* Distribution case: result photos are 10% narrower than their cards. */
.case-story-results-grid--photos .case-story-card--result {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.case-story-results-grid--photos .case-story-card--result img {
  display: block;
  width: 90%;
  aspect-ratio: 16 / 9;
  margin: 22px auto 0;
  border-radius: 14px;
  object-fit: cover;
  object-position: center;
  background: #eee7e1;
}

/* Materials page: task-based catalog */
body.materials-page .materials-catalog-section {
  padding: 72px 0 82px;
  background: linear-gradient(180deg, #fffdf9 0%, #fbf7f2 100%);
}

body.materials-page .materials-catalog-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 250px);
  gap: 36px;
  align-items: end;
  margin-bottom: 34px;
}

body.materials-page .materials-catalog-head .lead {
  max-width: 820px;
  margin: 18px 0 0;
  color: #5d544c;
  font-size: 18px;
  line-height: 1.68;
}

body.materials-page .materials-catalog-note {
  border-left: 2px solid rgba(170, 43, 38, .18);
  padding-left: 22px;
}

body.materials-page .materials-catalog-note span {
  display: block;
  color: #AA2B26;
  font-family: var(--serif);
  font-size: 54px;
  line-height: .9;
}

body.materials-page .materials-catalog-note p {
  margin: 10px 0 0;
  color: #5f554e;
  line-height: 1.45;
}

body.materials-page .materials-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}

body.materials-page .materials-category {
  min-height: 112px;
  padding: 22px 20px;
  border: 1px solid rgba(82, 62, 48, .12);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 14px 34px rgba(42, 33, 25, .055);
  color: #2d2823;
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}

body.materials-page .materials-category:hover {
  transform: translateY(-2px);
  border-color: rgba(170, 43, 38, .22);
  box-shadow: 0 20px 44px rgba(42, 33, 25, .075);
}

body.materials-page .materials-category.is-active {
  background: #AA2B26;
  border-color: #AA2B26;
  color: #fff;
  box-shadow: 0 20px 42px rgba(170, 43, 38, .22);
}

body.materials-page .materials-category span {
  display: block;
  margin-bottom: 12px;
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.12;
}

body.materials-page .materials-category strong {
  display: block;
  color: #756c63;
  font-size: 14px;
  line-height: 1.45;
}

body.materials-page .materials-category.is-active strong {
  color: rgba(255, 255, 255, .78);
}

body.materials-page .materials-catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 18px;
  align-items: end;
  margin: 30px 0 22px;
}

body.materials-page .materials-search span {
  display: block;
  margin-bottom: 9px;
  color: #8b7d70;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.materials-page .materials-search input {
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(82, 62, 48, .14);
  border-radius: 8px;
  background: #fff;
  color: #2d2823;
  font: inherit;
  box-shadow: 0 12px 26px rgba(42, 33, 25, .04);
}

body.materials-page .materials-search input:focus {
  outline: none;
  border-color: rgba(170, 43, 38, .48);
  box-shadow: 0 0 0 4px rgba(170, 43, 38, .08);
}

body.materials-page .materials-type-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

body.materials-page .materials-type-tabs button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(170, 43, 38, .16);
  border-radius: 999px;
  background: #fff;
  color: #4f463f;
  font-weight: 700;
  cursor: pointer;
}

body.materials-page .materials-type-tabs button.is-active {
  background: #AA2B26;
  border-color: #AA2B26;
  color: #fff;
}

body.materials-page .materials-result-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0;
  padding-top: 18px;
  border-top: 1px solid rgba(82, 62, 48, .1);
}

body.materials-page .materials-result-line strong {
  color: #2d2823;
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
}

body.materials-page .materials-result-line span {
  color: #AA2B26;
  font-weight: 700;
}

body.materials-page .materials-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body.materials-page .materials-result-card {
  min-height: 228px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid rgba(82, 62, 48, .12);
  border-radius: 8px;
  background: #fffdf9;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 16px 38px rgba(42, 33, 25, .055);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.materials-page .materials-result-card:hover {
  transform: translateY(-3px);
  border-color: rgba(170, 43, 38, .22);
  box-shadow: 0 24px 52px rgba(42, 33, 25, .08);
}

body.materials-page .materials-result-card small {
  width: max-content;
  margin-bottom: 18px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff4ee;
  color: #AA2B26;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.materials-page .materials-result-card h3 {
  margin: 0 0 14px;
  color: #2d2823;
  font-family: var(--serif);
  font-size: 23px;
  line-height: 1.16;
  font-weight: 400;
}

body.materials-page .materials-result-card p {
  margin: 0;
  color: #62584f;
  line-height: 1.62;
}

body.materials-page .materials-result-card::after {
  content: "Открыть →";
  margin-top: auto;
  padding-top: 22px;
  color: #AA2B26;
  font-weight: 800;
}

body.materials-page .materials-result-card.is-hidden {
  display: none;
}

body.materials-page .materials-empty {
  margin: 24px 0 0;
  padding: 24px;
  border: 1px solid rgba(170, 43, 38, .14);
  border-radius: 8px;
  background: #fff8f2;
  color: #5d544c;
}

@media (max-width: 1024px) {
  body.materials-page .materials-catalog-head,
  body.materials-page .materials-catalog-toolbar {
    grid-template-columns: 1fr;
  }

  body.materials-page .materials-type-tabs {
    justify-content: flex-start;
  }

  body.materials-page .materials-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.materials-page .materials-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.materials-page .materials-catalog-section {
    padding: 54px 0 62px;
  }

  body.materials-page .materials-category-grid,
  body.materials-page .materials-result-grid {
    grid-template-columns: 1fr;
  }

  body.materials-page .materials-result-line {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Unified callback form — reference-inspired, adapted to the site's premium palette */
.feedback-widget {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(170, 43, 38, .14);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 20px 58px rgba(42, 33, 31, .08);
  color: #111315;
}

.feedback-widget__request,
.feedback-widget__direct {
  min-width: 0;
  padding: clamp(36px, 4vw, 58px);
}

.feedback-widget__direct {
  border-left: 1px solid #e8e1da;
  background: #fbf7f2;
}

.feedback-widget__title {
  margin: 0 0 32px;
  font-family: var(--serif, Georgia, serif);
  font-size: clamp(30px, 2.6vw, 42px);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -.025em;
  color: #111315;
}

.feedback-form {
  display: grid;
  gap: 28px;
}

.feedback-form__phone input {
  display: block;
  width: 100%;
  min-height: 62px;
  padding: 15px 18px;
  border: 1px solid #cfc6be;
  border-radius: 16px;
  outline: none;
  background: #fff;
  color: #111315;
  font: inherit;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.feedback-form__phone input:focus {
  border-color: #AA2B26;
  box-shadow: 0 0 0 3px rgba(170, 43, 38, .10);
}

.feedback-form__methods {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.feedback-form__methods legend {
  margin-bottom: 18px;
  color: #2b2928;
  font-size: 14px;
  font-weight: 700;
}

.feedback-form__method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 22px;
  align-items: center;
}

.feedback-form__method-grid label,
.feedback-form__agree {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  cursor: pointer;
  color: #625d59;
  font-size: 13px;
  line-height: 1.35;
}

.feedback-form__method-grid input,
.feedback-form__agree input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.feedback-form__method-grid label > span,
.feedback-form__agree > span {
  display: grid;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid #aaa19a;
  background: #fff;
  border-radius: 8px;
  transition: .2s ease;
}

.feedback-form__method-grid input:checked + span,
.feedback-form__agree input:checked + span {
  border-color: #AA2B26;
  background: #AA2B26;
  box-shadow: inset 0 0 0 5px #fff;
}

.feedback-form__method-grid input:focus-visible + span,
.feedback-form__agree input:focus-visible + span {
  outline: 3px solid rgba(170, 43, 38, .18);
  outline-offset: 2px;
}

.feedback-form__agree {
  align-items: flex-start;
}

.feedback-form__agree small {
  padding-top: 3px;
  font-size: 12px;
  color: #77706b;
}

.feedback-form__submit {
  justify-self: start;
  min-width: 230px;
  min-height: 62px;
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(51, 37, 33, .16);
}

.feedback-success {
  margin: 0;
  color: #AA2B26;
  font-weight: 700;
}

.feedback-success[data-state="success"] {
  color: #237244;
}

.feedback-success[data-state="error"] {
  color: #b52b26;
}

.feedback-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 42px;
}

.feedback-socials a {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  background: #AA2B26;
  color: #fff;
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(170, 43, 38, .16);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.feedback-socials a:hover {
  transform: translateY(-3px);
  background: #87201d;
  box-shadow: 0 16px 30px rgba(143, 33, 30, .22);
}

.feedback-socials img {
  width: 30px;
  height: 30px;
  filter: brightness(0) invert(1);
}

.feedback-contacts {
  display: grid;
  gap: 16px;
}

.feedback-contacts a {
  width: fit-content;
  color: #5f5955;
  font-size: 16px;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.feedback-contacts a:hover {
  color: #AA2B26;
  border-bottom-color: rgba(170, 43, 38, .35);
}

.consult-modal__dialog {
  width: min(100%, 1160px);
  padding: 34px;
}

.consult-modal__dialog .consult-modal__eyebrow,
.consult-modal__dialog .consult-modal__title,
.consult-modal__dialog .consult-modal__photo {
  display: none;
}

.consult-modal__dialog--with-photo,
.consult-modal__dialog--with-photo .consult-modal__content,
.consult-modal__dialog--with-photo .consult-modal__main {
  width: min(100%, 1160px);
  max-width: none;
  display: block;
  padding: 0;
}

.form > .feedback-widget,
.hp-form-card .feedback-widget {
  width: 100%;
}

.hp-form-card:has(.feedback-widget) {
  grid-template-columns: minmax(300px, .58fr) minmax(820px, 1.42fr);
}

.hp-form-card:has(.feedback-widget) .hp-form-visual {
  display: none;
}

.hp-form-card > .feedback-widget {
  align-self: stretch;
}

.consult-modal .feedback-widget,
.hp-form-card .feedback-widget {
  grid-template-columns: minmax(500px, 1.25fr) minmax(300px, .75fr);
}

.home-premium .hp-form-section > .container {
  width: min(1600px, calc(100% - 48px));
  max-width: 1600px;
}

.home-premium .hp-form-card:has(.feedback-widget) {
  max-width: 1600px;
}

.hp-form-card .feedback-widget__request,
.hp-form-card .feedback-widget__direct {
  padding: clamp(38px, 3.4vw, 50px);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 1180px) {
  .hp-form-card:has(.feedback-widget) {
    grid-template-columns: 1fr;
  }

  .hp-form-card .feedback-widget {
    grid-template-columns: minmax(500px, 1.25fr) minmax(300px, .75fr);
  }
}

@media (max-width: 980px) {
  .consult-modal .feedback-widget,
  .hp-form-card .feedback-widget {
    grid-template-columns: 1fr;
  }

  .feedback-widget__direct {
    display: grid;
    grid-template-columns: minmax(260px, .9fr) minmax(300px, 1.1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 14px 42px;
    padding: 30px 34px;
  }

  .feedback-widget__direct .feedback-widget__title {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
  }

  .feedback-widget__direct .feedback-socials {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
  }

  .feedback-widget__direct .feedback-contacts {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }

  .feedback-form__method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .feedback-widget__request,
  .feedback-widget__direct {
    padding: 34px;
  }
}

@media (max-width: 680px) {
  .consult-modal__dialog {
    padding: 18px;
  }

  .feedback-widget {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .feedback-widget__request,
  .feedback-widget__direct {
    padding: 30px 24px;
  }

  .feedback-widget__direct {
    display: block;
    border-top: 1px solid #e8e1da;
    border-left: 0;
  }

  .feedback-widget__title {
    margin-bottom: 24px;
    font-size: 30px;
  }

  .feedback-socials {
    margin-bottom: 28px;
  }

  .feedback-widget__direct .feedback-widget__title,
  .feedback-widget__direct .feedback-socials,
  .feedback-widget__direct .feedback-contacts {
    display: initial;
  }

  .feedback-widget__direct .feedback-widget__title {
    display: block;
    margin-bottom: 24px;
  }

  .feedback-widget__direct .feedback-socials {
    display: flex;
    margin-bottom: 28px;
  }

  .feedback-widget__direct .feedback-contacts {
    display: grid;
  }
}

/* Contacts page: give the feedback area more air and prevent the direct-contact card from being squeezed */
body.contacts-page .container.grid.grid-2 {
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
  align-items: start;
  gap: 28px;
}

body.contacts-page .container.grid.grid-2 > .card,
body.contacts-page .container.grid.grid-2 > .next-box {
  height: 100%;
  box-sizing: border-box;
}

body.contacts-page .container.grid.grid-2 > .card {
  padding: clamp(28px, 3vw, 44px);
}

body.contacts-page .container.grid.grid-2 > .card > .section-title {
  margin-bottom: 10px;
  font-size: clamp(40px, 4vw, 56px);
}

body.contacts-page .container.grid.grid-2 > .card > .text {
  margin-bottom: 24px;
  max-width: 760px;
  font-size: 18px;
  line-height: 1.6;
}

body.contacts-page .container.grid.grid-2 .feedback-widget {
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  border-radius: 28px;
  box-shadow: 0 18px 44px rgba(42, 33, 31, .08);
}

body.contacts-page .feedback-widget__request,
body.contacts-page .feedback-widget__direct {
  padding: clamp(30px, 3vw, 40px);
}

body.contacts-page .feedback-widget__request .feedback-widget__title,
body.contacts-page .feedback-widget__direct .feedback-widget__title {
  margin-bottom: 24px;
  font-size: clamp(32px, 2.4vw, 40px);
  line-height: 1.12;
}

body.contacts-page .feedback-form {
  gap: 22px;
}

body.contacts-page .feedback-form__phone input {
  min-height: 66px;
  padding: 16px 18px;
}

body.contacts-page .feedback-form__methods legend {
  margin-bottom: 14px;
}

body.contacts-page .feedback-form__method-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

body.contacts-page .feedback-form__submit {
  min-width: 268px;
  min-height: 60px;
}

body.contacts-page .feedback-widget__direct {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  border-left: 1px solid #e8e1da;
  background: #fbf7f2;
}

body.contacts-page .feedback-widget__direct .feedback-socials {
  gap: 14px;
  margin-bottom: 24px;
}

body.contacts-page .feedback-widget__direct .feedback-socials a {
  width: 66px;
  height: 66px;
}

body.contacts-page .feedback-widget__direct .feedback-socials img {
  width: 28px;
  height: 28px;
}

body.contacts-page .feedback-widget__direct .feedback-contacts {
  gap: 12px;
}

body.contacts-page .feedback-widget__direct .feedback-contacts a {
  font-size: 17px;
  line-height: 1.45;
}

body.contacts-page .next-box {
  padding: clamp(28px, 3vw, 40px);
  border-radius: 24px;
}

body.contacts-page .next-box .section-title {
  margin-bottom: 22px;
  font-size: clamp(36px, 3vw, 48px);
}

body.contacts-page .next-item {
  padding-bottom: 22px;
}

body.contacts-page .next-item:last-child {
  padding-bottom: 0;
}

@media (max-width: 1240px) {
  body.contacts-page .container.grid.grid-2 {
    grid-template-columns: 1fr;
  }

  body.contacts-page .container.grid.grid-2 .feedback-widget {
    grid-template-columns: 1fr;
  }

  body.contacts-page .feedback-widget__direct {
    border-left: 0;
    border-top: 1px solid #e8e1da;
  }
}

@media (max-width: 760px) {
  body.contacts-page .container.grid.grid-2 > .card,
  body.contacts-page .next-box {
    padding: 24px 20px;
  }

  body.contacts-page .container.grid.grid-2 > .card > .section-title {
    font-size: clamp(32px, 9vw, 44px);
  }

  body.contacts-page .container.grid.grid-2 > .card > .text {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.5;
  }

  body.contacts-page .feedback-widget {
    border-radius: 24px;
  }

  body.contacts-page .feedback-widget__request,
  body.contacts-page .feedback-widget__direct {
    padding: 26px 22px;
  }

  body.contacts-page .feedback-widget__request .feedback-widget__title,
  body.contacts-page .feedback-widget__direct .feedback-widget__title {
    margin-bottom: 20px;
    font-size: 28px;
  }

  body.contacts-page .feedback-form {
    gap: 18px;
  }

  body.contacts-page .feedback-form__method-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
  }

  body.contacts-page .feedback-form__submit {
    width: 100%;
    min-width: 0;
  }

  body.contacts-page .feedback-widget__direct .feedback-socials a {
    width: 58px;
    height: 58px;
  }

  body.contacts-page .feedback-widget__direct .feedback-socials img {
    width: 25px;
    height: 25px;
  }

  body.contacts-page .feedback-widget__direct .feedback-contacts a {
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  body.contacts-page .feedback-form__method-grid {
    grid-template-columns: 1fr;
  }
}

/* Services page: heading above a reference-style horizontal feedback form */
body.services-page .services-feedback-section {
  padding: 34px 0 88px;
  background: linear-gradient(180deg, #fffdf9 0%, #faf5ef 100%);
}

body.services-page .services-feedback-head {
  max-width: 880px;
  margin: 0 auto 34px;
  text-align: center;
}

body.services-page .services-feedback-head .section-title {
  margin: 0 0 12px;
  color: #211d1b;
  font-size: clamp(42px, 4.3vw, 64px);
  font-weight: 500;
  line-height: 1.06;
}

body.services-page .services-feedback-head .lead {
  max-width: 720px;
  margin: 0 auto;
  color: #665f5a;
  font-size: 19px;
  line-height: 1.5;
}

body.services-page .services-feedback-section .feedback-widget {
  grid-template-columns: minmax(0, 1.3fr) minmax(330px, .7fr);
  max-width: 1320px;
  margin: 0 auto;
  border-radius: 24px;
}

body.services-page .services-feedback-section .feedback-widget__request,
body.services-page .services-feedback-section .feedback-widget__direct {
  padding: 44px 48px 46px;
}

body.services-page .services-feedback-section .feedback-widget__title {
  margin-bottom: 30px;
  font-size: clamp(34px, 3vw, 46px);
}

body.services-page .services-feedback-section .feedback-form__method-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1050px) {
  body.services-page .services-feedback-section .feedback-widget {
    grid-template-columns: 1fr;
  }

  body.services-page .services-feedback-section .feedback-widget__direct {
    border-top: 1px solid #e8e1da;
    border-left: 0;
  }
}

@media (max-width: 680px) {
  body.services-page .services-feedback-section {
    padding: 18px 0 62px;
  }

  body.services-page .services-feedback-head {
    margin-bottom: 24px;
    text-align: left;
  }

  body.services-page .services-feedback-head .section-title {
    font-size: 40px;
  }

  body.services-page .services-feedback-section .feedback-widget__request,
  body.services-page .services-feedback-section .feedback-widget__direct {
    padding: 28px 24px;
  }

  body.services-page .services-feedback-section .feedback-form__method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Services catalog: six solutions in two rows of three */
@media (min-width: 1181px) {
  body.services-page .services-list-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1320px;
    margin-right: auto;
    margin-left: auto;
  }

  body.services-page .services-list-grid > .service-card:nth-last-child(2),
  body.services-page .services-list-grid > .service-card:last-child {
    grid-column: auto;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.services-page .services-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Homepage feedback: integrated heading above the left-hand form */
.home-premium .hp-form-card.hp-form-card--integrated {
  display: block;
  grid-template-columns: none;
  max-width: 1500px;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.home-premium .hp-form-card--integrated > .feedback-widget {
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
  width: 100%;
  border-radius: 24px;
}

.home-premium .hp-form-card--integrated .feedback-widget__request,
.home-premium .hp-form-card--integrated .feedback-widget__direct {
  padding: clamp(38px, 3.5vw, 52px);
}

.home-premium .hp-form-card--integrated .feedback-widget__request .hp-kicker {
  margin: 0 0 16px;
}

.home-premium .hp-form-card--integrated .feedback-widget__request h2 {
  max-width: 690px;
  margin: 0 0 16px;
  color: #171719;
  font-size: clamp(42px, 4vw, 62px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.035em;
}

.home-premium .hp-form-card--integrated .hp-integrated-lead {
  max-width: 700px;
  margin: 0 0 28px;
  color: #554f4b;
  font-size: 17px;
  line-height: 1.55;
}

.home-premium .hp-form-card--integrated .feedback-response-time {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 0;
  color: #5f5955;
  font-size: 15px;
  line-height: 1.4;
}

.home-premium .hp-form-card--integrated .feedback-response-time img {
  width: 22px;
  height: 22px;
  filter: none;
  opacity: .9;
}

@media (max-width: 980px) {
  .home-premium .hp-form-card--integrated > .feedback-widget {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .home-premium .hp-form-card--integrated .feedback-widget__request h2 {
    font-size: 40px;
  }

  .home-premium .hp-form-card--integrated .hp-integrated-lead {
    margin-bottom: 22px;
    font-size: 15px;
  }
}

/* Materials in development: title stays sharp, only the unavailable content is blurred */
body.materials-page .materials-result-card.is-development {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  cursor: default;
  isolation: isolate;
}

body.materials-page .materials-result-card.is-development:hover {
  transform: none;
  border-color: rgba(82, 62, 48, .12);
  box-shadow: 0 16px 38px rgba(42, 33, 25, .055);
}

body.materials-page .materials-result-card.is-development small,
body.materials-page .materials-result-card.is-development h3 {
  position: relative;
  z-index: 4;
}

body.materials-page .materials-result-card.is-development p {
  position: relative;
  z-index: 1;
  opacity: .52;
  filter: blur(6px);
  user-select: none;
}

body.materials-page .materials-result-card.is-development::before {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: 58%;
  background: linear-gradient(180deg, rgba(255,253,249,.54), rgba(248,241,233,.96));
  pointer-events: none;
}

body.materials-page .materials-result-card.is-development::after {
  content: "◷\A МАТЕРИАЛ В РАЗРАБОТКЕ\A Скоро будет доступен";
  position: absolute;
  z-index: 5;
  right: 28px;
  bottom: 24px;
  left: 28px;
  margin: 0;
  padding: 18px 14px 16px;
  border: 1px solid rgba(170,43,38,.24);
  border-radius: 18px;
  background: rgba(255,253,249,.96);
  box-shadow: 0 14px 32px rgba(55,38,31,.10);
  color: #AA2B26;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .12em;
  text-align: center;
  white-space: pre-line;
  pointer-events: none;
}

body.materials-page .materials-featured-single {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
}

/* Materials page feedback: the same clean two-column layout as the homepage */
body.materials-page .materials-feedback-section {
  padding: 34px 0 88px;
  background: linear-gradient(180deg, #fffdf9 0%, #faf5ef 100%);
}

body.materials-page .materials-feedback-section .feedback-widget {
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
  max-width: 1500px;
  margin: 0 auto;
  border-radius: 24px;
}

/* Homepage and cases: compact horizontal feedback block */
.home-premium .hp-form-section > .container {
  width: min(100% - 48px, 1440px);
  max-width: 1440px;
}

.home-premium .hp-form-card.hp-form-card--integrated {
  max-width: 1440px;
  margin: 0 auto;
}

.home-premium .hp-form-card--integrated > .feedback-widget,
body.cases-page .cases-feedback-section .feedback-widget {
  grid-template-columns: minmax(0, 1.32fr) minmax(330px, .68fr);
}

.home-premium .hp-form-card--integrated .feedback-widget__request,
.home-premium .hp-form-card--integrated .feedback-widget__direct,
body.cases-page .cases-feedback-section .feedback-widget__request,
body.cases-page .cases-feedback-section .feedback-widget__direct {
  padding: 42px 54px;
}

.home-premium .hp-form-card--integrated .feedback-widget__title,
body.cases-page .cases-feedback-section .feedback-widget__title {
  margin-bottom: 28px;
  font-size: clamp(38px, 3.1vw, 48px);
}

.home-premium .hp-form-card--integrated .feedback-form,
body.cases-page .cases-feedback-section .feedback-form {
  gap: 22px;
}

.home-premium .hp-form-card--integrated .feedback-form__phone input,
.home-premium .hp-form-card--integrated .feedback-form__submit,
body.cases-page .cases-feedback-section .feedback-form__phone input,
body.cases-page .cases-feedback-section .feedback-form__submit {
  min-height: 56px;
}

body.cases-page .cases-feedback-section {
  padding: 34px 0 88px;
  background: linear-gradient(180deg, #fffdf9 0%, #faf5ef 100%);
}

body.cases-page .cases-feedback-section .feedback-widget {
  max-width: 1440px;
  margin: 0 auto;
  border-radius: 24px;
}

body.cases-page .cases-feedback-section .feedback-form__method-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1050px) {
  .home-premium .hp-form-card--integrated > .feedback-widget,
  body.cases-page .cases-feedback-section .feedback-widget {
    grid-template-columns: 1fr;
  }

  body.cases-page .cases-feedback-section .feedback-widget__direct {
    border-top: 1px solid #e8e1da;
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .home-premium .hp-form-section > .container {
    width: min(100% - 28px, 1440px);
  }

  body.cases-page .cases-feedback-section {
    padding: 18px 0 62px;
  }

  .home-premium .hp-form-card--integrated .feedback-widget__request,
  .home-premium .hp-form-card--integrated .feedback-widget__direct,
  body.cases-page .cases-feedback-section .feedback-widget__request,
  body.cases-page .cases-feedback-section .feedback-widget__direct {
    padding: 28px 24px;
  }

  body.cases-page .cases-feedback-section .feedback-form__method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.materials-page .materials-feedback-section .feedback-widget__request,
body.materials-page .materials-feedback-section .feedback-widget__direct {
  padding: clamp(38px, 3.5vw, 52px);
}

body.materials-page .materials-feedback-section .feedback-widget__title {
  margin-bottom: 30px;
  font-size: clamp(36px, 3vw, 48px);
}

body.materials-page .materials-feedback-section .feedback-form__method-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1050px) {
  body.materials-page .materials-feedback-section .feedback-widget {
    grid-template-columns: 1fr;
  }

  body.materials-page .materials-feedback-section .feedback-widget__direct {
    border-top: 1px solid #e8e1da;
    border-left: 0;
  }
}

@media (max-width: 640px) {
  body.materials-page .materials-result-card.is-development {
    min-height: 290px;
  }

  body.materials-page .materials-feedback-section {
    padding: 18px 0 62px;
  }

  body.materials-page .materials-feedback-section .feedback-widget__request,
  body.materials-page .materials-feedback-section .feedback-widget__direct {
    padding: 28px 24px;
  }

body.materials-page .materials-feedback-section .feedback-form__method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Final service-card detailing, placed last to preserve the reference layout */
@media (min-width: 1181px) {
  body.services-page .services-list-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1320px;
    gap: 28px !important;
    margin: 0 auto;
  }

  body.services-page .service-card.service-card--detailed {
    position: relative;
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto minmax(30px, 1fr);
    column-gap: 18px;
    align-content: start;
    min-height: 570px !important;
    padding: 30px 30px 26px !important;
    border: 1px solid rgba(82, 62, 48, .13);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(50, 36, 27, .07);
  }

  body.services-page .service-card.service-card--detailed::before {
    position: static;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    width: auto;
    height: auto;
    right: auto;
    background: none;
    border-radius: 0;
    color: #AA2B26;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 30px;
    line-height: 1;
  }

  body.services-page .service-card:nth-child(1)::before { content: "01"; }
  body.services-page .service-card:nth-child(2)::before { content: "02"; }
  body.services-page .service-card:nth-child(3)::before { content: "03"; }
  body.services-page .service-card:nth-child(4)::before { content: "04"; }
  body.services-page .service-card:nth-child(5)::before { content: "05"; }
  body.services-page .service-card:nth-child(6)::before { content: "06"; }

  body.services-page .service-card.service-card--detailed > .card-ico {
    grid-column: 1;
    grid-row: 2;
    align-self: flex-start !important;
    justify-self: start;
    width: 68px;
    height: 68px;
    margin: 4px 0 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.services-page .service-card.service-card--detailed > .card-ico img {
    width: 58px;
    height: 58px;
    object-fit: contain;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    grid-column: 2;
    grid-row: 1;
    min-height: 62px !important;
    height: auto !important;
    justify-content: flex-start !important;
    margin: 0 0 10px !important;
    text-align: left !important;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.08 !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    grid-column: 2;
    grid-row: 2;
    min-height: 78px !important;
    height: auto !important;
    margin: 6px 0 20px !important;
    font-size: 15px;
    line-height: 1.52 !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-list {
    grid-column: 1 / -1;
    grid-row: 3;
    min-height: 166px !important;
    height: auto !important;
    margin: 18px 0 20px !important;
    padding-left: 0 !important;
    gap: 8px !important;
  }

  body.services-page .service-card.service-card--detailed .service-card-result {
    grid-column: 1 / -1;
    grid-row: 4;
    align-self: start;
    min-height: 72px !important;
    height: auto !important;
    margin: 0 0 18px !important;
    padding-top: 16px;
    border-top: 1px solid rgba(170, 43, 38, .16);
  }

  body.services-page .service-card.service-card--detailed .link-more {
    grid-column: 1 / -1;
    grid-row: 5;
    align-self: end !important;
    justify-self: start;
    margin: 0 !important;
  }
}

/* Keep the same aligned card anatomy on tablet widths */
@media (min-width: 761px) and (max-width: 1180px) {
  body.services-page .services-list-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
    max-width: 980px;
    margin-inline: auto;
  }

  body.services-page .service-card.service-card--detailed {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto minmax(30px, 1fr) !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    align-content: start !important;
    height: 100% !important;
    min-height: 580px !important;
    padding: 28px 24px 24px !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed::before {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    color: #AA2B26 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 28px !important;
    line-height: 1 !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > h3 {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    min-height: 62px !important;
    margin: 0 0 16px !important;
    text-align: left !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > .card-ico {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: start !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.services-page .service-card.service-card--detailed > .card-ico img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
  }

  body.services-page .service-card.service-card--detailed > p:not(.service-card-result) {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    min-height: 78px !important;
    margin: 0 0 22px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-list {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: grid !important;
    align-content: start !important;
    height: auto !important;
    min-height: 166px !important;
    margin: 18px 0 20px !important;
    padding: 0 !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-list li {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 18px !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > .service-card-result {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    align-self: start !important;
    height: auto !important;
    min-height: 72px !important;
    margin: 0 0 18px !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid rgba(170, 43, 38, .16) !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    overflow: visible !important;
  }

  body.services-page .service-card.service-card--detailed > .link-more {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
    align-self: end !important;
    justify-self: start !important;
    margin: 0 !important;
  }
}

/* Services v3: isolated card anatomy, immune to the legacy card rules above */
body.services-page .services-list-grid--v3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
  max-width: 1320px;
  margin-inline: auto;
}

body.services-page .service-catalog-card-v3 {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 570px !important;
  padding: 30px 28px 26px !important;
  gap: 0 !important;
  overflow: visible !important;
}

body.services-page .service-catalog-card-v3::before {
  content: none !important;
  display: none !important;
}

body.services-page .service-catalog-card__head {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  min-height: 174px;
  flex: 0 0 auto;
}

body.services-page .service-catalog-card__marker {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
}

body.services-page .service-catalog-card__marker > span {
  color: #AA2B26;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 29px;
  line-height: 1;
}

body.services-page .service-catalog-card__icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 58px;
  height: 58px;
}

body.services-page .service-catalog-card__icon img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
}

body.services-page .service-catalog-card__intro h3 {
  min-height: 62px;
  margin: 0 0 14px;
  color: var(--services-ink);
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

body.services-page .service-catalog-card__intro p {
  margin: 0;
  color: var(--services-muted);
  font-size: 15px;
  line-height: 1.5;
}

body.services-page .service-catalog-card-v3 > .service-card-list {
  position: static !important;
  display: grid !important;
  align-content: start !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 166px !important;
  margin: 18px 0 20px !important;
  padding: 0 !important;
  gap: 8px !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v3 > .service-card-list li {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding-left: 18px !important;
  font-size: 14px !important;
  line-height: 1.36 !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v3 > .service-card-result {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 72px !important;
  margin: 0 0 18px !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid rgba(170, 43, 38, .16) !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  overflow: visible !important;
  transform: none !important;
}

body.services-page .service-catalog-card-v3 > .link-more {
  position: static !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  width: max-content !important;
  margin: auto 0 0 !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  body.services-page .services-list-grid--v3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 980px;
  }
}

@media (max-width: 760px) {
  body.services-page .services-list-grid--v3 {
    grid-template-columns: 1fr !important;
  }

  body.services-page .service-catalog-card-v3 {
    min-height: 0 !important;
    padding: 24px 20px !important;
  }

  body.services-page .service-catalog-card__head {
    min-height: 0;
    margin-bottom: 22px;
  }

  body.services-page .service-catalog-card__intro h3,
  body.services-page .service-catalog-card-v3 > .service-card-list,
  body.services-page .service-catalog-card-v3 > .service-card-result {
    min-height: 0 !important;
  }
}

/* Cases: compact the featured case so it fits comfortably in the first screen */
body.cases-page .case-featured-section {
  padding-top: 8px !important;
  padding-bottom: 48px !important;
}

body.cases-page .case-main-featured .case-main-top {
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: 24px;
  padding: 24px 30px 22px;
}

body.cases-page .case-main-featured .case-main-content {
  gap: 10px;
}

body.cases-page .case-main-featured .section-title {
  font-size: clamp(32px, 2.7vw, 44px);
  line-height: .98;
}

body.cases-page .case-main-info {
  gap: 8px;
  margin-top: 0;
}

body.cases-page .case-main-info-item {
  padding: 10px 14px;
  border-radius: 14px;
}

body.cases-page .case-main-info-item span {
  margin-bottom: 3px;
  font-size: 11px;
}

body.cases-page .case-main-info-item p {
  font-size: 14px;
  line-height: 1.34;
}

body.cases-page .case-main-featured .btn-small {
  min-height: 48px;
  padding: 12px 20px;
  margin-top: 2px;
}

body.cases-page .case-main-featured .case-main-visual {
  min-height: 0;
  height: 100%;
}

body.cases-page .case-main-featured .case-main-visual img {
  min-height: 0;
  height: 100%;
  max-height: 610px;
}

body.cases-page .case-main-kpi .metric {
  min-height: 80px;
  padding: 14px 16px;
}

@media (max-width: 1024px) {
  body.cases-page .case-main-featured .case-main-top {
    grid-template-columns: 1fr;
  }

body.cases-page .case-main-featured .case-main-visual img {
    height: 300px;
  }
}

/* Final services catalogue placement — keeps the original composition */
#services-catalog {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

#services-catalog > .service-catalog-card-v4 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(250px, 1fr) 30px !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
  align-content: start !important;
  height: 100% !important;
  min-height: 570px !important;
  padding: 30px 30px 26px !important;
  overflow: hidden !important;
}

#services-catalog > .service-catalog-card-v4::before {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #AA2B26 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: none !important;
}

#services-catalog > .service-catalog-card-v4:nth-child(1)::before { content: "01" !important; }
#services-catalog > .service-catalog-card-v4:nth-child(2)::before { content: "02" !important; }
#services-catalog > .service-catalog-card-v4:nth-child(3)::before { content: "03" !important; }
#services-catalog > .service-catalog-card-v4:nth-child(4)::before { content: "04" !important; }
#services-catalog > .service-catalog-card-v4:nth-child(5)::before { content: "05" !important; }
#services-catalog > .service-catalog-card-v4:nth-child(6)::before { content: "06" !important; }

#services-catalog > .service-catalog-card-v4 > h3 {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  align-self: start !important;
  width: auto !important;
  height: auto !important;
  min-height: 62px !important;
  margin: 0 0 14px !important;
  text-align: left !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  overflow: visible !important;
  transform: none !important;
}

#services-catalog > .service-catalog-card-v4 > .card-ico {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start !important;
  justify-self: start !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

#services-catalog > .service-catalog-card-v4 > .card-ico img {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
}

#services-catalog > .service-catalog-card-v4 > p:not(.service-card-result) {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  width: auto !important;
  height: auto !important;
  min-height: 78px !important;
  margin: 0 0 20px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  overflow: visible !important;
  transform: none !important;
}

#services-catalog > .service-catalog-card-v4 > .service-card-details-v4 {
  position: static !important;
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  width: auto !important;
  height: auto !important;
  min-height: 250px !important;
  margin: 18px 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
}

#services-catalog .service-card-details-v4 > .service-card-list {
  position: static !important;
  display: grid !important;
  align-content: start !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 166px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  gap: 8px !important;
  overflow: visible !important;
  transform: none !important;
}

#services-catalog .service-card-details-v4 > .service-card-list li {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding-left: 18px !important;
  font-size: 14px !important;
  line-height: 1.36 !important;
  overflow: visible !important;
  transform: none !important;
}

#services-catalog .service-card-details-v4 > .service-card-result {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid rgba(170, 43, 38, .16) !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  overflow: visible !important;
  transform: none !important;
}

#services-catalog > .service-catalog-card-v4 > .link-more {
  position: static !important;
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  align-self: end !important;
  justify-self: start !important;
  width: max-content !important;
  margin: 0 !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  #services-catalog {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 980px !important;
  }
}

@media (max-width: 760px) {
  #services-catalog {
    grid-template-columns: 1fr !important;
  }

  #services-catalog > .service-catalog-card-v4 {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 24px 20px !important;
  }

  #services-catalog > .service-catalog-card-v4::before {
    display: none !important;
  }

  #services-catalog > .service-catalog-card-v4 > h3,
  #services-catalog > .service-catalog-card-v4 > .card-ico,
  #services-catalog > .service-catalog-card-v4 > p:not(.service-card-result),
  #services-catalog > .service-catalog-card-v4 > .service-card-details-v4,
  #services-catalog > .service-catalog-card-v4 > .link-more {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  #services-catalog > .service-catalog-card-v4 > .card-ico {
    margin-bottom: 18px !important;
  }

  #services-catalog > .service-catalog-card-v4 > .service-card-details-v4 {
    margin-top: 0 !important;
  }
}

/* Services v4 compact vertical rhythm */
#services-catalog > .service-catalog-card-v4 {
  grid-template-columns: 64px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  grid-template-rows: auto auto minmax(0, 1fr) 28px !important;
  min-height: 0 !important;
  padding: 24px 26px 22px !important;
}

#services-catalog > .service-catalog-card-v4 > h3 {
  min-height: 56px !important;
  margin-bottom: 22px !important;
}

#services-catalog > .service-catalog-card-v4 > p:not(.service-card-result) {
  min-height: 68px !important;
  margin-bottom: 10px !important;
}

#services-catalog > .service-catalog-card-v4 > .service-card-details-v4 {
  min-height: 0 !important;
  margin: 8px 0 14px !important;
}

#services-catalog .service-card-details-v4 > .service-card-list {
  min-height: 0 !important;
  margin-bottom: 12px !important;
  gap: 7px !important;
}

#services-catalog .service-card-details-v4 > .service-card-result {
  min-height: 0 !important;
  margin-top: auto !important;
  padding-top: 12px !important;
}

#services-catalog > .service-catalog-card-v4 > .link-more {
  margin-top: 2px !important;
}

@media (max-width: 760px) {
  #services-catalog > .service-catalog-card-v4 {
    padding: 22px 20px !important;
  }

  #services-catalog > .service-catalog-card-v4 > h3,
  #services-catalog > .service-catalog-card-v4 > p:not(.service-card-result) {
    min-height: 0 !important;
  }
}

/* Services catalogue groups */
#services-catalog > .services-group-title {
  grid-column: 1 / -1;
  margin: 4px 0 8px;
  font-family: var(--serif);
  font-size: clamp(30px, 2.4vw, 42px);
  font-weight: 600;
  line-height: 1.08;
  color: var(--services-ink);
}

#services-catalog > .services-group-title--additional {
  margin-top: 30px;
}

body.services-page #services-catalog > article.service-catalog-card-v4.service-card-number-01::before { content: "01" !important; }
body.services-page #services-catalog > article.service-catalog-card-v4.service-card-number-02::before { content: "02" !important; }
body.services-page #services-catalog > article.service-catalog-card-v4.service-card-number-03::before { content: "03" !important; }
body.services-page #services-catalog > article.service-catalog-card-v4.service-card-number-04::before { content: "04" !important; }
body.services-page #services-catalog > article.service-catalog-card-v4.service-card-number-05::before { content: "05" !important; }
body.services-page #services-catalog > article.service-catalog-card-v4.service-card-number-06::before { content: "06" !important; }

@media (max-width: 760px) {
  #services-catalog > .services-group-title {
    margin-bottom: 2px;
    font-size: 29px;
  }

  #services-catalog > .services-group-title--additional {
    margin-top: 20px;
  }
}

/* Cases catalogue: keep only the selected upcoming cases and mark them clearly */
body.cases-page .cases-modern-card.is-development {
  position: relative;
  cursor: default;
  isolation: isolate;
}

body.cases-page .cases-modern-card.is-development:hover {
  transform: none;
  border-color: rgba(232, 225, 218, .95);
  box-shadow: 0 22px 58px rgba(64, 44, 34, .075);
}

body.cases-page .cases-modern-card.is-development .cases-modern-media,
body.cases-page .cases-modern-card.is-development .cases-modern-tasks {
  opacity: .48;
  filter: blur(5px);
  user-select: none;
}

body.cases-page .cases-modern-card.is-development .cases-modern-category,
body.cases-page .cases-modern-card.is-development h3 {
  position: relative;
  z-index: 4;
}

body.cases-page .cases-modern-card.is-development::before {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: 58%;
  background: linear-gradient(180deg, rgba(255, 253, 249, .48), rgba(248, 241, 233, .96));
  pointer-events: none;
}

body.cases-page .cases-modern-card.is-development::after {
  content: "◷\A КЕЙС В РАЗРАБОТКЕ\A Скоро будет доступен";
  position: absolute;
  z-index: 5;
  right: 28px;
  bottom: 26px;
  left: 28px;
  padding: 18px 14px 16px;
  border: 1px solid rgba(170, 43, 38, .25);
  border-radius: 18px;
  background: rgba(255, 253, 249, .97);
  box-shadow: 0 14px 32px rgba(55, 38, 31, .10);
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .12em;
  text-align: center;
  white-space: pre-line;
  pointer-events: none;
}

@media (max-width: 640px) {
  body.cases-page .cases-modern-card.is-development::after {
    right: 22px;
    bottom: 22px;
    left: 22px;
  }
}

/* Contacts hero portrait: the top of the head follows the top edge of the square. */
body.contacts-page .page-hero--contacts .contact-portrait-thinking {
  position: absolute !important;
  z-index: 2 !important;
  left: 50% !important;
  bottom: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: 594px !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 1024px) {
  body.contacts-page .page-hero--contacts .contact-portrait-thinking {
    height: 552px !important;
    max-height: none !important;
  }
}

@media (max-width: 640px) {
  body.contacts-page .page-hero--contacts .contact-portrait-thinking {
    height: 423px !important;
    max-height: none !important;
  }
}

@media (max-width: 340px) {
  body.contacts-page .page-hero--contacts .contact-portrait-thinking {
    height: 390px !important;
  }
}

/* Services hero: dedicated full-body portrait with a transparent background. */
body.services-page .page-hero--services .inner-page-hero-image {
  width: 100%;
  max-width: 560px;
  height: 520px;
  margin-left: auto;
  border: 1px solid rgba(170, 43, 38, .10);
  border-radius: 48px;
  background: linear-gradient(145deg, #f0e7dc 0%, #e8d8c8 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .42);
  overflow: hidden;
  transform: none;
}

body.services-page .page-hero--services .hero-circle {
  display: none;
}

body.services-page .page-hero--services .services-hero-photo-seated {
  position: absolute !important;
  z-index: 2;
  top: -135px !important;
  left: 50%;
  bottom: auto;
  width: auto !important;
  height: 840px !important;
  max-height: none !important;
  opacity: 1 !important;
  object-fit: contain;
  object-position: center bottom;
  filter:
    contrast(1.08)
    saturate(1.06)
    drop-shadow(0 20px 30px rgba(48, 30, 24, .14));
  transform: translateX(-50%);
}

@media (max-width: 1024px) {
  body.services-page .page-hero--services .inner-page-hero-image {
    width: min(100%, 560px);
    height: 470px;
    margin-inline: auto;
    border-radius: 42px;
    transform: none;
  }

  body.services-page .page-hero--services .services-hero-photo-seated {
    top: -110px !important;
    height: 720px !important;
  }
}

@media (max-width: 640px) {
  body.services-page .page-hero--services .inner-page-hero-image {
    height: 390px;
    border-radius: 34px;
  }

  body.services-page .page-hero--services .services-hero-photo-seated {
    top: -88px !important;
    height: 600px !important;
  }
}

/* Cases and materials heroes: match the portrait scale used on other main pages. */
body.cases-page .page-hero--cases .inner-page-hero-image,
body.materials-page .page-hero--materials .inner-page-hero-image {
  height: 520px;
}

body.cases-page .page-hero--cases .hero-photo,
body.materials-page .page-hero--materials .hero-photo {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  width: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: contain;
  object-position: center bottom;
  transform: translateX(-50%);
}

body.cases-page .page-hero--cases .hero-photo {
  height: 540px;
}

body.materials-page .page-hero--materials .hero-photo {
  height: 830px;
}

@media (max-width: 1024px) {
  body.cases-page .page-hero--cases .inner-page-hero-image,
  body.materials-page .page-hero--materials .inner-page-hero-image {
    height: 470px;
  }

  body.cases-page .page-hero--cases .hero-photo {
    height: 500px;
    max-height: none;
  }

  body.materials-page .page-hero--materials .hero-photo {
    height: 750px;
    max-height: none;
  }
}

@media (max-width: 640px) {
  body.cases-page .page-hero--cases .inner-page-hero-image,
  body.materials-page .page-hero--materials .inner-page-hero-image {
    height: 390px;
  }

  body.cases-page .page-hero--cases .hero-photo {
    height: 390px;
    max-height: none;
  }

  body.materials-page .page-hero--materials .hero-photo {
    height: 580px;
    max-height: none;
  }
}

/* Homepage: development case uses the same blurred treatment as the Cases page. */
.home-premium .home-case-development-card {
  position: relative !important;
  isolation: isolate;
  cursor: default;
  overflow: hidden !important;
}

.home-premium .home-case-development-card:hover {
  transform: none !important;
  border-color: rgba(232, 225, 218, .95) !important;
  box-shadow: 0 22px 60px rgba(64, 44, 34, .075) !important;
}

.home-premium .home-case-development-card .home-case-media {
  position: relative;
  z-index: 1;
  opacity: .48;
  filter: blur(6px);
  transform: scale(1.035);
  transform-origin: center;
  user-select: none;
}

.home-premium .home-case-development-card .home-case-category,
.home-premium .home-case-development-card h3 {
  position: relative;
  z-index: 4;
}

.home-premium .home-case-development-card .home-case-tasks {
  position: relative;
  z-index: 1;
  opacity: .24;
  filter: blur(6px);
  user-select: none;
}

.home-premium .home-case-development-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: 58%;
  background: linear-gradient(180deg, rgba(255, 253, 249, .45), rgba(248, 241, 233, .97));
  pointer-events: none;
}

.home-premium .home-case-development-card::after {
  content: "◷\A КЕЙС В РАЗРАБОТКЕ\A Скоро будет доступен";
  position: absolute;
  z-index: 5;
  right: 22px;
  bottom: 22px;
  left: 22px;
  padding: 22px 14px 20px;
  border: 1px solid rgba(170, 43, 38, .25);
  border-radius: 18px;
  background: rgba(255, 253, 249, .97);
  box-shadow: 0 14px 32px rgba(55, 38, 31, .10);
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .12em;
  text-align: center;
  white-space: pre-line;
  pointer-events: none;
}

@media (max-width: 640px) {
  .home-premium .home-case-development-card::after {
    right: 18px;
    bottom: 18px;
    left: 18px;
  }
}

/* Distribution case: reference hero and shared case data */
.distribution-case-page .case-story-hero {
  padding:38px 0 0;
}

.distribution-case-page .case-story-hero__grid {
  grid-template-columns:minmax(0, .98fr) minmax(0, 1.02fr);
  gap:46px;
  align-items:stretch;
}

.distribution-case-page .case-story-hero__content {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:10px 0 44px;
}

.distribution-system-panel {
  display:flex;
  flex-direction:column;
  min-width:0;
  margin-bottom:38px;
  padding:30px;
  border:1px solid rgba(170,43,38,.14);
  border-radius:26px;
  background:linear-gradient(145deg, rgba(255,250,247,.98), rgba(255,255,255,.94));
  box-shadow:0 22px 65px rgba(74,38,28,.08);
}

.distribution-system-panel__head {
  margin:0 0 24px;
}

.distribution-system-panel__head h2 {
  margin:0 0 6px;
  font-family:var(--sans);
  font-size:clamp(25px, 2.2vw, 33px);
  line-height:1.08;
  font-weight:850;
  letter-spacing:-.025em;
  color:#171820;
}

.distribution-system-panel__head p {
  max-width:520px;
  margin:0;
  color:#5d5e66;
  font-size:16px;
  line-height:1.45;
}

.distribution-system-grid {
  flex:1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  grid-auto-rows:1fr;
  gap:14px;
}

.distribution-system-grid article {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:112px;
  padding:16px 10px;
  text-align:center;
  border:1px solid rgba(170,43,38,.14);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 26px rgba(74,38,28,.07);
}

.distribution-system-grid img {
  width:38px;
  height:38px;
  margin-bottom:11px;
  object-fit:contain;
}

.distribution-system-grid strong {
  color:#b3231d;
  font-size:16px;
  line-height:1.12;
  font-weight:800;
  overflow-wrap:anywhere;
}

.distribution-case-stats {
  padding:18px 0 22px;
  border-bottom:1px solid rgba(170,43,38,.10);
  background:#fff;
}

.distribution-case-page .distribution-case-stats .case-story-params {
  gap:0;
}

.distribution-case-page .distribution-case-stats .case-story-params article {
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  padding:6px 24px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.distribution-case-page .distribution-case-stats .case-story-params article + article {
  border-left:1px solid rgba(170,43,38,.14);
}

.distribution-case-stats article > img {
  flex:0 0 auto;
  width:58px;
  height:58px;
  padding:12px;
  object-fit:contain;
  border:1px solid rgba(170,43,38,.14);
  border-radius:16px;
  background:#fffaf7;
}

.distribution-case-stats article > div {
  min-width:0;
}

.distribution-case-page .distribution-case-stats .case-story-params strong {
  margin:0 0 3px;
  color:#b3231d;
  font-family:var(--sans);
  font-size:clamp(17px, 1.35vw, 22px);
  line-height:1.12;
  font-weight:650;
  letter-spacing:-.01em;
  overflow-wrap:normal;
  word-break:normal;
}

.distribution-case-page .distribution-case-stats .case-story-params span {
  margin:0;
  color:#54565f;
  font-size:14px;
  line-height:1.25;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
  overflow-wrap:anywhere;
}

.distribution-case-page .distribution-case-stats .case-story-params article:last-child strong {
  font-size:clamp(15px, 1vw, 17px);
  line-height:1.18;
  font-weight:650;
}

@media (max-width: 1100px) {
  .distribution-case-page .case-story-hero__grid {
    grid-template-columns:1fr;
    gap:0;
  }

  .distribution-case-page .case-story-hero__content {
    padding-bottom:32px;
  }

  .distribution-system-panel {
    margin-bottom:32px;
  }

  .distribution-case-page .distribution-case-stats .case-story-params {
    grid-template-columns:repeat(2, 1fr);
    row-gap:18px;
  }

  .distribution-case-page .distribution-case-stats .case-story-params article:nth-child(3) {
    border-left:0;
  }
}

@media (max-width: 680px) {
  .distribution-case-page .case-story-hero {
    padding-top:28px;
  }

  .distribution-case-page .case-story-hero h1 {
    font-size:clamp(34px, 10vw, 42px);
    line-height:1;
    overflow-wrap:normal;
    hyphens:none;
  }

  .distribution-system-panel {
    margin-bottom:24px;
    padding:20px;
    border-radius:20px;
  }

  .distribution-system-panel__head {
    margin-bottom:18px;
  }

  .distribution-system-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .distribution-system-grid article {
    min-height:100px;
    padding:13px 8px;
  }

  .distribution-system-grid article:last-child {
    grid-column:1 / -1;
  }

  .distribution-system-grid img {
    width:32px;
    height:32px;
    margin-bottom:8px;
  }

  .distribution-system-grid strong {
    font-size:14px;
  }

  .distribution-case-page .distribution-case-stats .case-story-params {
    grid-template-columns:1fr;
    row-gap:0;
  }

  .distribution-case-page .distribution-case-stats .case-story-params article {
    padding:16px 0;
    border-left:0;
  }

  .distribution-case-page .distribution-case-stats .case-story-params article + article {
    border-top:1px solid rgba(170,43,38,.12);
    border-left:0;
  }

  .distribution-case-stats article > img {
    width:52px;
    height:52px;
  }
}

/* Distribution case: compact first screen without changing its structure. */
@media (min-width: 1101px) {
  .distribution-case-page .case-story-hero {
    padding-top: 38px;
  }

  .distribution-case-page .case-story-hero__grid {
    grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
    gap: 46px;
  }

  .distribution-case-page .case-story-hero__content {
    padding: 6px 0 38px;
  }

  .distribution-case-page .case-story-hero h1 {
    max-width: 680px;
    margin: 6px 0 12px;
    font-size: clamp(44px, 4.25vw, 63px);
    line-height: 1;
  }

  .distribution-case-page .case-story-hero__content > p:not(.eyebrow) {
    max-width: 620px;
    font-size: 18px;
    line-height: 1.35;
  }

  .distribution-case-page .case-story-actions {
    gap: 20px;
    margin-top: 8px;
  }

  .distribution-case-page .distribution-system-panel {
    margin-bottom: 34px;
    padding: 24px;
    border-radius: 24px;
  }

  .distribution-case-page .distribution-system-panel__head {
    margin-bottom: 18px;
  }

  .distribution-case-page .distribution-system-panel__head h2 {
    margin-bottom: 5px;
    font-size: clamp(24px, 2vw, 30px);
  }

  .distribution-case-page .distribution-system-panel__head p {
    font-size: 15px;
    line-height: 1.4;
  }

  .distribution-case-page .distribution-system-grid {
    gap: 12px;
  }

  .distribution-case-page .distribution-system-grid article {
    min-height: 94px;
    padding: 12px 8px;
    border-radius: 15px;
  }

  .distribution-case-page .distribution-system-grid img {
    width: 34px;
    height: 34px;
    margin-bottom: 8px;
  }

  .distribution-case-page .distribution-system-grid strong {
    font-size: 15px;
  }
}


/* Shared marketing agency sales diagram */
.case-main-visual--diagram {
  min-height: 100%;
  height: 100%;
}

.sales-diagram {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 100%;
  height: 100%;
  padding: 38px 40px 34px;
  border-radius: 24px;
  border: 1px solid rgba(170, 43, 38, 0.08);
  overflow: hidden;
  background:
    linear-gradient(rgba(226, 220, 212, 0.85) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(90deg, rgba(226, 220, 212, 0.85) 1px, transparent 1px) 0 0 / 96px 96px,
    #f7f4ee;
}

.sales-diagram__heading {
  position: relative;
  z-index: 2;
  max-width: 530px;
}

.sales-diagram__heading h3 {
  margin: 0 0 10px;
  color: #16171e;
  font-family: var(--sans);
  font-size: clamp(32px, 2.8vw, 42px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -0.03em;
}

.sales-diagram__heading p {
  margin: 0;
  color: #555861;
  font-size: 16px;
  line-height: 1.45;
}

.sales-diagram__canvas {
  position: relative;
  flex: 1;
  min-height: 340px;
}

.sales-diagram__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.sales-diagram__lines line {
  stroke: rgba(194, 152, 140, 0.78);
  stroke-width: 0.5;
  vector-effect: non-scaling-stroke;
}

.sales-diagram__center {
  position: absolute;
  left: 50%;
  top: 57%;
  z-index: 3;
  width: 176px;
  min-height: 142px;
  padding: 22px 18px;
  border-radius: 28px;
  background: linear-gradient(180deg, #b2352d 0%, #a02d27 100%);
  box-shadow: 0 22px 44px rgba(170, 43, 38, 0.18);
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
}

.sales-diagram__center span {
  display: block;
  color: #fff;
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 800;
  line-height: .98;
  letter-spacing: -0.02em;
  text-align: center;
}

.sales-diagram__node {
  position: absolute;
  z-index: 2;
  min-width: 130px;
  padding: 18px 18px;
  border: 1px solid rgba(220, 208, 197, 0.95);
  border-radius: 20px;
  background: rgba(255, 253, 249, 0.98);
  box-shadow: 0 14px 34px rgba(54, 37, 28, 0.04);
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}

.sales-diagram__node--lt {
  left: 10%;
  top: 23%;
}

.sales-diagram__node--top {
  left: 50%;
  top: 2%;
  transform: translateX(-50%);
}

.sales-diagram__node--rt {
  right: 8%;
  top: 23%;
}

.sales-diagram__node--lb {
  left: 10%;
  bottom: 8%;
}

.sales-diagram__node--rb {
  right: 8%;
  bottom: 8%;
}

.case-story-page.marketing-case-page .case-featured-section--story {
  padding: 56px 0 40px;
  border-bottom: 1px solid rgba(170, 43, 38, 0.10);
  background: radial-gradient(circle at 78% 22%, rgba(170, 43, 38, 0.07), transparent 34%), #fff;
}

.case-story-page.marketing-case-page .case-main-featured--story {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(232, 225, 218, 0.95);
  border-radius: 30px;
  background: rgba(255, 253, 249, 0.94);
  box-shadow: 0 30px 80px rgba(64, 44, 34, 0.09);
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-top {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  gap: 30px;
  align-items: stretch;
  padding: 30px;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 18px;
  min-width: 0;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-content > small {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-content > small::after {
  content: "";
  width: 44px;
  height: 1px;
  background: rgba(170, 43, 38, 0.28);
}

.case-story-page.marketing-case-page .case-main-featured--story .section-title {
  margin: 0;
  max-width: 720px;
  font-size: clamp(34px, 3.2vw, 50px);
  line-height: .98;
  letter-spacing: -.045em;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 2px;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-info-item {
  padding: 14px 16px;
  border: 1px solid rgba(232, 225, 218, .9);
  border-radius: 16px;
  background: rgba(250, 248, 245, .72);
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-info-item span {
  display: block;
  margin: 0 0 6px;
  color: #AA2B26;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-info-item p {
  margin: 0;
  max-width: none;
  color: #454952;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.48;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-story-actions--inline {
  margin-top: 2px;
}

.case-story-page.marketing-case-page .case-main-featured--story .btn-small {
  align-self: flex-start;
  min-height: 52px;
  padding: 14px 24px;
  box-shadow: 0 14px 28px rgba(143, 33, 30, .14);
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(232, 225, 218, .95);
  background: rgba(250, 248, 245, .78);
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric {
  min-height: 104px;
  padding: 20px 18px;
  border-right: 1px solid rgba(232, 225, 218, .95);
  color: #5F6268;
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric:last-child {
  border-right: 0;
}

.case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric strong {
  display: block;
  margin: 0 0 6px;
  color: #AA2B26;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.035em;
}

@media (max-width: 1200px) {
  .sales-diagram {
    padding: 32px 28px 28px;
  }

  .sales-diagram__canvas {
    min-height: 300px;
  }

  .sales-diagram__node {
    min-width: 118px;
    padding: 16px 14px;
    font-size: 16px;
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-top,
  body.cases-page .case-main-featured .case-main-top {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .95fr);
  }
}

@media (max-width: 1024px) {
  .case-story-page.marketing-case-page .case-main-featured--story .case-main-top,
  body.cases-page .case-main-featured .case-main-top {
    grid-template-columns: 1fr;
  }

  .sales-diagram {
    min-height: 520px;
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric:nth-child(2n) {
    border-right: 0;
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric:nth-child(-n+2) {
    border-bottom: 1px solid rgba(232, 225, 218, .95);
  }
}

@media (max-width: 640px) {
  .sales-diagram {
    padding: 22px 18px 20px;
    gap: 14px;
  }

  .sales-diagram__heading h3 {
    font-size: 26px;
  }

  .sales-diagram__heading p {
    font-size: 14px;
  }

  .sales-diagram__canvas {
    min-height: 380px;
  }

  .sales-diagram__center {
    width: 138px;
    min-height: 112px;
    padding: 16px 12px;
  }

  .sales-diagram__center span {
    font-size: 18px;
  }

  .sales-diagram__node {
    min-width: 92px;
    max-width: 120px;
    padding: 12px 10px;
    border-radius: 16px;
    font-size: 14px;
  }

  .sales-diagram__node--lt,
  .sales-diagram__node--lb {
    left: 2%;
  }

  .sales-diagram__node--rt,
  .sales-diagram__node--rb {
    right: 2%;
  }

  .sales-diagram__node--top {
    top: 5%;
  }

  .case-story-page.marketing-case-page .case-main-featured--story {
    border-radius: 24px;
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-top {
    padding: 20px;
    gap: 22px;
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-info-item {
    padding: 13px 14px;
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi {
    grid-template-columns: 1fr;
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric,
  .case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric:nth-child(2n) {
    min-height: 90px;
    border-right: 0;
    border-bottom: 1px solid rgba(232, 225, 218, .95);
  }

  .case-story-page.marketing-case-page .case-main-featured--story .case-main-kpi .metric:last-child {
    border-bottom: 0;
  }
}


/* Compact featured case on cases page */
body.cases-page .case-main-featured .case-main-top {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, .98fr);
  gap: 20px;
  padding: 22px 24px 18px;
}

body.cases-page .case-main-featured .case-main-content {
  gap: 10px;
}

body.cases-page .case-main-featured .section-title {
  font-size: clamp(30px, 2.55vw, 42px);
}

body.cases-page .case-main-info {
  gap: 8px;
}

body.cases-page .case-main-info-item {
  padding: 10px 14px;
}

body.cases-page .case-main-info-item p {
  font-size: 14px;
  line-height: 1.34;
}

body.cases-page .case-main-featured .btn-small {
  min-height: 46px;
  padding: 12px 18px;
}

body.cases-page .case-main-kpi .metric {
  min-height: 74px;
  padding: 12px 14px;
}

body.cases-page .case-main-kpi .metric strong {
  font-size: 27px;
}

body.cases-page .sales-diagram {
  gap: 14px;
  padding: 26px 24px 22px;
}

body.cases-page .sales-diagram__heading {
  max-width: 420px;
}

body.cases-page .sales-diagram__heading h3 {
  margin-bottom: 8px;
  font-size: clamp(26px, 2.3vw, 34px);
  line-height: 0.96;
}

body.cases-page .sales-diagram__heading p {
  max-width: 420px;
  font-size: 14px;
  line-height: 1.4;
}

body.cases-page .sales-diagram__canvas {
  min-height: 272px;
}

body.cases-page .sales-diagram__center {
  top: 61%;
  width: 146px;
  min-height: 118px;
  padding: 16px 14px;
  border-radius: 24px;
}

body.cases-page .sales-diagram__center span {
  font-size: 17px;
}

body.cases-page .sales-diagram__node {
  min-width: 108px;
  padding: 12px 12px;
  border-radius: 16px;
  font-size: 14px;
}

body.cases-page .sales-diagram__node--top {
  top: 8%;
}

body.cases-page .sales-diagram__node--lt {
  left: 10%;
  top: 33%;
}

body.cases-page .sales-diagram__node--rt {
  right: 10%;
  top: 33%;
}

body.cases-page .sales-diagram__node--lb {
  left: 10%;
  bottom: 3%;
}

body.cases-page .sales-diagram__node--rb {
  right: 10%;
  bottom: 3%;
}

body.cases-page .sales-diagram__lines line {
  stroke: rgba(194, 152, 140, 0.62);
}

/* Marketing case: restore initial hero and redesign stats strip */
.marketing-case-stats {
  padding: 18px 0 22px;
  border-bottom: 1px solid rgba(170,43,38,.10);
  background: #fff;
}

.marketing-case-stats .case-story-params {
  gap: 0;
}

.marketing-case-stats .case-story-params article {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 6px 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.marketing-case-stats .case-story-params article + article {
  border-left: 1px solid rgba(170,43,38,.14);
}

.marketing-case-stats article > img {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  padding: 12px;
  object-fit: contain;
  border: 1px solid rgba(170,43,38,.14);
  border-radius: 16px;
  background: #fffaf7;
}

.marketing-case-stats article > div {
  min-width: 0;
}

.marketing-case-stats .case-story-params strong {
  margin: 0 0 3px;
  color: #b3231d;
  font-family: var(--sans);
  font-size: clamp(16px, 1.25vw, 22px);
  line-height: 1.12;
  font-weight: 650;
  letter-spacing: -.01em;
  overflow-wrap: normal;
  word-break: normal;
}

.marketing-case-stats .case-story-params span {
  margin: 0;
  color: #54565f;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.marketing-case-stats .case-story-params article:first-child strong,
.marketing-case-stats .case-story-params article:nth-child(2) strong {
  font-size: clamp(15px, 1vw, 18px);
}

@media (max-width: 1100px) {
  .marketing-case-stats .case-story-params {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 18px;
  }

  .marketing-case-stats .case-story-params article:nth-child(3) {
    border-left: 0;
  }
}

@media (max-width: 680px) {
  .marketing-case-stats .case-story-params {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .marketing-case-stats .case-story-params article {
    padding: 16px 0;
    border-left: 0;
  }

  .marketing-case-stats .case-story-params article + article {
    border-top: 1px solid rgba(170,43,38,.12);
    border-left: 0;
  }

  .marketing-case-stats article > img {
    width: 52px;
    height: 52px;
  }
}


/* Marketing agency case: diagram inside the first hero block */
.case-story-page .case-story-hero__visual--diagram {
  display: flex;
  align-self: stretch;
}

.case-story-page .case-story-hero__visual--diagram .sales-diagram--hero {
  width: 100%;
  min-height: 440px;
  padding: 24px 26px;
}

.case-story-page .case-story-hero__visual--diagram .sales-diagram__canvas {
  min-height: 390px;
}

.case-story-page .case-story-hero__visual--diagram .sales-diagram__heading {
  display: none;
}

.case-story-page .case-story-hero__visual--diagram .sales-diagram__center {
  top: 60%;
}

@media (max-width: 1024px) {
  .case-story-page .case-story-hero__visual--diagram .sales-diagram--hero {
    min-height: 420px;
    padding: 22px 20px;
  }

  .case-story-page .case-story-hero__visual--diagram .sales-diagram__canvas {
    min-height: 370px;
  }
}

@media (max-width: 640px) {
  .case-story-page .case-story-hero__visual--diagram .sales-diagram--hero {
    min-height: 360px;
    padding: 16px 12px;
  }

  .case-story-page .case-story-hero__visual--diagram .sales-diagram__canvas {
    min-height: 320px;
  }
}


/* Visible breadcrumbs on every case page */
.case-breadcrumbs-wrap {
  position: relative;
  z-index: 3;
}

.case-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
  color: #8a7d76;
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.35;
}

.case-breadcrumbs a {
  color: #AA2B26;
  font-weight: 650;
  text-decoration: none;
  transition: opacity .2s ease;
}

.case-breadcrumbs a:hover {
  opacity: .72;
}

.case-breadcrumbs__sep {
  color: rgba(138, 125, 118, .62);
  user-select: none;
}

.case-breadcrumbs [aria-current="page"] {
  color: #5d5551;
  font-weight: 550;
}

.case-story-hero > .case-breadcrumbs-wrap + .case-story-hero__grid {
  margin-top: 0;
}

.page-hero .case-breadcrumbs {
  margin-bottom: 22px;
}

@media (max-width: 680px) {
  .case-breadcrumbs {
    gap: 6px;
    margin-bottom: 16px;
    font-size: 12px;
  }

  .case-breadcrumbs [aria-current="page"] {
    max-width: 100%;
  }
}

/* Mobile fix: featured case must stack instead of keeping the desktop columns */
@media (max-width: 1024px) {
  body.cases-page .case-main-featured .case-main-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  body.cases-page .case-main-featured .case-main-content,
  body.cases-page .case-main-featured .case-main-visual,
  body.cases-page .case-main-featured .case-main-visual--diagram {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: auto;
  }

  body.cases-page .sales-diagram {
    width: 100%;
    max-width: 100%;
    min-height: 460px;
    height: auto;
    box-sizing: border-box;
  }
}

@media (max-width: 640px) {
  body.cases-page .case-main-featured .case-main-top {
    padding: 18px 14px 16px !important;
    gap: 18px !important;
  }

  body.cases-page .case-main-featured .case-main-content {
    gap: 9px;
  }

  body.cases-page .case-main-featured .section-title {
    font-size: clamp(29px, 10vw, 38px);
    line-height: 1;
  }

  body.cases-page .case-main-info-item {
    padding: 11px 12px;
  }

  body.cases-page .sales-diagram {
    min-height: 420px;
    padding: 20px 14px 16px;
    gap: 12px;
    border-radius: 20px;
  }

  body.cases-page .sales-diagram__heading {
    max-width: 100%;
  }

  body.cases-page .sales-diagram__heading h3 {
    margin-bottom: 7px;
    font-size: 27px;
    line-height: .98;
  }

  body.cases-page .sales-diagram__heading p {
    max-width: 100%;
    font-size: 13px;
    line-height: 1.4;
  }

  body.cases-page .sales-diagram__canvas {
    min-height: 286px;
  }

  body.cases-page .sales-diagram__center {
    top: 61%;
    width: 126px;
    min-height: 102px;
    padding: 14px 10px;
    border-radius: 22px;
  }

  body.cases-page .sales-diagram__center span {
    font-size: 16px;
  }

  body.cases-page .sales-diagram__node {
    min-width: 86px;
    max-width: 104px;
    padding: 10px 8px;
    border-radius: 15px;
    font-size: 12px;
  }

  body.cases-page .sales-diagram__node--top {
    top: 2%;
  }

  body.cases-page .sales-diagram__node--lt {
    left: 0;
    top: 29%;
  }

  body.cases-page .sales-diagram__node--rt {
    right: 0;
    top: 29%;
  }

  body.cases-page .sales-diagram__node--lb {
    left: 0;
    bottom: 1%;
  }

  body.cases-page .sales-diagram__node--rb {
    right: 0;
    bottom: 1%;
  }
}


/* Interactive systems block — marketing agency case */
.systems-work-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(170,43,38,.045), transparent 28%),
    linear-gradient(180deg, #fff 0%, #fcfaf7 100%);
}

.systems-work-head {
  max-width: 920px;
  margin: 0 auto 34px;
  text-align: center;
}

.systems-work-head .section-title {
  margin-bottom: 12px;
}

.systems-work-head .section-lead {
  max-width: 760px;
  margin: 0 auto;
}

.systems-work {
  --systems-red: #AA2B26;
  --systems-ink: #171820;
  --systems-muted: #686a72;
  --systems-line: rgba(170,43,38,.14);
}

.systems-work__tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.systems-work__tab {
  position: relative;
  min-width: 0;
  min-height: 150px;
  padding: 20px 18px 18px;
  border: 1px solid rgba(170,43,38,.13);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 38px rgba(70,45,34,.05);
  color: var(--systems-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.systems-work__tab:hover {
  transform: translateY(-3px);
  border-color: rgba(170,43,38,.28);
  box-shadow: 0 20px 46px rgba(70,45,34,.08);
}

.systems-work__tab:focus-visible {
  outline: 3px solid rgba(170,43,38,.19);
  outline-offset: 3px;
}

.systems-work__tab.is-active {
  border-color: rgba(170,43,38,.75);
  background: linear-gradient(150deg, rgba(255,252,249,.98), rgba(255,248,245,.94));
  box-shadow: 0 20px 50px rgba(170,43,38,.10);
}

.systems-work__tab.is-active::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: -1px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: var(--systems-red);
}

.systems-work__tab-num {
  display: block;
  margin-bottom: 18px;
  color: #24252b;
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
}

.systems-work__tab.is-active .systems-work__tab-num {
  color: var(--systems-red);
}

.systems-work__tab strong {
  display: block;
  min-height: 48px;
  margin-bottom: 8px;
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.systems-work__tab small {
  display: block;
  color: var(--systems-muted);
  font-size: 13px;
  line-height: 1.35;
}

.systems-work__panel {
  display: grid;
  grid-template-columns: 285px minmax(0, 1fr);
  gap: 28px;
  padding: 30px;
  border: 1px solid rgba(170,43,38,.22);
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 26px 68px rgba(70,45,34,.075);
  transition: opacity .16s ease, transform .16s ease;
}

.systems-work__panel.is-changing {
  opacity: .35;
  transform: translateY(5px);
}

.systems-work__intro {
  position: relative;
  padding: 4px 28px 6px 4px;
  border-right: 1px solid var(--systems-line);
}

.systems-work__panel-num {
  display: inline-grid;
  place-items: center;
  min-width: 50px;
  height: 44px;
  margin-bottom: 20px;
  padding: 0 12px;
  border-radius: 12px;
  background: rgba(170,43,38,.075);
  color: var(--systems-red);
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 650;
}

.systems-work__intro h3 {
  margin: 0 0 16px;
  color: var(--systems-ink);
  font-size: clamp(34px, 3vw, 46px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.04em;
}

.systems-work__intro > p {
  margin: 0;
  color: var(--systems-muted);
  font-size: 15px;
  line-height: 1.6;
}

.systems-work__count {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px dashed rgba(170,43,38,.18);
}

.systems-work__count strong {
  color: var(--systems-red);
  font-family: var(--serif);
  font-size: 34px;
  font-weight: 600;
  line-height: 1;
}

.systems-work__count span {
  color: var(--systems-muted);
  font-size: 13px;
}

.systems-work__content {
  min-width: 0;
}

.systems-work__content-label {
  margin: 2px 0 16px;
  color: var(--systems-red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.systems-work__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.systems-work__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 66px;
  padding: 12px 14px;
  border: 1px solid rgba(170,43,38,.12);
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #fdfbf9);
  box-shadow: 0 9px 24px rgba(70,45,34,.035);
}

.systems-work__item > span {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(170,43,38,.075);
}

.systems-work__item img {
  width: 21px;
  height: 21px;
  object-fit: contain;
}

.systems-work__item p {
  margin: 0;
  color: #454750;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
}

.systems-work__note {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 2px;
  padding: 18px 20px;
  border-top: 1px dashed rgba(170,43,38,.18);
  background: rgba(170,43,38,.025);
  border-radius: 0 0 16px 16px;
}

.systems-work__note[hidden] {
  display: none;
}

.systems-work__note > span {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(170,43,38,.35);
  border-radius: 50%;
  color: var(--systems-red);
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 700;
}

.systems-work__note p {
  margin: 1px 0 0;
  color: #666871;
  font-size: 13.5px;
  line-height: 1.5;
}

@media (max-width: 1180px) {
  .systems-work__tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .systems-work__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .systems-work__panel {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .systems-work__intro {
    padding: 0 0 22px;
    border-right: 0;
    border-bottom: 1px solid var(--systems-line);
  }

  .systems-work__count {
    margin-top: 20px;
  }
}

@media (max-width: 680px) {
  .systems-work-head {
    margin-bottom: 24px;
  }

  .systems-work__tabs {
    display: flex;
    gap: 10px;
    margin-right: -20px;
    padding-right: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .systems-work__tabs::-webkit-scrollbar {
    display: none;
  }

  .systems-work__tab {
    flex: 0 0 190px;
    min-height: 132px;
    padding: 17px 16px;
    scroll-snap-align: start;
  }

  .systems-work__tab-num {
    margin-bottom: 13px;
    font-size: 22px;
  }

  .systems-work__tab strong {
    min-height: 42px;
    font-size: 19px;
  }

  .systems-work__panel {
    padding: 22px 18px;
    border-radius: 22px;
  }

  .systems-work__intro h3 {
    font-size: 36px;
  }

  .systems-work__items {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .systems-work__item {
    min-height: 60px;
  }

  .systems-work__note {
    padding: 16px 4px 0;
    background: transparent;
  }
}

/* Mobile interaction reliability for the marketing case */
.case-story-start__toggle,
.systems-work__tab {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.case-story-start__more[hidden],
.systems-work__note[hidden] {
  display: none !important;
}


/* Marketing agency: long-form project story */
.marketing-story {
  background:linear-gradient(180deg,#fff 0%,#fbf7f3 46%,#fff 100%);
  border-top:1px solid rgba(170,43,38,.08);
  border-bottom:1px solid rgba(170,43,38,.08);
}
.marketing-story__head {
  max-width:980px;
  margin:0 auto 48px;
  text-align:center;
}
.marketing-story__head .section-title {
  max-width:940px;
  margin-left:auto;
  margin-right:auto;
}
.marketing-story__timeline {
  display:grid;
  gap:28px;
}
.marketing-story__chapter {
  display:grid;
  grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);
  gap:0;
  overflow:hidden;
  border:1px solid rgba(170,43,38,.13);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 55px rgba(74,38,28,.065);
}
.marketing-story__chapter--reverse .marketing-story__media {
  order:2;
}
.marketing-story__chapter--reverse .marketing-story__content {
  order:1;
}
.marketing-story__media {
  min-height:100%;
  margin:0;
  background:#f2ece6;
}
.marketing-story__media img {
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
}
.marketing-story__content {
  position:relative;
  padding:42px 46px 44px;
}
.marketing-story__number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:38px;
  margin-bottom:18px;
  padding:0 12px;
  border-radius:12px;
  background:rgba(170,43,38,.08);
  color:#aa2b26;
  font-family:var(--serif);
  font-size:23px;
  font-weight:700;
}
.marketing-story__content h3 {
  margin:7px 0 20px;
  font-size:clamp(30px,3.1vw,48px);
  line-height:1.08;
  font-weight:600;
}
.marketing-story__content p:not(.eyebrow) {
  margin:0 0 15px;
  color:#4d4f58;
  font-size:16px;
  line-height:1.72;
}
.marketing-story__content p:last-child {
  margin-bottom:0;
}
.marketing-story__content ul {
  display:grid;
  gap:10px;
  margin:20px 0 0;
  padding:0;
  list-style:none;
}
.marketing-story__content li {
  position:relative;
  padding-left:24px;
  color:#454750;
  font-size:15px;
  line-height:1.58;
}
.marketing-story__content li:before {
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#aa2b26;
}
.marketing-story__flow {
  margin:22px 0;
  padding:18px 20px;
  border:1px solid rgba(170,43,38,.13);
  border-radius:16px;
  background:#fff9f6;
  color:#272830;
  font-size:15px;
  font-weight:700;
  line-height:1.6;
}
.marketing-story__flow span {
  margin:0 5px;
  color:#aa2b26;
}
.marketing-story__chapter--result {
  border-color:rgba(170,43,38,.25);
  background:linear-gradient(135deg,#fff 0%,#fff8f4 100%);
}
@media (max-width:1050px) {
  .marketing-story__chapter,
  .marketing-story__chapter--reverse {
    grid-template-columns:1fr;
  }
  .marketing-story__chapter--reverse .marketing-story__media,
  .marketing-story__chapter--reverse .marketing-story__content {
    order:initial;
  }
  .marketing-story__media img {
    min-height:0;
    max-height:460px;
    aspect-ratio:16/9;
  }
}
@media (max-width:680px) {
  .marketing-story__head {
    margin-bottom:30px;
    text-align:left;
  }
  .marketing-story__timeline {
    gap:18px;
  }
  .marketing-story__chapter {
    border-radius:20px;
  }
  .marketing-story__content {
    padding:28px 22px 30px;
  }
  .marketing-story__content h3 {
    font-size:clamp(29px,9vw,39px);
  }
  .marketing-story__content p:not(.eyebrow) {
    font-size:15px;
    line-height:1.64;
  }
  .marketing-story__media img {
    aspect-ratio:4/3;
    max-height:none;
  }
  .marketing-story__flow {
    padding:15px;
    font-size:14px;
  }
}


/* v68: unified contact block proportions */
@media (min-width: 981px) {
  .feedback-widget,
  .consult-modal .feedback-widget,
  .hp-form-card .feedback-widget,
  .abr-contact .feedback-widget,
  body.services-page .services-feedback-section .feedback-widget,
  body.cases-page .cases-feedback-section .feedback-widget,
  body.materials-page .materials-feedback-section .feedback-widget,
  body.contacts-page .container.grid.grid-2 .feedback-widget {
    grid-template-columns: minmax(0, 55fr) minmax(0, 45fr) !important;
  }
  .feedback-widget__direct .feedback-widget__title {
    white-space: nowrap;
  }
}
@media (max-width: 980px) {
  .feedback-widget,
  .consult-modal .feedback-widget,
  .hp-form-card .feedback-widget,
  .abr-contact .feedback-widget,
  body.services-page .services-feedback-section .feedback-widget,
  body.cases-page .cases-feedback-section .feedback-widget,
  body.materials-page .materials-feedback-section .feedback-widget,
  body.contacts-page .container.grid.grid-2 .feedback-widget {
    grid-template-columns: 1fr !important;
  }
  .feedback-widget__direct .feedback-widget__title {
    white-space: normal;
  }
}


/* v75: marketing-agency case hero — case-focused copy and nine-system radar */
.case-story-page.marketing-case-page .case-story-hero {
  padding: 52px 0 46px;
  background:
    radial-gradient(circle at 82% 12%, rgba(170,43,38,.075), transparent 30%),
    linear-gradient(180deg, #fff 0%, #fffdfb 100%);
}

.case-story-page.marketing-case-page .case-story-hero__grid {
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  gap: clamp(38px, 4vw, 72px);
  align-items: center;
}

.case-story-page.marketing-case-page .case-story-hero__content {
  min-width: 0;
}

.case-story-page.marketing-case-page .case-story-hero h1 {
  max-width: 760px;
  margin: 14px 0 22px;
  font-size: clamp(48px, 5.05vw, 78px);
  line-height: .96;
}

.case-story-page.marketing-case-page .case-story-hero__content > p:not(.eyebrow) {
  max-width: 720px;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.65;
}

.case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
  min-width: 0;
  margin: 0;
}

.case-systems-radar {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(170,43,38,.13);
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 47%, rgba(170,43,38,.07), transparent 38%),
    linear-gradient(180deg, rgba(255,253,249,.98), rgba(250,246,240,.96));
  box-shadow: 0 26px 68px rgba(74,38,28,.08);
}

.case-systems-radar__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.case-systems-radar__grid polygon,
.case-systems-radar__grid line {
  fill: none;
  stroke: rgba(170,43,38,.18);
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
}

.case-systems-radar__grid .case-systems-radar__outer {
  stroke: rgba(170,43,38,.78);
  stroke-width: 1.65;
}

.case-systems-radar__value {
  fill: rgba(170,43,38,.10);
  stroke: #b8322c;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.case-systems-radar__points circle {
  fill: #fffdf9;
  stroke: #b8322c;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
}

.case-systems-radar__center {
  fill: #fffdf9;
  stroke: #b8322c;
  stroke-width: 1.6;
  filter: drop-shadow(0 10px 18px rgba(170,43,38,.10));
  vector-effect: non-scaling-stroke;
}

.case-systems-radar__center-text {
  fill: #b8322c;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 45px;
  font-weight: 500;
}

.case-systems-radar__labels text {
  fill: #a72d27;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.case-systems-radar__caption {
  fill: #8d2924;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
}

@media (max-width: 1160px) {
  .case-story-page.marketing-case-page .case-story-hero__grid {
    grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
    gap: 34px;
  }
  .case-story-page.marketing-case-page .case-story-hero h1 {
    font-size: clamp(44px, 5.5vw, 64px);
  }
}

@media (max-width: 900px) {
  .case-story-page.marketing-case-page .case-story-hero__grid {
    grid-template-columns: 1fr;
  }
  .case-story-page.marketing-case-page .case-story-hero__content {
    text-align: center;
  }
  .case-story-page.marketing-case-page .case-story-hero h1,
  .case-story-page.marketing-case-page .case-story-hero__content > p:not(.eyebrow) {
    margin-left: auto;
    margin-right: auto;
  }
  .case-story-page.marketing-case-page .case-story-actions {
    justify-content: center;
  }
  .case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
    width: min(100%, 720px);
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  .case-story-page.marketing-case-page .case-story-hero {
    padding: 34px 0 28px;
  }
  .case-story-page.marketing-case-page .case-story-hero h1 {
    font-size: clamp(40px, 12vw, 56px);
  }
  .case-systems-radar {
    margin-inline: -4px;
    padding: 2px;
    border-radius: 22px;
  }
  .case-systems-radar__labels text {
    font-size: 15px;
  }
  .case-systems-radar__caption {
    font-size: 22px;
  }
}


/* v76: compact four-line marketing case hero */
.case-story-page.marketing-case-page .case-story-hero {
  padding-top: 34px;
  padding-bottom: 34px;
}

.case-story-page.marketing-case-page .case-story-hero__grid {
  grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
  gap: clamp(32px, 3.6vw, 60px);
}

.case-story-page.marketing-case-page .case-marketing-title {
  max-width: 720px;
  margin: 12px 0 18px;
  font-size: clamp(48px, 4.25vw, 66px);
  line-height: .92;
  letter-spacing: -.035em;
}

.case-story-page.marketing-case-page .case-marketing-title span {
  display: block;
  white-space: nowrap;
}

.case-story-page.marketing-case-page .case-story-hero__content > p:not(.eyebrow) {
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.52;
}

.case-story-page.marketing-case-page .case-story-actions {
  margin-top: 24px;
}

.case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
  width: 100%;
  max-width: 720px;
  justify-self: end;
}

.case-story-page.marketing-case-page .case-systems-radar__svg {
  max-height: 590px;
}

@media (max-width: 1280px) {
  .case-story-page.marketing-case-page .case-marketing-title {
    font-size: clamp(44px, 4.45vw, 58px);
  }
}

@media (max-width: 1040px) {
  .case-story-page.marketing-case-page .case-story-hero__grid {
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
    gap: 28px;
  }
  .case-story-page.marketing-case-page .case-marketing-title {
    font-size: clamp(40px, 4.8vw, 52px);
  }
}

@media (max-width: 900px) {
  .case-story-page.marketing-case-page .case-marketing-title span {
    white-space: normal;
  }
  .case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
    justify-self: center;
  }
  .case-story-page.marketing-case-page .case-systems-radar__svg {
    max-height: none;
  }
}

@media (max-width: 640px) {
  .case-story-page.marketing-case-page .case-marketing-title {
    font-size: clamp(38px, 11vw, 52px);
    line-height: .96;
  }
}


/* v77: prevent marketing-case hero text and radar overlap */
.case-story-page.marketing-case-page .case-story-hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(44px, 4vw, 72px);
}

.case-story-page.marketing-case-page .case-story-hero__content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.case-story-page.marketing-case-page .case-marketing-title {
  width: 100%;
  max-width: 680px;
  font-size: clamp(46px, 3.75vw, 62px);
}

.case-story-page.marketing-case-page .case-marketing-title span {
  max-width: 100%;
}

.case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 680px;
  justify-self: end;
  min-width: 0;
}

@media (max-width: 1180px) {
  .case-story-page.marketing-case-page .case-story-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    gap: 34px;
  }
  .case-story-page.marketing-case-page .case-marketing-title {
    font-size: clamp(40px, 4.25vw, 52px);
  }
  .case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
    max-width: 600px;
  }
}

@media (max-width: 900px) {
  .case-story-page.marketing-case-page .case-story-hero__grid {
    grid-template-columns: 1fr;
  }
  .case-story-page.marketing-case-page .case-marketing-title span {
    white-space: normal;
  }
}


/* v78: keep the four-line case title inside its column */
.case-story-page.marketing-case-page .case-marketing-title{
  max-width:100%;
  font-size:clamp(44px,3.55vw,59px);
}
.case-story-page.marketing-case-page .case-marketing-title span{
  width:100%;
  overflow:visible;
}
.case-story-page.marketing-case-page .case-story-hero__visual--systems-radar,
.case-story-page.marketing-case-page .case-systems-radar{
  overflow:hidden;
}
@media (max-width:1180px){
  .case-story-page.marketing-case-page .case-marketing-title{font-size:clamp(39px,4vw,50px)}
}
@media (max-width:900px){
  .case-story-page.marketing-case-page .case-marketing-title{font-size:clamp(40px,8vw,58px)}
}


/* v80: smaller marketing-case radar to keep a clear gap from the title */
@media (min-width: 901px) {
  .case-story-page.marketing-case-page .case-story-hero__grid {
    grid-template-columns: minmax(0, 1.16fr) minmax(420px, .84fr);
    gap: clamp(56px, 5vw, 92px);
  }

  .case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
    width: min(100%, 560px);
    max-width: 560px;
    justify-self: end;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .case-story-page.marketing-case-page .case-story-hero__grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    gap: 44px;
  }

  .case-story-page.marketing-case-page .case-story-hero__visual--systems-radar {
    width: min(100%, 500px);
    max-width: 500px;
  }
}


/* v11: keep direct-contact title and email on a single line */
body.contacts-page .feedback-widget__direct .feedback-widget__title{
  font-size: clamp(28px, 2.1vw, 36px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}

body.contacts-page .feedback-widget__direct .feedback-contacts a{
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  font-size: 16px;
}

body.contacts-page .feedback-widget__direct{
  min-width: 0;
}

@media (max-width: 1240px){
  body.contacts-page .feedback-widget__direct .feedback-widget__title,
  body.contacts-page .feedback-widget__direct .feedback-contacts a{
    white-space: normal;
  }
}


/* Privacy policy — long-form legal document */
body.privacy-page .page-hero{
  padding-bottom:42px;
}
body.privacy-page .page-hero .page-grid{
  grid-template-columns:minmax(0,900px);
}
body.privacy-page .privacy-content{
  width:min(var(--container,1280px),calc(100% - 48px));
  padding:18px 0 88px;
}
body.privacy-page .privacy-card{
  max-width:1080px;
  margin:0 auto;
  padding:clamp(28px,4.2vw,64px);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 48px rgba(42,33,31,.07);
}
.privacy-policy__intro{
  margin:0 0 38px;
  padding:20px 24px;
  border-left:4px solid #AA2B26;
  border-radius:0 14px 14px 0;
  background:#fbf7f2;
  color:#514b47;
  font-size:17px;
  line-height:1.65;
}
.privacy-policy__section{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid rgba(82,62,48,.12);
}
.privacy-policy__section:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:0;
}
.privacy-policy__section h2{
  margin:0 0 22px;
  font-family:var(--serif,Georgia,serif);
  color:#211d1b;
  font-size:clamp(26px,2.25vw,34px);
  font-weight:600;
  line-height:1.18;
  letter-spacing:-.02em;
}
.privacy-policy__section p{
  margin:0 0 14px;
  color:#514b47;
  font-size:16px;
  line-height:1.72;
}
.privacy-policy__section p:last-child{margin-bottom:0}
.privacy-policy__section ul{
  display:grid;
  gap:10px;
  margin:10px 0 18px;
  padding:0;
  list-style:none;
}
.privacy-policy__section li{
  position:relative;
  padding-left:22px;
  color:#514b47;
  font-size:16px;
  line-height:1.65;
}
.privacy-policy__section li:before{
  content:"";
  position:absolute;
  left:2px;
  top:.68em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#AA2B26;
}
.privacy-policy__section a{
  color:#AA2B26;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.privacy-policy__matrix{
  overflow:hidden;
  border:1px solid rgba(82,62,48,.13);
  border-radius:18px;
  background:#fffdf9;
}
.privacy-policy__matrix-row{
  display:grid;
  grid-template-columns:minmax(210px,.38fr) minmax(0,1fr);
}
.privacy-policy__matrix-row + .privacy-policy__matrix-row{
  border-top:1px solid rgba(82,62,48,.12);
}
.privacy-policy__matrix-row strong,
.privacy-policy__matrix-row span{
  padding:18px 20px;
  font-size:15.5px;
  line-height:1.55;
}
.privacy-policy__matrix-row strong{
  background:#fbf4ee;
  color:#2b2725;
}
.privacy-policy__matrix-row span{
  color:#514b47;
}
@media(max-width:680px){
  body.privacy-page .privacy-content{width:calc(100% - 28px);padding-bottom:58px}
  body.privacy-page .privacy-card{padding:26px 20px;border-radius:20px}
  .privacy-policy__intro{margin-bottom:30px;padding:18px;font-size:15.5px}
  .privacy-policy__section{padding-bottom:28px;margin-bottom:28px}
  .privacy-policy__section h2{font-size:26px}
  .privacy-policy__section p,.privacy-policy__section li{font-size:15px;line-height:1.65}
  .privacy-policy__matrix-row{grid-template-columns:1fr}
  .privacy-policy__matrix-row strong{padding-bottom:8px}
  .privacy-policy__matrix-row span{padding-top:8px}
}


/* v12 contacts: align feedback headings and control the direct-title wrap */
body.contacts-page .feedback-widget__request,
body.contacts-page .feedback-widget__direct{
  align-self:stretch;
}

body.contacts-page .feedback-widget__direct{
  justify-content:flex-start;
  min-width:0;
}

body.contacts-page .feedback-widget__request .feedback-widget__title,
body.contacts-page .feedback-widget__direct .feedback-widget__title{
  margin:0 0 24px;
  font-size:clamp(32px,2.25vw,38px);
  line-height:1.12;
  min-height:2.24em;
}

body.contacts-page .feedback-widget__direct .feedback-widget__title--direct{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

body.contacts-page .feedback-widget__direct .feedback-widget__title--direct span{
  display:inline-block;
}

body.contacts-page .feedback-widget__direct .feedback-contacts a{
  display:block;
  max-width:100%;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  font-size:clamp(14px,1.05vw,16px);
}

@media (max-width:1240px){
  body.contacts-page .feedback-widget__request .feedback-widget__title,
  body.contacts-page .feedback-widget__direct .feedback-widget__title{
    min-height:0;
  }
}

@media (max-width:760px){
  body.contacts-page .feedback-widget__direct .feedback-widget__title--direct br{
    display:none;
  }
  body.contacts-page .feedback-widget__direct .feedback-widget__title--direct span{
    display:inline;
  }
  body.contacts-page .feedback-widget__direct .feedback-contacts a{
    white-space:normal;
  }
}


/* v13 contacts: force direct-contact heading into exactly two lines */
body.contacts-page .feedback-widget__direct .feedback-widget__title--direct{
  display:block;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  max-width:240px;
  line-height:1.08;
}

body.contacts-page .feedback-widget__direct .feedback-widget__title--direct br{
  display:block !important;
}

body.contacts-page .feedback-widget__direct .feedback-widget__title--direct span{
  display:block !important;
}

@media (max-width:760px){
  body.contacts-page .feedback-widget__direct .feedback-widget__title--direct{
    max-width:100%;
  }
  body.contacts-page .feedback-widget__direct .feedback-widget__title--direct br{
    display:block !important;
  }
  body.contacts-page .feedback-widget__direct .feedback-widget__title--direct span{
    display:block !important;
  }
}
