/* =========================================================
   RAREINPUTS — CONTENT MARKETING
   Bootstrap 5.3.8-safe custom CSS using BEM-prefixed classes.
========================================================= */
:root {
   --cm-wine: #7a1632;
   --cm-wine-2: #a5264c;
   --cm-deep: #310914;
   --cm-deep-2: #1b050c;
   --cm-ink: #291c21;
   --cm-muted: #716269;
   --cm-line: #eadce1;
   --cm-blush: #fff5f8;
   --cm-soft: #faf7f8;
   --cm-white: #ffffff;
   --cm-editorial: #8c6a52;
   --cm-shadow: 0 24px 70px rgba(73, 13, 31, .12);
   --cm-radius-sm: 12px;
   --cm-radius: 20px;
   --cm-radius-lg: 28px;
   --cm-container: 1180px;
}

html {
   scroll-behavior: smooth;
   scroll-padding-top: 92px;
}

body {
   margin: 0;
   overflow-x: hidden;
   color: var(--cm-ink);
   background: var(--cm-white);
   font: 400 16px/1.7 Inter, sans-serif;
}

body.cm-modal-open {
   overflow: hidden;
}

img {
   max-width: 100%;
   height: auto;
}

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

button,
input,
select,
textarea {
   font: inherit;
}

h1,
h2,
h3,
h4 {
   margin: 0;
   font-family: "Plus Jakarta Sans", sans-serif;
   line-height: 1.14;
   letter-spacing: -.04em;
}

p {
   margin: 0 0 18px;
}

.container {
   max-width: var(--cm-container);
}

::selection {
   background: var(--cm-wine);
   color: #fff;
}

:focus-visible {
   outline: 3px solid rgba(165, 38, 76, .35);
   outline-offset: 3px;
}

.cm-skip-link {
   position: fixed;
   left: 16px;
   top: -80px;
   z-index: 9999;
   padding: 10px 14px;
   background: var(--cm-deep);
   color: #fff;
   border-radius: 8px;
   transition: top .2s ease;
}

.cm-skip-link:focus {
   top: 16px;
}

/* =========================
   GLOBAL ELEMENTS
========================= */
.cm-section {
   padding: clamp(72px, 7vw, 104px) 0;
}

.cm-eyebrow {
   display: inline-block;
   margin-bottom: 15px;
   color: var(--cm-wine);
   font-size: 11px;
   font-weight: 800;
   letter-spacing: .16em;
   text-transform: uppercase;
}

.cm-section__title {
   color: var(--cm-deep);
   font-size: clamp(34px, 4vw, 34px);
}

.cm-section__title em {
   color: var(--cm-wine);
   font-style: normal;
}

.cm-section__lead {
   margin-top: 20px;
   color: var(--cm-muted);
   font-size: 16px;
   line-height: 1.85;
}

.cm-section-heading {
   display: grid;
   grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
   gap: clamp(36px, 6vw, 78px);
   align-items: end;
   margin-bottom: 46px;
}

.cm-section-heading>p {
   margin: 0;
   color: var(--cm-muted);
   line-height: 1.85;
}

.cm-section-heading--light .cm-section__title {
   color: #fff;
}

.cm-section-heading--light>p {
   color: #cdb7be;
}

.cm-btn {
   display: inline-flex;
   min-height: 50px;
   align-items: center;
   justify-content: center;
   gap: 8px;
   border: 0;
   border-radius: 10px;
   padding: 13px 22px;
   background: linear-gradient(135deg, var(--cm-wine), var(--cm-wine-2));
   color: #fff;
   box-shadow: 0 12px 28px rgba(122, 22, 50, .22);
   font-size: 13px;
   font-weight: 800;
   transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.cm-btn:hover {
   color: #fff;
   transform: translateY(-2px);
   box-shadow: 0 17px 36px rgba(122, 22, 50, .28);
   filter: saturate(1.06);
}

.cm-btn--small {
   min-height: 42px;
   padding: 10px 16px;
   font-size: 12px;
}

.cm-btn--light {
   background: #fff;
   color: var(--cm-wine);
   box-shadow: none;
}

.cm-btn--light:hover {
   color: var(--cm-deep);
   background: #fffafc;
}

.cm-link-arrow {
   display: inline-flex;
   align-items: center;
   gap: 9px;
   color: var(--cm-wine);
   font-size: 14px;
   font-weight: 800;
}

.cm-link-arrow span {
   transition: transform .2s ease;
}

.cm-link-arrow:hover span {
   transform: translateX(4px);
}

.cm-note {
   margin-top: 20px;
   padding: 14px 16px;
   border-left: 3px solid var(--cm-wine);
   background: var(--cm-blush);
   color: var(--cm-muted);
   font-size: 12px;
}

.cm-chip-grid {
   display: flex;
   flex-wrap: wrap;
   gap: 9px;
   margin-top: 26px;
}

.cm-chip-grid span {
   padding: 9px 12px;
   border: 1px solid var(--cm-line);
   border-radius: 999px;
   background: #fff;
   color: #65565b;
   font-size: 11px;
   font-weight: 700;
}

/* =========================
   TOPBAR + HEADER
========================= */
.cm-topbar {
   background: var(--cm-deep);
   color: #dbc9cf;
   font-size: 12px;
}

.cm-topbar__inner {
   min-height: 38px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
}

.cm-topbar__links {
   display: flex;
   flex-wrap: wrap;
   gap: 22px;
}

.cm-topbar__links a:hover {
   color: #fff;
}

.cm-header {
   position: sticky;
   top: 0;
   z-index: 100;
   height: 82px;
   background: rgba(255, 255, 255, .97);
   border-bottom: 1px solid rgba(234, 220, 225, .8);
   box-shadow: 0 4px 22px rgba(49, 9, 20, .07);
   backdrop-filter: blur(10px);
}

.cm-header__inner {
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
}

.cm-header__brand {
   position: relative;
   display: block;
   width: 225px;
   height: 62px;
   overflow: hidden;
   flex: none;
}

.cm-header__brand img {
   position: absolute;
   width: 280px;
   max-width: none;
   left: -25px;
   top: -42px;
}

.cm-nav {
   display: flex;
   align-items: center;
   gap: clamp(15px, 2vw, 25px);
}

.cm-nav__link {
   position: relative;
   font-size: 13px;
   font-weight: 700;
}

.cm-nav__link::after {
   content: "";
   position: absolute;
   left: 0;
   right: 100%;
   bottom: -8px;
   height: 2px;
   background: var(--cm-wine);
   transition: right .2s ease;
}

.cm-nav__link:hover {
   color: var(--cm-wine);
}

.cm-nav__link:hover::after,
.cm-nav__link.is-active::after {
   right: 0;
}

.cm-header__actions {
   display: flex;
   align-items: center;
   gap: 10px;
}

.cm-header__menu {
   display: none;
   width: 44px;
   height: 44px;
   padding: 10px;
   border: 1px solid var(--cm-line);
   border-radius: 10px;
   background: #fff;
}

.cm-header__menu span {
   display: block;
   width: 100%;
   height: 2px;
   margin: 5px 0;
   background: var(--cm-deep);
   transition: transform .2s ease, opacity .2s ease;
}

.cm-header__menu[aria-expanded="true"] span:nth-child(1) {
   transform: translateY(7px) rotate(45deg);
}

.cm-header__menu[aria-expanded="true"] span:nth-child(2) {
   opacity: 0;
}

.cm-header__menu[aria-expanded="true"] span:nth-child(3) {
   transform: translateY(-7px) rotate(-45deg);
}

/* =========================
   HERO
========================= */
.cm-hero {
   position: relative;
   overflow: hidden;
   padding: clamp(56px, 7vw, 90px) 0 clamp(72px, 8vw, 108px);
   background: linear-gradient(120deg, #fff9fb 0%, #fff 52%, #f8eeeb 100%);
}

.cm-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   opacity: .35;
   background-image: linear-gradient(rgba(122, 22, 50, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(122, 22, 50, .035) 1px, transparent 1px);
   background-size: 56px 56px;
}

.cm-hero__shape {
   position: absolute;
   pointer-events: none;
   border-radius: 50%;
}

.cm-hero__shape--one {
   width: 470px;
   height: 470px;
   right: -235px;
   bottom: -270px;
   border: 80px solid rgba(122, 22, 50, .035);
}

.cm-hero__shape--two {
   width: 260px;
   height: 260px;
   left: -160px;
   top: 90px;
   border: 1px solid rgba(122, 22, 50, .08);
}

.cm-breadcrumb {
   position: relative;
   z-index: 2;
   margin-bottom: 34px;
}

.cm-breadcrumb__list {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin: 0;
   padding: 0;
   list-style: none;
   color: var(--cm-muted);
   font-size: 12px;
}

.cm-breadcrumb__list li+li::before {
   content: "/";
   margin-right: 8px;
   color: #bdaab0;
}

.cm-breadcrumb__list a:hover {
   color: var(--cm-wine);
}

.cm-hero__copy {
   position: relative;
   z-index: 2;
}

.cm-hero__title {
   max-width: 820px;
   color: var(--cm-deep);
   font-size: clamp(43px, 5.3vw, 40px);
}

.cm-hero__title em {
   color: var(--cm-wine);
   font-style: normal;
}

.cm-hero__description {
   max-width: 760px;
   margin: 25px 0 0;
   color: var(--cm-muted);
   font-size: clamp(16px, 1.4vw, 18px);
   line-height: 1.82;
}

.cm-hero__actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 22px;
   margin-top: 28px;
}

.cm-hero__proof {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
   max-width: 660px;
   margin-top: 34px;
}

.cm-hero__proof span {
   padding: 13px 15px;
   border-left: 3px solid var(--cm-wine);
   background: rgba(255, 255, 255, .58);
   color: var(--cm-muted);
   font-size: 11px;
}

.cm-hero__proof b {
   display: block;
   color: var(--cm-deep);
   font: 800 18px "Plus Jakarta Sans", sans-serif;
}

.cm-hero-visual {
   position: relative;
   z-index: 2;
   padding: 25px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius-lg);
   background: rgba(255, 255, 255, .94);
   box-shadow: var(--cm-shadow);
}

.cm-hero-visual__top {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding-bottom: 17px;
   border-bottom: 1px solid var(--cm-line);
   color: var(--cm-wine);
   font-size: 10px;
   font-weight: 800;
   letter-spacing: .14em;
}

.cm-hero-visual__top i {
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: #35a86b;
   box-shadow: 0 0 0 5px rgba(53, 168, 107, .1);
}

.cm-hero-visual__story {
   display: grid;
   grid-template-columns: 1fr 90px;
   gap: 14px;
   margin-top: 18px;
}

.cm-hero-visual__story-main {
   padding: 18px;
   border-radius: 15px;
   background: var(--cm-soft);
}

.cm-hero-visual__story-main small {
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .12em;
}

.cm-hero-visual__story-main h2 {
   margin-top: 10px;
   font-size: 22px;
}

.cm-hero-visual__story-main p {
   margin: 8px 0 0;
   color: var(--cm-muted);
   font-size: 11px;
}

.cm-hero-visual__score {
   display: grid;
   place-items: center;
   align-content: center;
   border: 1px solid var(--cm-line);
   border-radius: 15px;
   text-align: center;
}

.cm-hero-visual__score span {
   color: var(--cm-muted);
   font-size: 8px;
   font-weight: 800;
}

.cm-hero-visual__score strong {
   color: var(--cm-wine);
   font-size: 32px;
}

.cm-hero-visual__channels {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 8px;
   margin-top: 12px;
}

.cm-hero-visual__channels span {
   padding: 12px;
   border: 1px solid var(--cm-line);
   border-radius: 12px;
   color: var(--cm-wine);
   font-size: 8px;
   font-weight: 800;
}

.cm-hero-visual__channels b {
   display: block;
   margin-top: 3px;
   color: var(--cm-deep);
   font-size: 10px;
}

.cm-hero-visual__graph {
   position: relative;
   height: 150px;
   margin-top: 12px;
   overflow: hidden;
   border-radius: 15px;
   background: linear-gradient(180deg, #fff, #fff8fa);
}

.cm-hero-visual__graph svg {
   position: absolute;
   z-index: 2;
   inset: 20px 0 0;
   width: 100%;
   height: 110px;
}

.cm-hero-visual__graph path {
   fill: none;
   stroke: var(--cm-wine);
   stroke-width: 4;
   stroke-linecap: round;
   filter: drop-shadow(0 5px 8px rgba(122, 22, 50, .2));
}

.cm-hero-visual__bars {
   position: absolute;
   inset: 25px 15px 15px;
   display: flex;
   align-items: end;
   justify-content: space-around;
   gap: 12px;
}

.cm-hero-visual__bars i {
   width: 11%;
   background: linear-gradient(180deg, rgba(165, 38, 76, .18), rgba(122, 22, 50, .05));
   border-radius: 7px 7px 0 0;
}

.cm-hero-visual__bars i:nth-child(1) {
   height: 22%
}

.cm-hero-visual__bars i:nth-child(2) {
   height: 38%
}

.cm-hero-visual__bars i:nth-child(3) {
   height: 34%
}

.cm-hero-visual__bars i:nth-child(4) {
   height: 58%
}

.cm-hero-visual__bars i:nth-child(5) {
   height: 71%
}

.cm-hero-visual__bars i:nth-child(6) {
   height: 90%
}

.cm-hero-visual__note {
   display: block;
   margin-top: 10px;
   color: #95888d;
   font-size: 9px;
   text-align: center;
}

/* =========================
   SYSTEM STRIP + PHILOSOPHY
========================= */
.cm-system-strip {
   border-top: 1px solid var(--cm-line);
   border-bottom: 1px solid var(--cm-line);
   background: #fff;
}

.cm-system-strip__grid {
   min-height: 72px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 10px 28px;
}

.cm-system-strip__grid span {
   position: relative;
   color: #72656a;
   font-size: 10px;
   font-weight: 800;
   letter-spacing: .08em;
}

.cm-system-strip__grid span:not(:last-child)::after {
   content: "";
   position: absolute;
   right: -15px;
   top: 50%;
   width: 3px;
   height: 3px;
   border-radius: 50%;
   background: #c6b4ba;
}

.cm-philosophy {
   background: #fff;
}

.cm-value-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.cm-value-grid article {
   min-height: 180px;
   padding: 24px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: var(--cm-soft);
   transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.cm-value-grid article:hover {
   transform: translateY(-4px);
   border-color: #d4a5b2;
   box-shadow: 0 14px 32px rgba(73, 13, 31, .07);
}

.cm-value-grid span {
   color: var(--cm-wine);
   font-size: 10px;
   font-weight: 800;
}

.cm-value-grid h3 {
   margin-top: 26px;
   color: var(--cm-deep);
   font-size: 20px;
}

.cm-value-grid p {
   margin: 8px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

/* =========================
   CONTENT LOOP
========================= */
.cm-framework {
   background: var(--cm-soft);
}

.cm-loop {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 1px;
   overflow: hidden;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: var(--cm-line);
}

.cm-loop article {
   min-height: 180px;
   padding: 23px;
   background: #fff;
}

.cm-loop b {
   color: var(--cm-wine);
   font-size: 10px;
}

.cm-loop span {
   display: block;
   margin-top: 34px;
   color: var(--cm-deep);
   font: 700 17px "Plus Jakarta Sans", sans-serif;
}

.cm-loop p {
   margin: 8px 0 0;
   color: var(--cm-muted);
   font-size: 11px;
}

/* =========================
   SERVICES
========================= */
.cm-services {
   background: #fff;
}

.cm-service-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
}

.cm-service-card {
   position: relative;
   min-height: 350px;
   padding: 27px;
   overflow: hidden;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: #fff;
   transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.cm-service-card:hover {
   transform: translateY(-5px);
   border-color: #cd96a6;
   box-shadow: 0 18px 38px rgba(73, 13, 31, .09);
}

.cm-service-card--featured {
   grid-column: span 2;
   background: linear-gradient(145deg, #fff7fa, #fff);
}

.cm-service-card__number {
   position: absolute;
   top: 20px;
   right: 22px;
   color: #cfb9c0;
   font: 800 11px "Plus Jakarta Sans", sans-serif;
}

.cm-service-card__icon {
   min-width: 48px;
   width: max-content;
   height: 48px;
   display: grid;
   place-items: center;
   padding: 0 13px;
   border-radius: 14px;
   background: #fae8ee;
   color: var(--cm-wine);
   font-size: 10px;
   font-weight: 800;
}

.cm-service-card h3 {
   margin-top: 26px;
   color: var(--cm-deep);
   font-size: 21px;
}

.cm-service-card p {
   margin: 10px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

.cm-service-card ul {
   margin: 21px 0 0;
   padding: 0;
   list-style: none;
}

.cm-service-card li {
   position: relative;
   padding: 6px 0 6px 19px;
   color: #62545a;
   font-size: 11px;
}

.cm-service-card li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 13px;
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: var(--cm-wine);
}

/* =========================
   STRATEGY
========================= */
.cm-strategy {
   background: var(--cm-blush);
}

.cm-strategy-list {
   display: flex;
   flex-wrap: wrap;
   gap: 9px;
   margin-top: 28px;
}

.cm-strategy-list span {
   padding: 9px 12px;
   border: 1px solid #e8cfd7;
   border-radius: 999px;
   background: #fff;
   color: #65565b;
   font-size: 11px;
   font-weight: 700;
}

.cm-strategy-board {
   padding: 27px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius-lg);
   background: #fff;
   box-shadow: var(--cm-shadow);
}

.cm-strategy-board__head {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding-bottom: 16px;
   border-bottom: 1px solid var(--cm-line);
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .13em;
}

.cm-strategy-board__head b {
   color: #6d846f;
   font-size: 8px;
}

.cm-strategy-board__goal {
   margin-top: 20px;
   padding: 20px;
   border-radius: 15px;
   background: var(--cm-soft);
}

.cm-strategy-board__goal small,
.cm-strategy-board__goal strong,
.cm-strategy-board__goal span {
   display: block;
}

.cm-strategy-board__goal small {
   color: var(--cm-wine);
   font-size: 8px;
   font-weight: 800;
}

.cm-strategy-board__goal strong {
   margin-top: 7px;
   color: var(--cm-deep);
   font: 800 26px "Plus Jakarta Sans", sans-serif;
}

.cm-strategy-board__goal span {
   margin-top: 3px;
   color: var(--cm-muted);
   font-size: 11px;
}

.cm-strategy-board__matrix {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
   margin-top: 10px;
}

.cm-strategy-board__matrix article {
   padding: 15px;
   border: 1px solid var(--cm-line);
   border-radius: 12px;
}

.cm-strategy-board__matrix small,
.cm-strategy-board__matrix b {
   display: block;
}

.cm-strategy-board__matrix small {
   color: var(--cm-wine);
   font-size: 8px;
   font-weight: 800;
}

.cm-strategy-board__matrix b {
   margin-top: 4px;
   font-size: 11px;
}

.cm-strategy-board__matrix i {
   display: block;
   width: 58%;
   height: 4px;
   margin-top: 10px;
   border-radius: 999px;
   background: var(--cm-wine);
   opacity: .35;
}

.cm-strategy-board__footer {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 9px;
   margin-top: 17px;
   color: var(--cm-muted);
   font-size: 9px;
   font-weight: 800;
}

.cm-strategy-board__footer em {
   color: var(--cm-wine);
   font-style: normal;
}

/* =========================
   FUNNEL
========================= */
.cm-funnel {
   background: #fff;
}

.cm-funnel-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   align-items: stretch;
   gap: 10px;
}

.cm-funnel-grid article {
   position: relative;
   min-height: 260px;
   padding: 26px;
   overflow: hidden;
   border-radius: var(--cm-radius);
   background: linear-gradient(150deg, #fff8fa, #fff);
   border: 1px solid var(--cm-line);
}

.cm-funnel-grid article::after {
   content: "";
   position: absolute;
   right: -45px;
   bottom: -45px;
   width: 110px;
   height: 110px;
   border-radius: 50%;
   border: 22px solid rgba(122, 22, 50, .04);
}

.cm-funnel-grid span {
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .08em;
}

.cm-funnel-grid h3 {
   margin-top: 52px;
   color: var(--cm-deep);
   font-size: 20px;
}

.cm-funnel-grid p {
   margin: 12px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

/* =========================
   SEO + GEO
========================= */
.cm-search-content {
   background: var(--cm-deep);
}

.cm-search-content__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px;
}

.cm-search-panel {
   min-height: 520px;
   padding: clamp(30px, 4vw, 48px);
   border-radius: var(--cm-radius-lg);
}

.cm-search-panel--seo {
   background: #fff;
}

.cm-search-panel--geo {
   border: 1px solid rgba(255, 255, 255, .13);
   background: linear-gradient(145deg, #4e0f24, #22060f);
   color: #fff;
}

.cm-search-panel h2 {
   max-width: 560px;
   font-size: clamp(30px, 3.4vw, 32px);
}

.cm-search-panel--seo h2 {
   color: var(--cm-deep);
}

.cm-search-panel--geo h2 {
   color: #fff;
}

.cm-search-panel p {
   margin-top: 20px;
   line-height: 1.85;
}

.cm-search-panel--seo p {
   color: var(--cm-muted);
}

.cm-search-panel--geo p {
   color: #d1bbc2;
}

.cm-search-panel--geo .cm-eyebrow {
   color: #e1a5b7;
}

.cm-search-panel--geo .cm-chip-grid span {
   border-color: rgba(255, 255, 255, .13);
   background: rgba(255, 255, 255, .07);
   color: #eadbe0;
}

/* =========================
   FORMATS + INDUSTRIES
========================= */
.cm-formats {
   background: var(--cm-soft);
}

.cm-format-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 15px;
}

.cm-format-grid article {
   min-height: 225px;
   padding: 24px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: #fff;
}

.cm-format-grid span {
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .11em;
}

.cm-format-grid h3 {
   margin-top: 26px;
   color: var(--cm-deep);
   font-size: 19px;
}

.cm-format-grid p {
   margin: 10px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

.cm-industries {
   background: #fff;
}

.cm-industry-grid {
   display: grid;
   grid-template-columns: repeat(6, minmax(0, 1fr));
   gap: 14px;
}

.cm-industry-grid article {
   min-height: 260px;
   padding: 25px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: #fff;
   transition: transform .2s ease, box-shadow .2s ease;
}

.cm-industry-grid article:nth-child(1),
.cm-industry-grid article:nth-child(2) {
   grid-column: span 3;
}

.cm-industry-grid article:nth-child(n+3) {
   grid-column: span 2;
}

.cm-industry-grid article:hover {
   transform: translateY(-5px);
   box-shadow: 0 18px 38px rgba(73, 13, 31, .08);
}

.cm-industry-grid span {
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .12em;
}

.cm-industry-grid h3 {
   margin-top: 42px;
   color: var(--cm-deep);
   font-size: 20px;
}

.cm-industry-grid p {
   margin: 12px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

/* =========================
   DISTRIBUTION + PR
========================= */
.cm-distribution {
   background: var(--cm-blush);
}

.cm-distribution-map {
   position: relative;
   min-height: 390px;
   overflow: hidden;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius-lg);
   background: #fff;
   box-shadow: var(--cm-shadow);
}

.cm-distribution-map::before {
   content: "";
   position: absolute;
   inset: 0;
   opacity: .5;
   background-image: radial-gradient(rgba(122, 22, 50, .13) 1px, transparent 1px);
   background-size: 22px 22px;
}

.cm-distribution-map svg {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
}

.cm-distribution-map path {
   fill: none;
   stroke: rgba(122, 22, 50, .16);
   stroke-width: 2;
   stroke-dasharray: 6 9;
}

.cm-distribution-map__center {
   position: absolute;
   z-index: 3;
   left: 50%;
   top: 50%;
   width: 150px;
   height: 150px;
   display: grid;
   place-items: center;
   align-content: center;
   transform: translate(-50%, -50%);
   border-radius: 50%;
   background: var(--cm-deep);
   color: #fff;
   box-shadow: 0 18px 42px rgba(49, 9, 20, .22);
   text-align: center;
}

.cm-distribution-map__center span {
   color: #dda0b3;
   font-size: 9px;
   font-weight: 800;
}

.cm-distribution-map__center b {
   margin-top: 4px;
   font-size: 13px;
}

.cm-distribution-map__node {
   position: absolute;
   z-index: 3;
   min-width: 78px;
   padding: 9px 12px;
   border: 1px solid var(--cm-line);
   border-radius: 999px;
   background: #fff;
   color: var(--cm-wine);
   box-shadow: 0 8px 20px rgba(73, 13, 31, .08);
   font-size: 9px;
   font-weight: 800;
   text-align: center;
}

.cm-distribution-map__node--1 {
   left: 8%;
   top: 17%
}

.cm-distribution-map__node--2 {
   right: 8%;
   top: 17%
}

.cm-distribution-map__node--3 {
   right: 4%;
   top: 52%
}

.cm-distribution-map__node--4 {
   right: 14%;
   bottom: 10%
}

.cm-distribution-map__node--5 {
   left: 14%;
   bottom: 10%
}

.cm-distribution-map__node--6 {
   left: 3%;
   top: 52%
}

.cm-pr {
   padding-top: 0;
   background: var(--cm-blush);
}

.cm-pr__box {
   display: grid;
   grid-template-columns: 1.1fr .9fr;
   gap: 40px;
   align-items: center;
   padding: clamp(32px, 5vw, 54px);
   border-radius: var(--cm-radius-lg);
   background: linear-gradient(145deg, #2a0711, #571128);
   color: #fff;
}

.cm-pr__box .cm-eyebrow {
   color: #dda0b3;
}

.cm-pr__box h2 {
   max-width: 670px;
   font-size: clamp(30px, 3.7vw, 46px);
}

.cm-pr__box p {
   margin-top: 18px;
   color: #d1bbc2;
}

.cm-pr__list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 9px;
}

.cm-pr__list span {
   padding: 15px;
   border: 1px solid rgba(255, 255, 255, .14);
   border-radius: 12px;
   background: rgba(255, 255, 255, .06);
   color: #ecdfe3;
   font-size: 11px;
   font-weight: 700;
}

/* =========================
   CONVERSION
========================= */
.cm-conversion {
   background: #fff;
}

.cm-conversion-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 15px;
}

.cm-conversion-grid article {
   min-height: 220px;
   padding: 24px;
   border-left: 3px solid var(--cm-wine);
   background: var(--cm-soft);
}

.cm-conversion-grid b {
   color: var(--cm-wine);
   font-size: 10px;
}

.cm-conversion-grid h3 {
   margin-top: 34px;
   color: var(--cm-deep);
   font-size: 18px;
}

.cm-conversion-grid p {
   margin: 9px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

/* =========================
   PROCESS
========================= */
.cm-process {
   position: relative;
   overflow: hidden;
   background: linear-gradient(145deg, #17050b, #310914 60%, #4b0f23);
   color: #fff;
}

.cm-process::before {
   content: "";
   position: absolute;
   inset: 0;
   opacity: .07;
   background: repeating-linear-gradient(120deg, transparent 0 70px, #fff 71px 72px);
}

.cm-process .container {
   position: relative;
   z-index: 1;
}

.cm-process .cm-eyebrow {
   color: #dda0b3;
}

.cm-process-grid {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 1px;
   background: rgba(255, 255, 255, .12);
   border: 1px solid rgba(255, 255, 255, .1);
}

.cm-process-grid article {
   min-height: 230px;
   padding: 24px;
   background: rgba(25, 5, 12, .88);
}

.cm-process-grid span {
   color: #dda0b3;
   font-size: 10px;
   font-weight: 800;
}

.cm-process-grid h3 {
   margin-top: 48px;
   font-size: 17px;
}

.cm-process-grid p {
   margin: 10px 0 0;
   color: #cdb7be;
   font-size: 11px;
}

/* =========================
   CALENDAR
========================= */
.cm-calendar {
   background: var(--cm-soft);
}

.cm-calendar-ui {
   overflow: hidden;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius-lg);
   background: #fff;
   box-shadow: var(--cm-shadow);
}

.cm-calendar-ui__head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 19px 22px;
   border-bottom: 1px solid var(--cm-line);
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .12em;
}

.cm-calendar-ui__head b {
   color: #708477;
   font-size: 8px;
}

.cm-calendar-ui__columns,
.cm-calendar-ui__row {
   display: grid;
   grid-template-columns: 1.5fr .9fr .9fr 1fr .7fr;
   gap: 12px;
   align-items: center;
   padding: 13px 20px;
}

.cm-calendar-ui__columns {
   background: var(--cm-soft);
   color: #9b8d92;
   font-size: 8px;
   font-weight: 800;
   letter-spacing: .08em;
}

.cm-calendar-ui__row {
   border-top: 1px solid var(--cm-line);
   color: var(--cm-muted);
   font-size: 10px;
}

.cm-calendar-ui__row b {
   color: var(--cm-deep);
   font-size: 10px;
}

.cm-calendar-ui__row em {
   justify-self: start;
   padding: 5px 8px;
   border-radius: 999px;
   background: #f6e8ed;
   color: var(--cm-wine);
   font-style: normal;
   font-size: 8px;
   font-weight: 800;
}

.cm-calendar-ui>small {
   display: block;
   padding: 12px 20px;
   color: #96898d;
   font-size: 8px;
}

/* =========================
   QUALITY
========================= */
.cm-quality {
   background: #fff;
}

.cm-quality-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 14px;
}

.cm-quality-grid article {
   min-height: 210px;
   padding: 24px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: #fff;
}

.cm-quality-grid span {
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
}

.cm-quality-grid h3 {
   margin-top: 35px;
   color: var(--cm-deep);
   font-size: 18px;
}

.cm-quality-grid p {
   margin: 9px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

.cm-human-ai {
   display: grid;
   grid-template-columns: 1fr auto 1fr;
   gap: 24px;
   align-items: center;
   margin-top: 24px;
   padding: 27px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: var(--cm-blush);
}

.cm-human-ai>div span,
.cm-human-ai>div b {
   display: block;
}

.cm-human-ai>div span {
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .12em;
}

.cm-human-ai>div b {
   margin-top: 7px;
   color: var(--cm-deep);
   font-size: 12px;
}

.cm-human-ai>i {
   color: var(--cm-wine);
   font: 800 28px "Plus Jakarta Sans", sans-serif;
   font-style: normal;
}

/* =========================
   MEASUREMENT
========================= */
.cm-measurement {
   background: var(--cm-blush);
}

.cm-measurement-ui {
   padding: 28px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius-lg);
   background: #fff;
   box-shadow: var(--cm-shadow);
}

.cm-measurement-ui__head {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 20px;
   padding-bottom: 15px;
   border-bottom: 1px solid var(--cm-line);
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .12em;
}

.cm-measurement-ui__head b {
   color: #708477;
   font-size: 8px;
}

.cm-measurement-ui__metric {
   margin-top: 22px;
}

.cm-measurement-ui__metric small {
   color: var(--cm-wine);
   font-size: 8px;
   font-weight: 800;
}

.cm-measurement-ui__metric strong {
   display: block;
   margin: 4px 0 9px;
   color: var(--cm-deep);
   font-size: 12px;
}

.cm-measurement-ui__metric i {
   display: block;
   position: relative;
   height: 7px;
   overflow: hidden;
   border-radius: 999px;
   background: #eadde2;
}

.cm-measurement-ui__metric i::after {
   content: "";
   position: absolute;
   inset: 0 auto 0 0;
   width: var(--progress);
   border-radius: inherit;
   background: linear-gradient(90deg, var(--cm-wine), var(--cm-wine-2));
}

.cm-measurement-ui__note {
   display: block;
   margin-top: 18px;
   color: #95888d;
   font-size: 8px;
}

.cm-metric-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 27px;
}

.cm-metric-tags span {
   padding: 8px 11px;
   border: 1px solid #e4cfd6;
   border-radius: 999px;
   background: #fff;
   color: #65565b;
   font-size: 10px;
   font-weight: 700;
}

/* =========================
   AUDIT
========================= */
.cm-audit {
   background: #fff;
}

.cm-audit__panel {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 44px;
   align-items: center;
   padding: clamp(34px, 5vw, 58px);
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius-lg);
   background: linear-gradient(145deg, #fff8fa, #fff);
   box-shadow: var(--cm-shadow);
}

.cm-audit__copy h2 {
   max-width: 680px;
   color: var(--cm-deep);
   font-size: clamp(30px, 3.6vw, 36px);
}

.cm-audit__copy p {
   margin-top: 18px;
   color: var(--cm-muted);
}

.cm-audit__copy .cm-btn {
   margin-top: 8px;
}

.cm-audit__items {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
}

.cm-audit__items span {
   padding: 14px;
   border: 1px solid var(--cm-line);
   border-radius: 11px;
   background: #fff;
   color: #5f5056;
   font-size: 11px;
   font-weight: 700;
}

.cm-audit__items span::before {
   content: "✓";
   margin-right: 8px;
   color: var(--cm-wine);
   font-weight: 800;
}

/* =========================
   WHY + PROOF
========================= */
.cm-why {
   background: var(--cm-soft);
}

.cm-why-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 14px;
}

.cm-why-grid article {
   min-height: 220px;
   padding: 24px;
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius);
   background: #fff;
}

.cm-why-grid b {
   color: var(--cm-wine);
   font-size: 9px;
}

.cm-why-grid h3 {
   margin-top: 36px;
   color: var(--cm-deep);
   font-size: 18px;
}

.cm-why-grid p {
   margin: 9px 0 0;
   color: var(--cm-muted);
   font-size: 12px;
}

.cm-proof {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   margin-top: 44px;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, .1);
   border-radius: var(--cm-radius);
   background: var(--cm-deep);
}

.cm-proof>div {
   min-height: 170px;
   padding: 22px;
   border-right: 1px solid rgba(255, 255, 255, .11);
}

.cm-proof>div:last-child {
   border-right: 0;
}

.cm-proof small {
   display: block;
   color: #bd96a2;
   font-size: 8px;
   font-weight: 800;
   letter-spacing: .08em;
}

.cm-proof strong {
   display: block;
   margin-top: 22px;
   color: #efb9c9;
   font: 800 27px "Plus Jakarta Sans", sans-serif;
}

.cm-proof span {
   display: block;
   margin-top: 4px;
   color: #ccb7be;
   font-size: 10px;
}

.cm-proof__note {
   margin: 12px 0 0;
   color: #8d7f84;
   font-size: 10px;
}

/* =========================
   FAQ
========================= */
.cm-faq {
   background: #fff;
}

.cm-faq__intro {
   position: sticky;
   top: 112px;
}

.cm-faq__intro h2 {
   color: var(--cm-deep);
   font-size: clamp(31px, 3.7vw, 44px);
}

.cm-faq__intro p {
   margin-top: 18px;
   color: var(--cm-muted);
}

.cm-faq__item {
   border: 0;
   border-bottom: 1px solid var(--cm-line);
   border-radius: 0 !important;
   background: transparent;
}

.cm-faq__button {
   padding: 21px 0;
   background: transparent !important;
   color: var(--cm-deep) !important;
   box-shadow: none !important;
   font-family: "Plus Jakarta Sans", sans-serif;
   font-size: 15px;
   font-weight: 700;
}

.cm-faq__button:not(.collapsed) {
   color: var(--cm-wine) !important;
}

.cm-faq__button::after {
   width: 18px;
   height: 18px;
   background-size: 18px;
}

.cm-faq__body {
   padding: 0 0 22px;
   color: var(--cm-muted);
   font-size: 13px;
   line-height: 1.8;
}

/* =========================
   PROPOSAL / FORM
========================= */
.cm-proposal {
   padding: clamp(76px, 8vw, 112px) 0;
   background: linear-gradient(135deg, #fff5f8, #f7efeb);
}

.cm-proposal__box {
   display: grid;
   grid-template-columns: .9fr 1.1fr;
   gap: clamp(35px, 6vw, 70px);
   align-items: center;
}

.cm-proposal__copy h2 {
   color: var(--cm-deep);
   font-size: clamp(35px, 4.6vw, 56px);
}

.cm-proposal__copy p {
   margin-top: 20px;
   color: var(--cm-muted);
}

.cm-proposal__contact {
   display: grid;
   gap: 12px;
   margin-top: 28px;
}

.cm-proposal__contact a {
   display: block;
   width: max-content;
}

.cm-proposal__contact small,
.cm-proposal__contact b {
   display: block;
}

.cm-proposal__contact small {
   color: var(--cm-wine);
   font-size: 8px;
   font-weight: 800;
   letter-spacing: .12em;
}

.cm-proposal__contact b {
   margin-top: 3px;
   color: var(--cm-deep);
   font-size: 14px;
}

.cm-lead-form {
   padding: clamp(28px, 4vw, 42px);
   border: 1px solid var(--cm-line);
   border-radius: var(--cm-radius-lg);
   background: #fff;
   box-shadow: var(--cm-shadow);
}

.cm-lead-form>span {
   color: var(--cm-wine);
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .13em;
}

.cm-lead-form>h2 {
   margin: 7px 0 22px;
   color: var(--cm-deep);
   font-size: 27px;
}

.cm-lead-form label,
.cm-modal__form label {
   display: block;
   color: #5c4d53;
   font-size: 10px;
   font-weight: 800;
}

.cm-lead-form input,
.cm-lead-form select,
.cm-lead-form textarea,
.cm-modal__form input,
.cm-modal__form select,
.cm-modal__form textarea {
   width: 100%;
   margin-top: 6px;
   border: 1px solid var(--cm-line);
   border-radius: 9px;
   padding: 11px 12px;
   background: #fff;
   color: var(--cm-ink);
   font-size: 12px;
   outline: none;
   transition: border-color .2s ease, box-shadow .2s ease;
}

.cm-lead-form input:focus,
.cm-lead-form select:focus,
.cm-lead-form textarea:focus,
.cm-modal__form input:focus,
.cm-modal__form select:focus,
.cm-modal__form textarea:focus {
   border-color: #ba7187;
   box-shadow: 0 0 0 3px rgba(122, 22, 50, .08);
}

.cm-lead-form textarea,
.cm-modal__form textarea {
   resize: vertical;
   min-height: 105px;
}

.cm-lead-form .cm-btn,
.cm-modal__form .cm-btn {
   width: 100%;
   margin-top: 20px;
}

.cm-lead-form>small,
.cm-modal__form>small {
   display: block;
   margin-top: 10px;
   color: #998b90;
   font-size: 9px;
   text-align: center;
}

.cm-form-status {
   min-height: 22px;
   margin-top: 8px;
   color: var(--cm-wine);
   font-size: 10px;
   text-align: center;
}

/* =========================
   FOOTER
========================= */
.cm-footer {
   position: relative;
   overflow: hidden;
   padding: 0 0 26px;
   background: var(--cm-deep-2);
   color: #fff;
}

.cm-footer__cta {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 30px;
   padding: 42px 0;
   border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.cm-footer__cta span {
   color: #dda0b3;
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .13em;
}

.cm-footer__cta h2 {
   max-width: 720px;
   margin-top: 8px;
   font-size: clamp(24px, 3.1vw, 38px);
}

.cm-footer__grid {
   display: grid;
   grid-template-columns: 1.7fr repeat(3, 1fr);
   gap: 38px;
   padding: 46px 0;
}

.cm-footer__brand p {
   max-width: 390px;
   margin-top: 18px;
   color: #bfaab1;
   font-size: 12px;
}

.cm-footer__logo {
   position: relative;
   display: block;
   width: 225px;
   height: 60px;
   overflow: hidden;
   filter: brightness(0) invert(1);
   opacity: .94;
}

.cm-footer__logo img {
   position: absolute;
   width: 280px;
   max-width: none;
   left: -25px;
   top: -42px;
}

.cm-footer__contacts {
   display: grid;
   gap: 11px;
   margin-top: 22px;
}

.cm-footer__contacts small,
.cm-footer__contacts b {
   display: block;
}

.cm-footer__contacts small {
   color: #a98c95;
   font-size: 8px;
}

.cm-footer__contacts b {
   color: #fff;
   font-size: 11px;
}

.cm-footer__column h3 {
   margin-bottom: 17px;
   color: #dda0b3;
   font-size: 10px;
   letter-spacing: .1em;
}

.cm-footer__column a,
.cm-footer__text-button {
   display: block;
   padding: 5px 0;
   border: 0;
   background: transparent;
   color: #bfaab1;
   font-size: 11px;
   text-align: left;
}

.cm-footer__column a:hover,
.cm-footer__text-button:hover {
   color: #fff;
}

.cm-footer__info {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   border-top: 1px solid rgba(255, 255, 255, .1);
   border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.cm-footer__info>div {
   padding: 22px 0;
   border-right: 1px solid rgba(255, 255, 255, .1);
}

.cm-footer__info>div:not(:first-child) {
   padding-left: 26px;
}

.cm-footer__info>div:last-child {
   border-right: 0;
}

.cm-footer__info span {
   color: #9d8089;
   font-size: 8px;
   font-weight: 800;
   letter-spacing: .1em;
}

.cm-footer__info p {
   margin: 5px 0 0;
   color: #c4b0b6;
   font-size: 10px;
}

.cm-footer__bottom {
   display: flex;
   justify-content: space-between;
   gap: 20px;
   padding-top: 22px;
   color: #917b82;
   font-size: 9px;
}

.cm-footer__bottom div {
   display: flex;
   flex-wrap: wrap;
   gap: 18px;
}

.cm-footer__bottom a:hover {
   color: #fff;
}

/* =========================
   FLOATING CONTACTS
========================= */
.cm-floating {
   position: fixed;
   right: 18px;
   bottom: 18px;
   z-index: 90;
   display: flex;
   align-items: center;
   gap: 8px;
}

.cm-floating__audit,
.cm-floating__whatsapp,
.cm-floating__call {
   min-width: 48px;
   height: 48px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border: 0;
   border-radius: 50%;
   box-shadow: 0 10px 28px rgba(34, 5, 14, .2);
   font-size: 11px;
   font-weight: 800;
}

.cm-floating__audit {
   width: auto;
   gap: 8px;
   padding: 0 16px;
   border-radius: 999px;
   background: var(--cm-wine);
   color: #fff;
}

.cm-floating__whatsapp {
   background: #1f9d58;
   color: #fff;
}

.cm-floating__call {
   background: var(--cm-deep);
   color: #fff;
}

/* =========================
   MODAL
========================= */
.cm-modal {
   position: fixed;
   inset: 0;
   z-index: 1000;
   visibility: hidden;
   opacity: 0;
   transition: opacity .2s ease, visibility .2s ease;
}

.cm-modal.is-open {
   visibility: visible;
   opacity: 1;
}

.cm-modal__overlay {
   position: absolute;
   inset: 0;
   background: rgba(20, 4, 9, .75);
   backdrop-filter: blur(4px);
}

.cm-modal__panel {
   position: absolute;
   left: 50%;
   top: 50%;
   width: min(920px, calc(100vw - 30px));
   max-height: calc(100vh - 30px);
   display: grid;
   grid-template-columns: .9fr 1.1fr;
   overflow: auto;
   transform: translate(-50%, -48%);
   border-radius: var(--cm-radius-lg);
   background: #fff;
   box-shadow: 0 30px 90px rgba(0, 0, 0, .3);
   transition: transform .2s ease;
}

.cm-modal.is-open .cm-modal__panel {
   transform: translate(-50%, -50%);
}

.cm-modal__close {
   position: absolute;
   right: 14px;
   top: 12px;
   z-index: 3;
   width: 38px;
   height: 38px;
   border: 0;
   border-radius: 50%;
   background: rgba(255, 255, 255, .9);
   color: var(--cm-deep);
   font-size: 22px;
}

.cm-modal__intro {
   padding: clamp(32px, 5vw, 50px);
   background: linear-gradient(145deg, #2a0711, #60152d);
   color: #fff;
}

.cm-modal__intro>span {
   color: #dda0b3;
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .13em;
}

.cm-modal__intro h2 {
   margin-top: 12px;
   font-size: clamp(27px, 3vw, 39px);
}

.cm-modal__intro p {
   margin-top: 17px;
   color: #d4c0c6;
   font-size: 12px;
}

.cm-modal__benefits {
   display: grid;
   gap: 10px;
   margin-top: 27px;
}

.cm-modal__benefits b {
   color: #f0e3e7;
   font-size: 11px;
}

.cm-modal__form {
   padding: clamp(30px, 4vw, 45px);
}

/* =========================
   REVEAL
========================= */
[data-reveal] {
   opacity: 0;
   transform: translateY(22px);
   transition: opacity .55s ease, transform .55s ease;
}

[data-reveal].is-visible {
   opacity: 1;
   transform: none;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1199.98px) {
   .cm-header__brand {
      width: 190px;
   }

   .cm-nav {
      gap: 14px;
   }

   .cm-nav__link {
      font-size: 12px;
   }

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

   .cm-service-card--featured {
      grid-column: span 1;
   }

   .cm-process-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
   }

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

   .cm-proof>div {
      border-bottom: 1px solid rgba(255, 255, 255, .11);
   }
}

@media (max-width: 991.98px) {
   html {
      scroll-padding-top: 78px;
   }

   .cm-topbar__message {
      display: none;
   }

   .cm-topbar__inner {
      justify-content: center;
   }

   .cm-header {
      height: 72px;
   }

   .cm-header__brand {
      width: 185px;
      height: 56px;
   }

   .cm-header__brand img {
      width: 250px;
      left: -22px;
      top: -38px;
   }

   .cm-header__actions .cm-btn {
      display: none;
   }

   .cm-header__menu {
      display: block;
   }

   .cm-nav {
      position: absolute;
      left: 12px;
      right: 12px;
      top: calc(100% + 8px);
      display: none;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 13px;
      border: 1px solid var(--cm-line);
      border-radius: 14px;
      background: #fff;
      box-shadow: var(--cm-shadow);
   }

   .cm-nav.is-open {
      display: flex;
   }

   .cm-nav__link {
      padding: 11px 10px;
      font-size: 13px;
   }

   .cm-nav__link::after {
      display: none;
   }

   .cm-section-heading {
      grid-template-columns: 1fr;
      gap: 18px;
   }

   .cm-hero__proof {
      max-width: none;
   }

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

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

   .cm-search-content__grid {
      grid-template-columns: 1fr;
   }

   .cm-search-panel {
      min-height: 0;
   }

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

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

   .cm-industry-grid article:nth-child(n) {
      grid-column: span 1;
   }

   .cm-distribution-map {
      min-height: 360px;
   }

   .cm-pr__box {
      grid-template-columns: 1fr;
   }

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

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

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

   .cm-audit__panel {
      grid-template-columns: 1fr;
   }

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

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

   .cm-faq__intro {
      position: static;
   }

   .cm-proposal__box {
      grid-template-columns: 1fr;
   }

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

   .cm-modal__panel {
      grid-template-columns: 1fr;
   }

   .cm-modal__intro {
      padding-bottom: 30px;
   }
}

@media (max-width: 767.98px) {
   .cm-section {
      padding: 68px 0;
   }

   .cm-topbar__links {
      justify-content: center;
      gap: 12px;
      font-size: 10px;
   }

   .cm-hero {
      padding-top: 42px;
   }

   .cm-hero__title {
      font-size: clamp(38px, 11vw, 54px);
   }

   .cm-hero__actions {
      align-items: stretch;
      flex-direction: column;
      gap: 14px;
   }

   .cm-hero__actions .cm-btn {
      width: 100%;
   }

   .cm-hero__proof {
      grid-template-columns: 1fr;
   }

   .cm-hero-visual__story {
      grid-template-columns: 1fr;
   }

   .cm-hero-visual__score {
      min-height: 80px;
   }

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

   .cm-value-grid {
      grid-template-columns: 1fr;
   }

   .cm-service-grid {
      grid-template-columns: 1fr;
   }

   .cm-strategy-board__matrix {
      grid-template-columns: 1fr;
   }

   .cm-format-grid {
      grid-template-columns: 1fr;
   }

   .cm-industry-grid {
      grid-template-columns: 1fr;
   }

   .cm-distribution-map {
      min-height: 430px;
   }

   .cm-distribution-map__node--1 {
      left: 8%;
      top: 12%
   }

   .cm-distribution-map__node--2 {
      right: 8%;
      top: 12%
   }

   .cm-distribution-map__node--3 {
      right: 4%;
      top: 48%
   }

   .cm-distribution-map__node--4 {
      right: 12%;
      bottom: 9%
   }

   .cm-distribution-map__node--5 {
      left: 12%;
      bottom: 9%
   }

   .cm-distribution-map__node--6 {
      left: 4%;
      top: 48%
   }

   .cm-conversion-grid {
      grid-template-columns: 1fr;
   }

   .cm-quality-grid {
      grid-template-columns: 1fr;
   }

   .cm-human-ai {
      grid-template-columns: 1fr;
      text-align: left;
   }

   .cm-human-ai>i {
      transform: rotate(90deg);
   }

   .cm-calendar-ui {
      overflow-x: auto;
   }

   .cm-calendar-ui__head,
   .cm-calendar-ui__columns,
   .cm-calendar-ui__row,
   .cm-calendar-ui>small {
      min-width: 700px;
   }

   .cm-audit__items {
      grid-template-columns: 1fr;
   }

   .cm-why-grid {
      grid-template-columns: 1fr;
   }

   .cm-proof {
      grid-template-columns: 1fr;
   }

   .cm-proof>div {
      min-height: 140px;
      border-right: 0;
   }

   .cm-footer__cta {
      align-items: stretch;
      flex-direction: column;
   }

   .cm-footer__cta .cm-btn {
      width: 100%;
   }

   .cm-footer__grid {
      grid-template-columns: 1fr;
   }

   .cm-footer__info {
      grid-template-columns: 1fr;
   }

   .cm-footer__info>div {
      padding: 16px 0 !important;
      border-right: 0;
      border-bottom: 1px solid rgba(255, 255, 255, .1);
   }

   .cm-footer__info>div:last-child {
      border-bottom: 0;
   }

   .cm-footer__bottom {
      flex-direction: column;
   }

   .cm-floating {
      right: 10px;
      bottom: 10px;
   }

   .cm-floating__audit b {
      display: none;
   }

   .cm-floating__audit {
      width: 48px;
      padding: 0;
   }
}

@media (max-width: 575.98px) {
   .cm-system-strip__grid {
      justify-content: flex-start;
      gap: 8px;
      padding-block: 14px;
   }

   .cm-system-strip__grid span {
      padding: 7px 9px;
      border-radius: 999px;
      background: var(--cm-soft);
      font-size: 8px;
   }

   .cm-system-strip__grid span::after {
      display: none;
   }

   .cm-loop {
      grid-template-columns: 1fr;
   }

   .cm-funnel-grid {
      grid-template-columns: 1fr;
   }

   .cm-process-grid {
      grid-template-columns: 1fr;
   }

   .cm-pr__list {
      grid-template-columns: 1fr;
   }

   .cm-distribution-map {
      min-height: 470px;
   }

   .cm-distribution-map__center {
      width: 125px;
      height: 125px;
   }

   .cm-distribution-map__node {
      min-width: 68px;
      padding: 8px 9px;
      font-size: 8px;
   }

   .cm-modal__panel {
      max-height: calc(100vh - 14px);
      width: calc(100vw - 14px);
      border-radius: 18px;
   }

   .cm-modal__form {
      padding: 24px 18px;
   }
}

@media (prefers-reduced-motion: reduce) {
   html {
      scroll-behavior: auto;
   }

   *,
   *::before,
   *::after {
      scroll-behavior: auto !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
   }

   [data-reveal] {
      opacity: 1 !important;
      transform: none !important;
   }
}