:root {
  --cms-orange: #ec6b3c;
  --cms-orange-soft: #f28761;
  --cms-black: #211713;
  --cms-ink: #34251f;
  --cms-cream: #fffaf4;
  --cms-beige: #ead9c8;
  --cms-blush: #f4dfd7;
  --cms-peach: #f8e9dc;
  --cms-muted: rgba(52, 37, 31, .64);
  --cms-line: rgba(52, 37, 31, .13);
}

.cmsite,
.cmsite * { box-sizing: border-box; }

html { scroll-behavior: smooth; }

.cmsite {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: clip;
  color: var(--cms-cream);
  background: var(--cms-black);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.cmsite a { color: inherit; text-decoration: none; }
.cmsite button { font: inherit; }
.cmsite svg { display: block; }

.cmsite__noise {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .18;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E");
}

.cmsite__container {
  position: relative;
  width: min(calc(100% - 48px), 1240px);
  margin-inline: auto;
}

.cmsite__progress {
  position: fixed;
  z-index: 200;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  pointer-events: none;
}

.cmsite__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--cms-orange);
  box-shadow: 0 0 18px rgba(255, 91, 26, .6);
  transform: scaleX(0);
  transform-origin: left center;
}

.cmsite__cursor {
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255, 91, 26, .08), transparent 68%);
  transform: translate3d(-50%, -50%, 0);
  transition: opacity .25s ease;
}

.cmsite__nav-wrap {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid var(--cms-line);
  background: rgba(11, 10, 9, .72);
  backdrop-filter: blur(18px);
}

.cmsite__nav {
  width: min(calc(100% - 48px), 1240px);
  min-height: 88px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.cmsite__brand { display: inline-flex; align-items: center; gap: 12px; }

.cmsite__brand-mark {
  width: 41px;
  height: 41px;
  display: grid;
  place-items: center;
  border-radius: 12px 4px 12px 4px;
  color: var(--cms-black);
  background: var(--cms-orange);
  box-shadow: 0 12px 34px rgba(255, 91, 26, .22);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: -.05em;
  transform: rotate(-2deg);
}

.cmsite__brand > span:last-child { display: grid; line-height: 1.15; }
.cmsite__brand strong { font-size: 14px; letter-spacing: -.02em; }
.cmsite__brand small { margin-top: 4px; color: var(--cms-muted); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.cmsite__nav-links { display: flex; align-items: center; gap: 30px; }
.cmsite__nav-links a { position: relative; color: rgba(245, 238, 228, .68); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cmsite__nav-links a::after { content: ""; position: absolute; right: 0; bottom: -9px; left: 0; height: 1px; background: var(--cms-orange); transform: scaleX(0); transition: transform .2s ease; }
.cmsite__nav-links a:hover::after { transform: scaleX(1); }

.cmsite__nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 0 7px 0 16px;
  border: 1px solid rgba(255, 91, 26, .55);
  border-radius: 7px 17px 7px 17px;
  color: var(--cms-black) !important;
  background: var(--cms-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cmsite__nav-cta span { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid rgba(11, 10, 9, .2); border-radius: 50%; }

.cmsite__hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: 142px 0 70px;
  background:
    radial-gradient(circle at 75% 44%, rgba(255, 91, 26, .16), transparent 29%),
    linear-gradient(125deg, #0a0908, #12100e 54%, #080706);
}

.cmsite__ambient { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(100px); }
.cmsite__ambient--hero { top: -200px; left: -160px; width: 560px; height: 560px; background: rgba(255, 91, 26, .1); }
.cmsite__hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(470px, .92fr); align-items: center; gap: clamp(48px, 6vw, 100px); }
.cmsite__hero-copy { position: relative; z-index: 3; max-width: 720px; }

.cmsite__eyebrow,
.cmsite__kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: var(--cms-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.cmsite__eyebrow span { padding: 7px 11px; border: 1px solid rgba(255, 91, 26, .35); border-radius: 20px; color: var(--cms-cream); letter-spacing: .12em; }
.cmsite__hero h1 { max-width: 760px; margin: 0; font-size: clamp(56px, 6.3vw, 92px); font-weight: 760; line-height: .93; letter-spacing: -.072em; text-wrap: balance; }
.cmsite h1 em,
.cmsite h2 em { color: var(--cms-orange); font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; }
.cmsite__hero h1 em { position: relative; display: inline-block; }
.cmsite__hero h1 em::after { content: ""; position: absolute; right: 2px; bottom: -10px; left: 5px; height: 6px; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 360 16' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 11C93 1 235 18 358 5' fill='none' stroke='%23ff5b1a' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.cmsite__hero-intro { max-width: 670px; margin: 34px 0 28px; color: rgba(245, 238, 228, .7); font-size: clamp(14px, 1.1vw, 17px); line-height: 1.7; }

.cmsite__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  min-height: 60px;
  padding: 9px 10px 9px 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 91, 26, .62);
  border-radius: 8px 23px 8px 23px;
  color: var(--cms-black) !important;
  background: var(--cms-orange);
  box-shadow: 0 16px 46px rgba(255, 91, 26, .2);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.cmsite__button::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.34), transparent 65%); transform: translateX(-120%); transition: transform .55s ease; }
.cmsite__button span,
.cmsite__button svg { position: relative; z-index: 1; }
.cmsite__button svg { width: 40px; height: 40px; padding: 10px; border: 1px solid rgba(11,10,9,.18); border-radius: 50%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.cmsite__button:hover { transform: translateY(-3px); background: var(--cms-orange-soft); box-shadow: 0 22px 58px rgba(255, 91, 26, .3); }
.cmsite__button:hover::before { transform: translateX(120%); }
.cmsite__button:hover svg { transform: translateX(3px); }
.cmsite__button:focus-visible,
.cmsite button:focus-visible,
.cmsite a:focus-visible { outline: 3px solid var(--cms-cream); outline-offset: 4px; }
.cmsite__button-note { max-width: 440px; margin: 14px 0 0; color: rgba(245, 238, 228, .45); font-size: 10px; }
.cmsite__signature { display: flex; align-items: center; gap: 13px; margin-top: 34px; color: var(--cms-beige); font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-style: italic; }
.cmsite__signature i { width: 44px; height: 1px; background: var(--cms-orange); }

.cmsite__strategy-stage { position: relative; width: 100%; aspect-ratio: 1; max-width: 560px; margin-left: auto; border: 1px solid var(--cms-line); border-radius: 50%; perspective: 900px; }
.cmsite__stage-grid { position: absolute; inset: 13%; border-radius: 50%; opacity: .18; background-image: linear-gradient(rgba(245,238,228,.28) 1px, transparent 1px), linear-gradient(90deg, rgba(245,238,228,.28) 1px, transparent 1px); background-size: 32px 32px; mask-image: radial-gradient(circle, #000, transparent 72%); animation: cms-grid 18s linear infinite; }
.cmsite__connections { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(245,238,228,.18); stroke-width: 1; stroke-dasharray: 8 8; animation: cms-dash 22s linear infinite; }
.cmsite__connections circle:nth-child(2) { stroke: rgba(255,91,26,.34); }
.cmsite__stage-core { position: absolute; z-index: 4; top: 50%; left: 50%; width: 176px; height: 176px; display: grid; place-content: center; text-align: center; border: 1px solid rgba(255,91,26,.55); border-radius: 50%; color: var(--cms-black); background: var(--cms-orange); box-shadow: 0 0 0 18px rgba(255,91,26,.06), 0 26px 80px rgba(0,0,0,.35); transform: translate(-50%,-50%); will-change: transform; }
.cmsite__stage-core small,
.cmsite__stage-core span { font-size: 7px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.cmsite__stage-core strong { margin: 1px 0; font-family: Georgia, serif; font-size: 30px; font-style: italic; font-weight: 400; }
.cmsite__stage-node { position: absolute; z-index: 5; display: flex; align-items: center; gap: 8px; padding: 9px 13px 9px 9px; border: 1px solid rgba(245,238,228,.18); border-radius: 23px; background: rgba(18,16,14,.86); box-shadow: 0 16px 40px rgba(0,0,0,.25); backdrop-filter: blur(12px); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; will-change: transform; }
.cmsite__stage-node i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--cms-black); background: var(--cms-beige); font-size: 7px; font-style: normal; }
.cmsite__stage-node--one { top: 7%; left: 42%; }
.cmsite__stage-node--two { top: 27%; right: -3%; }
.cmsite__stage-node--three { bottom: 15%; right: 1%; }
.cmsite__stage-node--four { bottom: 11%; left: 4%; }
.cmsite__stage-stamp { position: absolute; z-index: 6; top: 26%; left: -5%; width: 132px; height: 132px; display: grid; place-content: center; text-align: center; border-radius: 50%; color: var(--cms-black); background: var(--cms-cream); box-shadow: 0 20px 55px rgba(0,0,0,.28); transform: rotate(-9deg); will-change: transform; }
.cmsite__stage-stamp::before { content: ""; position: absolute; inset: 8px; border: 1px dashed rgba(11,10,9,.32); border-radius: 50%; animation: cms-spin 24s linear infinite; }
.cmsite__stage-stamp span { font-family: Georgia, serif; font-size: 18px; font-style: italic; }
.cmsite__stage-stamp small { font-size: 6px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.cmsite__ticker { overflow: hidden; border-block: 1px solid rgba(11,10,9,.2); color: var(--cms-black); background: var(--cms-orange); }
.cmsite__ticker div { width: max-content; display: flex; align-items: center; gap: 30px; padding: 14px 0; animation: cms-ticker 28s linear infinite; }
.cmsite__ticker span { font-size: 10px; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; }
.cmsite__ticker b { font-size: 11px; }

.cmsite__section { position: relative; padding: clamp(100px, 11vw, 170px) 0; }
.cmsite__section-head { max-width: 860px; margin-bottom: 64px; }
.cmsite__kicker span { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid rgba(255,91,26,.4); border-radius: 50%; color: var(--cms-cream); font-size: 7px; letter-spacing: 0; }
.cmsite__section h2,
.cmsite__final h2 { margin: 0; font-size: clamp(46px, 5.7vw, 78px); font-weight: 720; line-height: .98; letter-spacing: -.062em; text-wrap: balance; }
.cmsite__section-head > p:last-child { max-width: 620px; margin: 25px 0 0; color: var(--cms-muted); }
.cmsite__section-head--split { max-width: none; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); align-items: end; gap: 70px; }
.cmsite__section-head--split > p { margin: 0 0 6px; color: var(--cms-muted); }

.cmsite__recognition { color: var(--cms-ink); background: var(--cms-cream); }
.cmsite__recognition .cmsite__kicker span { color: var(--cms-ink); }
.cmsite__questions { border-top: 1px solid rgba(11,10,9,.18); }
.cmsite__questions article { display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 20px; min-height: 105px; border-bottom: 1px solid rgba(11,10,9,.15); transition: padding .25s ease, background .25s ease; }
.cmsite__questions article:hover { padding-inline: 18px; background: rgba(255,91,26,.06); }
.cmsite__questions article span { color: var(--cms-orange); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.cmsite__questions article p { margin: 0; font-size: clamp(20px, 2.2vw, 31px); font-weight: 620; letter-spacing: -.03em; }
.cmsite__big-question { margin-top: 90px; padding: 52px clamp(28px,5vw,72px); border-radius: 10px 48px 10px 48px; color: var(--cms-cream); background: var(--cms-ink); }
.cmsite__big-question p { max-width: 700px; margin: 0 0 24px; color: var(--cms-muted); }
.cmsite__big-question strong { display: block; max-width: 980px; color: var(--cms-orange); font-family: Georgia, serif; font-size: clamp(34px,4.8vw,66px); font-style: italic; font-weight: 400; line-height: 1.05; letter-spacing: -.045em; }

.cmsite__pains { background: #0d0c0a; }
.cmsite__pain-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--cms-line); border-left: 1px solid var(--cms-line); }
.cmsite__pain-card { position: relative; min-height: 330px; padding: clamp(28px,4vw,52px); overflow: hidden; border-right: 1px solid var(--cms-line); border-bottom: 1px solid var(--cms-line); transition: background .3s ease; }
.cmsite__pain-card::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 190px; height: 190px; border: 1px solid rgba(255,91,26,.25); border-radius: 50%; transform: scale(.7); transition: transform .4s ease, background .4s ease; }
.cmsite__pain-card:hover { background: #15120f; }
.cmsite__pain-card:hover::after { background: rgba(255,91,26,.08); transform: scale(1); }
.cmsite__pain-card > span { color: var(--cms-orange); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.cmsite__pain-card h3 { max-width: 520px; margin: 55px 0 20px; font-size: clamp(22px,2.4vw,34px); line-height: 1.12; letter-spacing: -.045em; }
.cmsite__pain-card p { max-width: 470px; margin: 0; color: var(--cms-muted); }

.cmsite__different { color: var(--cms-ink); background: var(--cms-beige); }
.cmsite__different .cmsite__kicker span { color: var(--cms-ink); }
.cmsite__different-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 80px; }
.cmsite__different-copy { max-width: 650px; padding-top: 52px; }
.cmsite__different-copy p { margin: 0 0 22px; font-size: 17px; line-height: 1.75; }
.cmsite__different-copy p:first-child { font-size: 26px; font-weight: 750; letter-spacing: -.03em; }
.cmsite__different-grid blockquote { grid-column: 1/-1; margin: 70px 0 0; padding: 60px 0 0; border-top: 1px solid rgba(11,10,9,.25); }
.cmsite__different-grid blockquote span,
.cmsite__different-grid blockquote strong { display: block; font-size: clamp(42px,6.2vw,84px); line-height: .98; letter-spacing: -.065em; }
.cmsite__different-grid blockquote strong { color: var(--cms-orange); font-family: Georgia,serif; font-style: italic; font-weight: 400; text-align: right; }

.cmsite__process { background: var(--cms-black); }
.cmsite__process-list { border-top: 1px solid var(--cms-line); }
.cmsite__process-list article { display: grid; grid-template-columns: 90px 1fr 48px; align-items: center; gap: 34px; min-height: 185px; padding: 28px 0; border-bottom: 1px solid var(--cms-line); transition: padding .25s ease, background .25s ease; }
.cmsite__process-list article:hover { padding-inline: 22px; background: rgba(255,255,255,.025); }
.cmsite__step { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(255,91,26,.42); border-radius: 50%; color: var(--cms-orange); font-size: 10px; font-weight: 900; }
.cmsite__process-list small { color: var(--cms-orange); font-size: 8px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.cmsite__process-list h3 { margin: 8px 0; font-size: clamp(24px,2.5vw,36px); line-height: 1.05; letter-spacing: -.045em; }
.cmsite__process-list p { max-width: 720px; margin: 0; color: var(--cms-muted); }
.cmsite__process-list i { color: rgba(245,238,228,.24); font-family: Georgia,serif; font-size: 34px; font-style: normal; transition: color .2s ease, transform .2s ease; }
.cmsite__process-list article:hover i { color: var(--cms-orange); transform: rotate(-8deg); }
.cmsite__process-close { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin: 70px 0 36px; }
.cmsite__process-close p { margin: 0; color: var(--cms-muted); }
.cmsite__process-close strong { max-width: 650px; color: var(--cms-orange); font-family: Georgia,serif; font-size: clamp(30px,4vw,52px); font-style: italic; font-weight: 400; line-height: 1.06; text-align: right; }
.cmsite__button--light { color: var(--cms-black) !important; background: var(--cms-cream); border-color: var(--cms-cream); }

.cmsite__fit { color: var(--cms-ink); background: var(--cms-cream); }
.cmsite__fit .cmsite__kicker span { color: var(--cms-ink); }
.cmsite__fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cmsite__fit-card { position: relative; min-height: 470px; padding: clamp(34px,4.5vw,64px); overflow: hidden; border-radius: 9px 50px 9px 50px; }
.cmsite__fit-card > span { display: block; max-width: 430px; font-size: 22px; font-weight: 740; line-height: 1.2; letter-spacing: -.035em; }
.cmsite__fit-card ul { margin: 42px 0 0; padding: 0; list-style: none; }
.cmsite__fit-card li { position: relative; margin: 0 0 15px; padding-left: 25px; }
.cmsite__fit-card li::before { position: absolute; left: 0; }
.cmsite__fit-card b { position: absolute; right: 30px; bottom: 20px; opacity: .14; font-size: 100px; }
.cmsite__fit-card--no { color: var(--cms-cream); background: var(--cms-ink); }
.cmsite__fit-card--no li { color: rgba(245,238,228,.68); }
.cmsite__fit-card--no li::before { content: "×"; color: var(--cms-orange); }
.cmsite__fit-card--yes { background: var(--cms-orange); }
.cmsite__fit-card--yes li::before { content: "✓"; font-weight: 900; }
.cmsite__fit-close { max-width: 980px; margin: 100px auto 0; font-size: clamp(40px,5.7vw,74px); font-weight: 720; line-height: 1.02; letter-spacing: -.06em; text-align: center; }
.cmsite__fit-close em { display: block; color: var(--cms-orange); font-family: Georgia,serif; font-weight: 400; }

.cmsite__cases { background: #0e0c0b; }
.cmsite__case-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.cmsite__case-card { padding: 36px; border: 1px solid var(--cms-line); border-radius: 8px 36px 8px 36px; background: rgba(255,255,255,.02); }
.cmsite__case-card > span { color: var(--cms-orange); font-size: 8px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.cmsite__case-card h3 { margin: 24px 0 36px; font-size: 30px; line-height: 1.05; letter-spacing: -.045em; }
.cmsite__case-card div { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--cms-line); }
.cmsite__case-card small { color: var(--cms-orange); font-size: 7px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.cmsite__case-card p { margin: 8px 0 0; color: var(--cms-muted); font-size: 13px; }
.cmsite__case-result strong { display: block; margin-top: 8px; font-family: Georgia,serif; font-size: 26px; font-style: italic; font-weight: 400; }

.cmsite__about { background: #0c0b09; }
.cmsite__about-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr); align-items: center; gap: 90px; }
.cmsite__about-copy h2 { margin-bottom: 38px; }
.cmsite__about-copy > p:not(.cmsite__kicker) { max-width: 680px; margin: 0 0 18px; color: var(--cms-muted); font-size: 16px; line-height: 1.75; }
.cmsite__about-line { display: block; margin: 34px 0; color: var(--cms-orange); font-family: Georgia,serif; font-size: 30px; font-style: italic; font-weight: 400; }
.cmsite__text-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 7px; border-bottom: 1px solid var(--cms-orange); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cmsite__text-link svg { width: 23px; height: 23px; fill: none; stroke: var(--cms-orange); stroke-width: 1.7; }
.cmsite__word-orbit { position: relative; aspect-ratio: 1; border: 1px solid var(--cms-line); border-radius: 50%; }
.cmsite__word-orbit::before,
.cmsite__word-orbit::after { content: ""; position: absolute; border-radius: 50%; }
.cmsite__word-orbit::before { inset: 14%; border: 1px dashed rgba(255,91,26,.24); animation: cms-spin 32s linear infinite; }
.cmsite__word-orbit::after { inset: 30%; border: 1px solid var(--cms-line); }
.cmsite__word-core { position: absolute; z-index: 2; top: 50%; left: 50%; width: 168px; height: 168px; display: grid; place-content: center; border-radius: 50%; color: var(--cms-black); background: var(--cms-orange); text-align: center; transform: translate(-50%,-50%); will-change: transform; }
.cmsite__word-core span { font-family: Georgia,serif; font-size: 35px; font-style: italic; }
.cmsite__word-core small { font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.cmsite__word { position: absolute; z-index: 3; padding: 10px 15px; border: 1px solid var(--cms-line); border-radius: 20px; background: #15120f; box-shadow: 0 12px 30px rgba(0,0,0,.25); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; will-change: transform; }
.cmsite__word--one { top: 7%; left: 42%; }
.cmsite__word--two { top: 26%; right: -4%; }
.cmsite__word--three { right: 4%; bottom: 16%; }
.cmsite__word--four { bottom: 5%; left: 30%; }
.cmsite__word--five { bottom: 25%; left: -3%; }
.cmsite__word--six { top: 23%; left: 1%; color: var(--cms-black); background: var(--cms-beige); }

.cmsite__service { color: var(--cms-ink); background: var(--cms-beige); }
.cmsite__service .cmsite__kicker span { color: var(--cms-ink); }
.cmsite__service-card { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; padding: clamp(38px,6vw,80px); border-radius: 12px 60px 12px 60px; color: var(--cms-cream); background: var(--cms-ink); }
.cmsite__service-intro span { color: var(--cms-orange); font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.cmsite__service-intro h3 { margin: 25px 0; font-size: clamp(32px,4vw,53px); line-height: 1.02; letter-spacing: -.055em; }
.cmsite__service-intro p { max-width: 600px; margin: 0; color: var(--cms-muted); }
.cmsite__service-parts { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 12px; }
.cmsite__service-parts span { min-height: 74px; display: flex; align-items: center; padding: 16px; border: 1px solid var(--cms-line); border-radius: 6px 20px 6px 20px; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; transition: color .2s ease, background .2s ease; }
.cmsite__service-parts span:hover { color: var(--cms-black); background: var(--cms-orange); }
.cmsite__service-card .cmsite__button { grid-column: 1/-1; justify-self: start; margin-top: 12px; }

.cmsite__faq { background: var(--cms-black); }
.cmsite__faq-grid { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); gap: 90px; }
.cmsite__faq-title { position: sticky; top: 120px; align-self: start; }
.cmsite__faq-title > p:last-child { color: var(--cms-muted); }
.cmsite__accordion { border-top: 1px solid var(--cms-line); }
.cmsite__faq-item { border-bottom: 1px solid var(--cms-line); }
.cmsite__faq-item button { width: 100%; min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 22px 0; border: 0; color: var(--cms-cream); background: transparent; cursor: pointer; text-align: left; }
.cmsite__faq-item button span { font-size: clamp(19px,2vw,26px); font-weight: 680; letter-spacing: -.035em; }
.cmsite__faq-item button i { position: relative; flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid rgba(255,91,26,.45); border-radius: 50%; }
.cmsite__faq-item button i::before,
.cmsite__faq-item button i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 13px; height: 1px; background: var(--cms-orange); transform: translate(-50%,-50%); transition: transform .2s ease; }
.cmsite__faq-item button i::after { transform: translate(-50%,-50%) rotate(90deg); }
.cmsite__faq-item button[aria-expanded="true"] i::after { transform: translate(-50%,-50%) rotate(0); }
.cmsite__faq-answer { overflow: hidden; }
.cmsite__faq-answer p { max-width: 720px; margin: -4px 0 30px; color: var(--cms-muted); }

.cmsite__final { position: relative; min-height: 88svh; display: grid; place-items: center; overflow: hidden; padding: 120px 0; color: var(--cms-black); background: var(--cms-orange); text-align: center; }
.cmsite__final-orbit { position: absolute; width: min(75vw,960px); aspect-ratio: 1; border: 1px solid rgba(11,10,9,.18); border-radius: 50%; animation: cms-spin 50s linear infinite; }
.cmsite__final-orbit::before,
.cmsite__final-orbit::after { content: ""; position: absolute; border-radius: 50%; }
.cmsite__final-orbit::before { inset: 12%; border: 1px dashed rgba(11,10,9,.2); }
.cmsite__final-orbit::after { inset: 29%; border: 1px solid rgba(11,10,9,.16); }
.cmsite__final-inner { z-index: 2; }
.cmsite__final .cmsite__kicker { justify-content: center; color: var(--cms-black); }
.cmsite__final .cmsite__kicker span { border-color: rgba(11,10,9,.35); color: var(--cms-black); }
.cmsite__final h2 { max-width: 1050px; margin-inline: auto; font-size: clamp(48px,7vw,96px); }
.cmsite__final h2 em { color: var(--cms-cream); }
.cmsite__button--final { margin-top: 48px; color: var(--cms-cream) !important; background: var(--cms-black); border-color: var(--cms-black); box-shadow: 0 20px 55px rgba(11,10,9,.2); }
.cmsite__button--final:hover { background: #1b1713; }
.cmsite__button--final svg { border-color: rgba(245,238,228,.18); }
.cmsite__final-inner > p:last-child { margin: 18px 0 0; font-size: 10px; font-weight: 700; }

.cmsite__footer { padding: 36px 0; background: #080706; }
.cmsite__footer .cmsite__container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cmsite__footer p,
.cmsite__footer > div > span { margin: 0; color: rgba(245,238,228,.4); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.cmsite [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1); }
.cmsite [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@keyframes cms-spin { to { transform: rotate(360deg); } }
@keyframes cms-dash { to { stroke-dashoffset: -320; } }
@keyframes cms-grid { 50% { transform: rotate(4deg) scale(1.04); } }
@keyframes cms-ticker { to { transform: translateX(-50%); } }

@media (max-width: 1080px) {
  .cmsite__nav-links { display: none; }
  .cmsite__hero-grid { grid-template-columns: minmax(0,1fr) minmax(390px,.8fr); gap: 35px; }
  .cmsite__strategy-stage { max-width: 470px; }
  .cmsite__stage-core { width: 148px; height: 148px; }
  .cmsite__stage-stamp { width: 110px; height: 110px; }
  .cmsite__about-grid { grid-template-columns: 1fr 410px; gap: 50px; }
}

@media (max-width: 860px) {
  .cmsite__container,
  .cmsite__nav { width: min(calc(100% - 36px), 720px); }
  .cmsite__hero { min-height: auto; padding: 150px 0 100px; }
  .cmsite__hero-grid,
  .cmsite__different-grid,
  .cmsite__about-grid,
  .cmsite__faq-grid { grid-template-columns: 1fr; }
  .cmsite__hero-copy { max-width: 720px; }
  .cmsite__strategy-stage { width: min(100%,570px); max-width: none; margin: 80px auto 0; }
  .cmsite__section-head--split { grid-template-columns: 1fr; gap: 25px; }
  .cmsite__pain-grid { grid-template-columns: 1fr; }
  .cmsite__pain-card { min-height: 280px; }
  .cmsite__different-copy { padding-top: 0; }
  .cmsite__different-grid blockquote { margin-top: 40px; }
  .cmsite__process-close { align-items: flex-start; flex-direction: column; }
  .cmsite__process-close strong { text-align: left; }
  .cmsite__case-grid { grid-template-columns: 1fr; }
  .cmsite__word-orbit { width: min(100%,520px); margin: 30px auto 0; }
  .cmsite__service-card { grid-template-columns: 1fr; }
  .cmsite__service-card .cmsite__button { grid-column: auto; }
  .cmsite__faq-title { position: static; }
}

@media (max-width: 600px) {
  .cmsite { font-size: 14px; }
  .cmsite__container,
  .cmsite__nav { width: min(calc(100% - 28px), 520px); }
  .cmsite__nav { min-height: 76px; }
  .cmsite__brand-mark { width: 37px; height: 37px; }
  .cmsite__brand small,
  .cmsite__nav-cta { display: none; }
  .cmsite__hero { padding: 122px 0 74px; }
  .cmsite__eyebrow { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 20px; }
  .cmsite__hero h1 { font-size: clamp(45px,14vw,62px); line-height: .98; }
  .cmsite__hero-intro { margin-top: 30px; font-size: 14px; }
  .cmsite__button { width: 100%; justify-content: space-between; gap: 12px; padding-left: 18px; font-size: 9px; }
  .cmsite__button-note { font-size: 9px; }
  .cmsite__signature { font-size: 15px; }
  .cmsite__strategy-stage { margin-top: 58px; }
  .cmsite__stage-core { width: 118px; height: 118px; }
  .cmsite__stage-core strong { font-size: 23px; }
  .cmsite__stage-node { gap: 5px; padding: 6px 9px 6px 6px; font-size: 7px; }
  .cmsite__stage-node i { width: 22px; height: 22px; }
  .cmsite__stage-stamp { width: 86px; height: 86px; }
  .cmsite__stage-stamp span { font-size: 13px; }
  .cmsite__ticker div { gap: 18px; }
  .cmsite__section { padding: 88px 0; }
  .cmsite__section-head { margin-bottom: 42px; }
  .cmsite__section h2 { font-size: clamp(40px,12vw,55px); }
  .cmsite__questions article { grid-template-columns: 42px 1fr; min-height: 92px; gap: 7px; }
  .cmsite__questions article p { font-size: 18px; }
  .cmsite__big-question { margin-top: 60px; padding: 35px 24px; }
  .cmsite__big-question strong { font-size: 33px; }
  .cmsite__pain-card { min-height: 0; padding: 30px 24px 55px; }
  .cmsite__pain-card h3 { margin-top: 38px; font-size: 25px; }
  .cmsite__different-grid { gap: 30px; }
  .cmsite__different-copy p { font-size: 15px; }
  .cmsite__different-grid blockquote span,
  .cmsite__different-grid blockquote strong { font-size: 39px; }
  .cmsite__process-list article { grid-template-columns: 48px 1fr; gap: 15px; min-height: 0; padding: 32px 0; }
  .cmsite__step { width: 42px; height: 42px; }
  .cmsite__process-list h3 { font-size: 24px; }
  .cmsite__process-list i { display: none; }
  .cmsite__fit-grid { grid-template-columns: 1fr; }
  .cmsite__fit-card { min-height: 420px; padding: 32px 25px; }
  .cmsite__fit-close { margin-top: 68px; font-size: 40px; }
  .cmsite__about-line { font-size: 25px; }
  .cmsite__word-core { width: 120px; height: 120px; }
  .cmsite__word-core span { font-size: 26px; }
  .cmsite__word { padding: 7px 10px; font-size: 7px; }
  .cmsite__service-card { gap: 38px; padding: 34px 24px; }
  .cmsite__service-intro h3 { font-size: 32px; }
  .cmsite__service-parts { grid-template-columns: 1fr; }
  .cmsite__service-parts span { min-height: 58px; }
  .cmsite__faq-grid { gap: 45px; }
  .cmsite__faq-item button { min-height: 88px; }
  .cmsite__faq-item button span { font-size: 19px; }
  .cmsite__final { min-height: 80svh; padding: 100px 0; }
  .cmsite__final h2 { font-size: clamp(42px,12vw,58px); }
  .cmsite__button--final { margin-top: 36px; }
  .cmsite__footer .cmsite__container { align-items: flex-start; flex-direction: column; }
  .cmsite__footer p { display: none; }
}

@media (pointer: coarse) {
  .cmsite__cursor { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cmsite *,
  .cmsite *::before,
  .cmsite *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cmsite [data-reveal] { opacity: 1; transform: none; }
}

/* Soft editorial theme — light, warm and intentionally feminine. */
.cmsite {
  color: var(--cms-ink);
  background: var(--cms-cream);
}

.cmsite__noise { opacity: .08; }
.cmsite__progress span { box-shadow: 0 0 18px rgba(236, 107, 60, .3); }
.cmsite__cursor { background: radial-gradient(circle, rgba(236, 107, 60, .07), transparent 68%); }

.cmsite__nav-wrap {
  border-color: rgba(52, 37, 31, .1);
  background: rgba(255, 250, 244, .86);
  box-shadow: 0 8px 30px rgba(80, 52, 38, .04);
}

.cmsite__brand-mark {
  border-radius: 50% 50% 50% 14px;
  color: var(--cms-cream);
  box-shadow: 0 12px 32px rgba(236, 107, 60, .18);
}

.cmsite__brand small,
.cmsite__nav-links a { color: rgba(52, 37, 31, .58); }

.cmsite__nav-cta {
  min-height: 42px;
  padding-left: 18px;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 9px 24px rgba(236, 107, 60, .18);
}

.cmsite__nav-cta span { position: relative; border-color: rgba(52, 37, 31, .16); }
.cmsite__nav-cta span::before { content: ""; position: absolute; width: 9px; height: 1px; background: var(--cms-ink); transform: rotate(-38deg); }
.cmsite__nav-cta span::after { content: ""; position: absolute; top: 8px; right: 8px; width: 5px; height: 5px; border-top: 1px solid var(--cms-ink); border-right: 1px solid var(--cms-ink); }

.cmsite__hero {
  color: var(--cms-ink);
  background:
    radial-gradient(ellipse at 80% 28%, rgba(244, 223, 215, .92), transparent 28%),
    radial-gradient(ellipse at 10% 90%, rgba(234, 217, 200, .55), transparent 31%),
    linear-gradient(135deg, #fffaf4 0%, #fdf4eb 58%, #f8e6d9 100%);
}

.cmsite__hero::before,
.cmsite__hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(236, 107, 60, .16);
  border-radius: 60% 40% 65% 35%;
}

.cmsite__hero::before { top: 15%; right: 8%; width: 170px; height: 250px; transform: rotate(38deg); }
.cmsite__hero::after { right: 18%; bottom: 8%; width: 110px; height: 170px; transform: rotate(-32deg); }
.cmsite__ambient--hero { background: rgba(236, 107, 60, .08); }
.cmsite__hero h1 { font-weight: 670; }
.cmsite__hero-intro,
.cmsite__button-note { color: var(--cms-muted); }
.cmsite__eyebrow span { color: var(--cms-ink); background: rgba(255, 255, 255, .46); }
.cmsite__signature { color: #8d6657; }

.cmsite__button {
  border: 0;
  border-radius: 999px;
  box-shadow: 0 16px 36px rgba(236, 107, 60, .18);
}

.cmsite__strategy-stage {
  border-color: rgba(52, 37, 31, .12);
  background: rgba(255, 250, 244, .5);
  box-shadow: 0 30px 80px rgba(113, 75, 56, .08);
}

.cmsite__stage-grid { opacity: .1; }
.cmsite__connections { stroke: rgba(52, 37, 31, .16); }
.cmsite__connections circle:nth-child(2) { stroke: rgba(236, 107, 60, .3); }
.cmsite__stage-node { color: var(--cms-ink); border-color: rgba(52, 37, 31, .12); background: rgba(255, 250, 244, .92); box-shadow: 0 12px 34px rgba(90, 54, 37, .08); }
.cmsite__stage-stamp { background: var(--cms-blush); box-shadow: 0 16px 44px rgba(95, 60, 42, .1); }

.cmsite__ticker {
  border-color: rgba(52, 37, 31, .08);
  background: var(--cms-blush);
}

.cmsite__ticker b { width: 5px; height: 5px; border-radius: 50%; background: var(--cms-orange); }
.cmsite__section h2,
.cmsite__final h2 { font-weight: 640; }
.cmsite__section-head > p:last-child,
.cmsite__section-head--split > p { color: var(--cms-muted); }
.cmsite__kicker span { color: var(--cms-ink); background: rgba(255, 255, 255, .35); }

.cmsite__recognition { background: var(--cms-cream); }
.cmsite__questions { border-color: var(--cms-line); }
.cmsite__questions article { border-color: var(--cms-line); border-radius: 18px; }
.cmsite__questions article:hover { background: var(--cms-peach); }
.cmsite__big-question { color: var(--cms-ink); border: 1px solid rgba(236, 107, 60, .18); background: linear-gradient(135deg, var(--cms-blush), #f9eae0); box-shadow: 0 26px 60px rgba(91, 58, 41, .06); }
.cmsite__big-question p { color: var(--cms-muted); }

.cmsite__pains { color: var(--cms-ink); background: var(--cms-peach); }
.cmsite__pain-grid { gap: 16px; border: 0; }
.cmsite__pain-card { border: 1px solid rgba(52, 37, 31, .09); border-radius: 28px 70px 28px 28px; background: rgba(255, 250, 244, .82); box-shadow: 0 20px 55px rgba(93, 61, 45, .05); }
.cmsite__pain-card:hover { background: #fffdf9; }
.cmsite__pain-card p { color: var(--cms-muted); }

.cmsite__different { background: var(--cms-beige); }
.cmsite__different-copy p { color: var(--cms-ink); }

.cmsite__process { color: var(--cms-ink); background: linear-gradient(180deg, #fffaf4, #f9eee4); }
.cmsite__process-list,
.cmsite__process-list article { border-color: var(--cms-line); }
.cmsite__process-list article:hover { background: rgba(255, 255, 255, .5); }
.cmsite__process-list p,
.cmsite__process-close p { color: var(--cms-muted); }
.cmsite__process-list i { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(236, 107, 60, .26); border-radius: 50%; }
.cmsite__process-list i::before { content: ""; width: 11px; height: 1px; background: var(--cms-orange); transform: rotate(35deg); }
.cmsite__process-list i::after { content: ""; position: absolute; right: 11px; bottom: 11px; width: 5px; height: 5px; border-right: 1px solid var(--cms-orange); border-bottom: 1px solid var(--cms-orange); }
.cmsite__button--light { color: var(--cms-cream) !important; background: var(--cms-orange); }

.cmsite__fit { background: #fffdf9; }
.cmsite__fit-card { border: 1px solid rgba(52, 37, 31, .09); border-radius: 30px 76px 30px 30px; }
.cmsite__fit-card--no { color: var(--cms-ink); background: var(--cms-blush); }
.cmsite__fit-card--no li { color: var(--cms-muted); }
.cmsite__fit-card--yes { background: #f3cbb9; }
.cmsite__fit-card li::before {
  content: "";
  top: .68em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cms-orange);
}
.cmsite__fit-card--yes li::before { content: ""; font-weight: inherit; }
.cmsite__fit-card b { right: 26px; bottom: 24px; width: 100px; height: 100px; border: 1px solid rgba(52, 37, 31, .12); border-radius: 58% 42% 62% 38%; opacity: .55; }
.cmsite__fit-card--yes b { background: rgba(255, 250, 244, .34); }

.cmsite__cases { color: var(--cms-ink); background: var(--cms-cream); }
.cmsite__case-card { border-color: var(--cms-line); background: #fff; box-shadow: 0 18px 48px rgba(93, 61, 45, .05); }
.cmsite__case-card p { color: var(--cms-muted); }

.cmsite__about { color: var(--cms-ink); background: var(--cms-blush); }
.cmsite__about-copy > p:not(.cmsite__kicker) { color: var(--cms-muted); }
.cmsite__word-orbit { border-color: rgba(52, 37, 31, .13); background: rgba(255, 250, 244, .35); }
.cmsite__word-orbit::after { border-color: rgba(52, 37, 31, .12); }
.cmsite__word { color: var(--cms-ink); border-color: rgba(52, 37, 31, .1); background: rgba(255, 250, 244, .94); box-shadow: 0 12px 30px rgba(86, 52, 36, .08); }

.cmsite__service { background: var(--cms-beige); }
.cmsite__service-card { color: var(--cms-ink); border: 1px solid rgba(52, 37, 31, .08); border-radius: 32px 84px 32px 32px; background: var(--cms-cream); box-shadow: 0 30px 70px rgba(86, 52, 36, .07); }
.cmsite__service-intro p { color: var(--cms-muted); }
.cmsite__service-parts span { border-color: var(--cms-line); background: #fffdf9; }

.cmsite__faq { color: var(--cms-ink); background: var(--cms-cream); }
.cmsite__accordion,
.cmsite__faq-item { border-color: var(--cms-line); }
.cmsite__faq-item button { color: var(--cms-ink); }
.cmsite__faq-answer p,
.cmsite__faq-title > p:last-child { color: var(--cms-muted); }

.cmsite__final { background: linear-gradient(145deg, #f4c9b8 0%, #ee8b64 50%, #ec6b3c 100%); }
.cmsite__final h2 em { color: var(--cms-cream); }
.cmsite__button--final { color: var(--cms-cream) !important; background: var(--cms-ink); }
.cmsite__footer { color: var(--cms-ink); background: #f3e5d8; }
.cmsite__footer p,
.cmsite__footer > div > span { color: rgba(52, 37, 31, .48); }

@media (max-width: 600px) {
  .cmsite__hero::before { right: -65px; opacity: .6; }
  .cmsite__hero::after { display: none; }
  .cmsite__pain-grid { gap: 12px; }
  .cmsite__process-list i { display: none; }
}

/* Premium contrast pass — warm dark chapters and moving editorial scenery. */
.cmsite__recognition,
.cmsite__pains,
.cmsite__different,
.cmsite__process,
.cmsite__fit,
.cmsite__about,
.cmsite__service,
.cmsite__faq,
.cmsite__final { position: relative; isolation: isolate; overflow: hidden; }

.cmsite__recognition > .cmsite__container,
.cmsite__pains > .cmsite__container,
.cmsite__different > .cmsite__container,
.cmsite__process > .cmsite__container,
.cmsite__fit > .cmsite__container,
.cmsite__about > .cmsite__container,
.cmsite__service > .cmsite__container,
.cmsite__faq > .cmsite__container,
.cmsite__final > .cmsite__container { position: relative; z-index: 2; }

.cmsite__recognition::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 10%;
  right: -110px;
  width: 360px;
  height: 480px;
  border: 1px solid rgba(236, 107, 60, .16);
  border-radius: 78% 22% 64% 36% / 42% 68% 32% 58%;
  transform: rotate(18deg);
  animation: cms2-organic-drift 14s ease-in-out infinite alternate;
}
.cmsite__questions article { position: relative; overflow: hidden; }
.cmsite__questions article::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -35px;
  width: 86px;
  height: 86px;
  border: 1px solid rgba(236, 107, 60, .14);
  border-radius: 50%;
  transition: transform .45s ease, background .45s ease;
}
.cmsite__questions article:hover::after { background: rgba(236, 107, 60, .08); transform: scale(1.18); }

.cmsite__pains {
  color: var(--cms-cream);
  background: radial-gradient(circle at 8% 18%, rgba(236, 107, 60, .18), transparent 28%), linear-gradient(135deg, #211713 0%, #17100e 56%, #2b1a14 100%);
}
.cmsite__pains::before,
.cmsite__pains::after { content: ""; position: absolute; z-index: 0; pointer-events: none; }
.cmsite__pains::before {
  top: -260px;
  right: -160px;
  width: 680px;
  height: 680px;
  border: 1px solid rgba(242, 135, 97, .17);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(242, 135, 97, .025), 0 0 0 150px rgba(242, 135, 97, .018);
  animation: cms2-orbit-breathe 10s ease-in-out infinite alternate;
}
.cmsite__pains::after {
  left: 4%;
  bottom: 8%;
  width: 160px;
  height: 260px;
  border: 1px solid rgba(255, 250, 244, .12);
  border-radius: 72% 28% 61% 39% / 39% 65% 35% 61%;
  animation: cms2-organic-drift 12s ease-in-out infinite alternate-reverse;
}
.cmsite__pains .cmsite__section-head h2,
.cmsite__pains .cmsite__kicker { color: var(--cms-cream); }
.cmsite__pains .cmsite__section-head--split > p { color: rgba(255, 250, 244, .62); }
.cmsite__pains .cmsite__kicker span { color: var(--cms-orange-soft); border-color: rgba(242, 135, 97, .4); background: rgba(242, 135, 97, .08); }
.cmsite__pain-card { border-color: rgba(255, 250, 244, .12); background: rgba(255, 250, 244, .055); box-shadow: 0 22px 70px rgba(0, 0, 0, .17); backdrop-filter: blur(8px); }
.cmsite__pain-card:nth-child(2),
.cmsite__pain-card:nth-child(3) { background: rgba(242, 135, 97, .09); }
.cmsite__pain-card h3 { color: var(--cms-cream); }
.cmsite__pain-card p { color: rgba(255, 250, 244, .62); }
.cmsite__pain-card span { color: var(--cms-orange-soft); }
.cmsite__pain-card:hover { border-color: rgba(242, 135, 97, .48); background: rgba(242, 135, 97, .16); transform: translateY(-7px) rotate(.25deg); }

.cmsite__different::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 8%;
  left: -130px;
  width: 340px;
  height: 520px;
  border: 1px solid rgba(236, 107, 60, .14);
  border-radius: 46% 54% 29% 71% / 64% 28% 72% 36%;
  animation: cms2-organic-drift 16s ease-in-out infinite alternate;
}

.cmsite__process {
  color: var(--cms-cream);
  background: radial-gradient(circle at 88% 22%, rgba(236, 107, 60, .16), transparent 25%), #1b1310;
}
.cmsite__process::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 180px;
  right: -170px;
  width: 500px;
  height: 500px;
  border: 1px solid rgba(255, 250, 244, .09);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(255, 250, 244, .018), 0 0 0 160px rgba(255, 250, 244, .012);
  animation: cms2-orbit-breathe 12s ease-in-out infinite alternate-reverse;
}
.cmsite__process .cmsite__section-head h2,
.cmsite__process .cmsite__kicker,
.cmsite__process-list h3,
.cmsite__process-close strong { color: var(--cms-cream); }
.cmsite__process .cmsite__section-head--split > p,
.cmsite__process-list p,
.cmsite__process-close p { color: rgba(255, 250, 244, .6); }
.cmsite__process .cmsite__kicker span { color: var(--cms-orange-soft); border-color: rgba(242, 135, 97, .38); background: rgba(242, 135, 97, .08); }
.cmsite__process-list { border-color: rgba(255, 250, 244, .1); }
.cmsite__process-list article { border-color: rgba(255, 250, 244, .1); }
.cmsite__process-list article:hover { background: rgba(242, 135, 97, .075); }
.cmsite__process-list small,
.cmsite__process-list .cmsite__step { color: var(--cms-orange-soft); }
.cmsite__process-list .cmsite__step,
.cmsite__process-list i { border-color: rgba(242, 135, 97, .35); }
.cmsite__process-list i::before { background: var(--cms-orange-soft); }
.cmsite__process-list i::after { border-color: var(--cms-orange-soft); }

.cmsite__fit::before,
.cmsite__service::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(236, 107, 60, .16);
  border-radius: 63% 37% 54% 46% / 42% 67% 33% 58%;
  animation: cms2-organic-drift 15s ease-in-out infinite alternate;
}
.cmsite__fit::before { top: 12%; right: -90px; }
.cmsite__service::before { bottom: 4%; left: -85px; animation-direction: alternate-reverse; }

.cmsite__about::before {
  content: "CAROL  •  ESTRATÉGIA  •  SOCIAL MEDIA";
  position: absolute;
  z-index: 0;
  top: 38px;
  left: -2%;
  color: rgba(236, 107, 60, .075);
  font-size: clamp(42px, 7vw, 110px);
  font-weight: 800;
  letter-spacing: .08em;
  white-space: nowrap;
  animation: cms2-type-drift 18s ease-in-out infinite alternate;
}

.cmsite__faq {
  color: var(--cms-cream);
  background: radial-gradient(circle at 14% 78%, rgba(236, 107, 60, .16), transparent 24%), linear-gradient(150deg, #18100e, #241713);
}
.cmsite__faq::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -210px;
  left: 52%;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(242, 135, 97, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 78px rgba(242, 135, 97, .016), 0 0 0 156px rgba(242, 135, 97, .01);
  animation: cms2-orbit-breathe 13s ease-in-out infinite alternate;
}
.cmsite__faq .cmsite__section-head h2,
.cmsite__faq .cmsite__kicker,
.cmsite__faq-item button { color: var(--cms-cream); }
.cmsite__faq .cmsite__section-head > p,
.cmsite__faq-answer p { color: rgba(255, 250, 244, .6); }
.cmsite__faq .cmsite__kicker span { color: var(--cms-orange-soft); border-color: rgba(242, 135, 97, .38); background: rgba(242, 135, 97, .08); }
.cmsite__faq .cmsite__accordion,
.cmsite__faq .cmsite__faq-item { border-color: rgba(255, 250, 244, .12); }
.cmsite__faq-item button:hover { color: var(--cms-orange-soft); }

.cmsite__final::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -35%;
  background: conic-gradient(from 180deg at 50% 50%, transparent 0 34%, rgba(255, 250, 244, .12) 45%, transparent 56% 100%);
  animation: cms2-slow-spin 22s linear infinite;
}
.cmsite__final-inner { position: relative; z-index: 2; }

@keyframes cms2-organic-drift {
  0% { transform: translate3d(0, 0, 0) rotate(-4deg); }
  50% { transform: translate3d(18px, -24px, 0) rotate(4deg); }
  100% { transform: translate3d(-12px, 16px, 0) rotate(-1deg); }
}
@keyframes cms2-orbit-breathe {
  0% { transform: scale(.92) translate3d(0, 0, 0); opacity: .62; }
  100% { transform: scale(1.08) translate3d(-18px, 22px, 0); opacity: 1; }
}
@keyframes cms2-type-drift {
  from { transform: translate3d(-2%, 0, 0); }
  to { transform: translate3d(5%, 0, 0); }
}
@keyframes cms2-slow-spin { to { transform: rotate(360deg); } }

@media (max-width: 760px) {
  .cmsite__pains::before { width: 390px; height: 390px; right: -230px; top: -90px; }
  .cmsite__pains::after { display: none; }
  .cmsite__process::before { width: 330px; height: 330px; right: -220px; top: 12%; }
  .cmsite__about::before { top: 20px; font-size: 42px; }
  .cmsite__faq::before { width: 350px; height: 350px; left: 34%; top: -160px; }
}

@media (prefers-reduced-motion: reduce) {
  .cmsite__recognition::before,
  .cmsite__pains::before,
  .cmsite__pains::after,
  .cmsite__different::before,
  .cmsite__process::before,
  .cmsite__fit::before,
  .cmsite__service::before,
  .cmsite__about::before,
  .cmsite__faq::before,
  .cmsite__final::before { animation: none !important; }
}

/* Photography system — curated portraits woven into the strategic narrative. */
.cmsite figure { margin: 0; }
.cmsite img { display: block; width: 100%; max-width: 100%; }

.cmsite__portrait-stage {
  position: relative;
  isolation: isolate;
  width: min(100%, 510px);
  aspect-ratio: .82;
  margin-left: auto;
}

.cmsite__portrait-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% -8% -5% 13%;
  border-radius: 46% 54% 18% 82% / 34% 24% 76% 66%;
  background: var(--cms-orange);
  opacity: .94;
  animation: cms2-photo-shape 12s ease-in-out infinite alternate;
}

.cmsite__portrait {
  position: absolute;
  inset: 0 8% 5% 0;
  overflow: hidden;
  border: 8px solid rgba(255, 250, 244, .92);
  border-radius: 48% 48% 18px 18px;
  background: var(--cms-beige);
  box-shadow: 0 36px 90px rgba(77, 43, 29, .2);
}

.cmsite__portrait::after,
.cmsite__story-photo::after,
.cmsite__about-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(125deg, rgba(255,255,255,.16), transparent 38%, transparent 72%, rgba(236,107,60,.08));
}

.cmsite__portrait img {
  height: 100%;
  object-fit: cover;
  object-position: 52% 44%;
  filter: saturate(.86) contrast(1.03);
  transition: transform 1.1s cubic-bezier(.22,1,.36,1), filter .5s ease;
}

.cmsite__portrait-stage:hover .cmsite__portrait img { transform: scale(1.025); filter: saturate(1) contrast(1.02); }

.cmsite__portrait-label {
  position: absolute;
  z-index: 3;
  display: grid;
  gap: 2px;
  min-width: 150px;
  padding: 14px 18px;
  border: 1px solid rgba(52, 37, 31, .12);
  border-radius: 999px;
  color: var(--cms-ink);
  background: rgba(255, 250, 244, .91);
  box-shadow: 0 16px 38px rgba(78, 43, 30, .14);
  backdrop-filter: blur(14px);
  will-change: translate;
}

.cmsite__portrait-label span { color: var(--cms-orange); font-size: 9px; font-weight: 950; letter-spacing: .17em; text-transform: uppercase; }
.cmsite__portrait-label small { font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-style: italic; }
.cmsite__portrait-label--top { top: 12%; left: -10%; }
.cmsite__portrait-label--bottom { right: -7%; bottom: 16%; }
.cmsite__portrait-index { position: absolute; z-index: 2; right: -2%; top: -8%; color: rgba(52,37,31,.1); font-family: Georgia, serif; font-size: clamp(92px, 10vw, 148px); font-style: italic; line-height: 1; }

.cmsite__photo-story {
  position: relative;
  overflow: hidden;
  padding: clamp(82px, 9vw, 132px) 0;
  color: var(--cms-cream);
  background:
    radial-gradient(circle at 46% 48%, rgba(236,107,60,.2), transparent 22%),
    linear-gradient(135deg, #17110e, #261914 58%, #100d0b);
}

.cmsite__photo-story::before {
  content: "PRESENÇA  •  DIREÇÃO  •  CONTEXTO";
  position: absolute;
  top: 6%;
  left: -3%;
  color: rgba(255,250,244,.045);
  font-size: clamp(45px, 8vw, 118px);
  font-weight: 900;
  letter-spacing: .08em;
  white-space: nowrap;
}

.cmsite__photo-story-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  min-height: 650px;
}

.cmsite__story-photo { position: relative; overflow: hidden; background: #0b0a09; box-shadow: 0 28px 70px rgba(0,0,0,.3); will-change: translate; }
.cmsite__story-photo img { height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,1,.36,1); }
.cmsite__story-photo:hover img { transform: scale(1.035); }
.cmsite__story-photo--main { z-index: 2; grid-column: 1 / 7; grid-row: 1; aspect-ratio: 4 / 5; border-radius: 12px 88px 12px 12px; }
.cmsite__story-photo--main img { object-position: center 38%; }
.cmsite__story-photo--motion { z-index: 3; grid-column: 9 / 13; grid-row: 1; align-self: end; aspect-ratio: 3 / 4; margin-bottom: -5%; border: 7px solid #211713; border-radius: 120px 12px 12px 12px; }
.cmsite__story-photo--motion img { object-position: 48% center; filter: contrast(1.06); }
.cmsite__story-photo figcaption { position: absolute; z-index: 3; right: 22px; bottom: 22px; left: 22px; padding: 17px 20px; border-radius: 999px; color: var(--cms-ink); background: rgba(255,250,244,.91); font-family: Georgia, serif; font-size: clamp(17px, 1.6vw, 24px); font-style: italic; backdrop-filter: blur(12px); }
.cmsite__story-photo figcaption span { color: var(--cms-orange); }

.cmsite__story-copy {
  position: relative;
  z-index: 4;
  grid-column: 6 / 10;
  grid-row: 1;
  padding: clamp(28px, 4vw, 54px);
  border: 1px solid rgba(255,250,244,.15);
  border-radius: 8px 54px 8px 54px;
  background: rgba(24,17,14,.84);
  box-shadow: 0 24px 64px rgba(0,0,0,.28);
  backdrop-filter: blur(18px);
}

.cmsite__story-copy p { margin: 0 0 15px; color: var(--cms-orange-soft); font-size: 9px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.cmsite__story-copy strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 3.1vw, 46px); font-style: italic; font-weight: 400; line-height: 1.03; letter-spacing: -.04em; }

.cmsite__about-photos {
  position: relative;
  isolation: isolate;
  width: min(100%, 520px);
  aspect-ratio: .88;
  margin-left: auto;
}

.cmsite__about-photos::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 6% 8% 4% 3%;
  border: 1px solid rgba(52,37,31,.14);
  border-radius: 46% 54% 42% 58%;
  animation: cms2-photo-shape 13s ease-in-out infinite alternate-reverse;
}

.cmsite__about-photo { position: absolute; overflow: hidden; background: var(--cms-beige); box-shadow: 0 30px 68px rgba(92,54,38,.16); will-change: translate; }
.cmsite__about-photo img { height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,1,.36,1); }
.cmsite__about-photo:hover img { transform: scale(1.035); }
.cmsite__about-photo--main { inset: 0 22% 8% 0; border: 7px solid rgba(255,250,244,.7); border-radius: 140px 14px 14px 14px; }
.cmsite__about-photo--main img { object-position: 48% 35%; }
.cmsite__about-photo--accent { z-index: 2; right: 0; bottom: 0; width: 43%; aspect-ratio: 3 / 4; border: 6px solid var(--cms-blush); border-radius: 12px 12px 80px 12px; }
.cmsite__about-photo--accent img { object-position: 50% 35%; }
.cmsite__about-photo-note { position: absolute; z-index: 3; top: 10%; right: -3%; display: grid; gap: 2px; max-width: 190px; padding: 16px 18px; border-radius: 8px 26px 8px 26px; color: var(--cms-cream); background: var(--cms-ink); box-shadow: 0 18px 42px rgba(52,37,31,.2); will-change: translate; }
.cmsite__about-photo-note span { color: var(--cms-orange-soft); font-family: Georgia, serif; font-size: 20px; font-style: italic; }
.cmsite__about-photo-note small { font-size: 8px; font-weight: 800; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }

@keyframes cms2-photo-shape {
  from { transform: rotate(-2deg) scale(.98); border-radius: 46% 54% 18% 82% / 34% 24% 76% 66%; }
  to { transform: rotate(3deg) scale(1.025); border-radius: 58% 42% 68% 32% / 46% 61% 39% 54%; }
}

@media (max-width: 1080px) {
  .cmsite__portrait-stage { width: min(100%, 450px); }
  .cmsite__photo-story-grid { min-height: 560px; }
  .cmsite__about-photos { width: min(100%, 450px); }
}

@media (max-width: 860px) {
  .cmsite__portrait-stage { width: min(92%, 540px); margin: 72px auto 0; }
  .cmsite__photo-story-grid { grid-template-columns: repeat(10, minmax(0, 1fr)); min-height: 720px; }
  .cmsite__story-photo--main { grid-column: 1 / 7; }
  .cmsite__story-copy { grid-column: 5 / 10; align-self: center; }
  .cmsite__story-photo--motion { grid-column: 7 / 11; }
  .cmsite__about-photos { width: min(100%, 540px); margin: 55px auto 0; }
}

@media (max-width: 600px) {
  .cmsite__portrait-stage { width: calc(100% - 14px); margin-top: 54px; }
  .cmsite__portrait { inset: 0 5% 5% 0; border-width: 5px; border-radius: 42% 42% 12px 12px; }
  .cmsite__portrait-label { min-width: 128px; padding: 11px 14px; }
  .cmsite__portrait-label small { font-size: 12px; }
  .cmsite__portrait-label--top { top: 9%; left: -2%; }
  .cmsite__portrait-label--bottom { right: -2%; bottom: 12%; }
  .cmsite__portrait-index { right: 0; top: -5%; font-size: 88px; }
  .cmsite__photo-story { padding: 78px 0 90px; }
  .cmsite__photo-story-grid { display: flex; min-height: 0; flex-direction: column; align-items: stretch; }
  .cmsite__story-photo--main { width: 90%; aspect-ratio: 4 / 5; }
  .cmsite__story-copy { z-index: 4; width: 88%; margin: -42px 0 0 auto; padding: 28px 25px; }
  .cmsite__story-photo--motion { width: 57%; margin: 32px 4% 0 auto; border-width: 5px; }
  .cmsite__story-photo figcaption { right: 14px; bottom: 14px; left: 14px; padding: 13px 16px; }
  .cmsite__about-photos { width: calc(100% - 4px); margin-top: 46px; }
  .cmsite__about-photo--main { inset: 0 17% 8% 0; border-width: 5px; }
  .cmsite__about-photo--accent { width: 41%; border-width: 4px; }
  .cmsite__about-photo-note { top: 7%; right: -2%; max-width: 150px; padding: 12px 14px; }
  .cmsite__about-photo-note span { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .cmsite__portrait-stage::before,
  .cmsite__about-photos::before { animation: none !important; }
  .cmsite__portrait img,
  .cmsite__story-photo img,
  .cmsite__about-photo img { transition: none !important; }
}
