/* TOF · manual de marca en las plantillas (fases 2 y 3): mapa generado.
   NO EDITAR A MANO. Lo genera scripts/build-marca-plantillas.mjs a partir de las
   hojas congeladas (que no se tocan): cambia la paleta celeste y petróleo por la
   de tokens/build/tof.css, Manrope e Inter por Mona Sans, quita el cristal y las
   mayúsculas espaciadas y lleva las esquinas a 4 u 8 px. Para no alterar la
   cascada, repite en el mismo orden todas las declaraciones de los grupos de
   propiedades que cambian. Las reglas escritas a mano van en
   tof-marca-comun.css y tof-marca-plantillas.css, que se enlazan después. */

/* ── public/styles/cielo-sereno.css ── */
.serene-site {
  --serene-deep: #1c1e2d;
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  background: #ffffff;
  color: #1c1e2d;
}
.serene-page {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
}
.serene-page .font-sans:not(h1,h2,h3) {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
}
.serene-page :is(h1,h2,h3) {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-synthesis: none;
  font-stretch: 112.5%;
}
.serene-page h3 {
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.serene-page .serene-breadcrumb {
  border: 0;
  background: #f7f7f9;
}
.serene-page .serene-breadcrumb > div {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 12px;
}
.serene-page .serene-hero {
  background: #fff;
  border: 0;
}
.serene-page .serene-hero-copy > p {
  font-size: clamp(17px,1.4vw,19px);
  line-height: 1.65;
}
.serene-page :is(.btn-primary,.btn-secondary,.btn-ghost-dark) {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0;
  border-radius: 4px;
  box-shadow: none;
}
.serene-page .btn-primary {
  background: #2e31c8;
  color: #fff;
}
.serene-page .btn-secondary {
  background: #fff;
  color: #1c1e2d;
  border-color: #9394a3;
}
.serene-page :is(a,button,summary,input,select,textarea):focus-visible {
  outline: 3px solid #2e31c8;
  outline-offset: 4px;
}
.serene-page :is(.serene-card,.serene-identity) {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 20px -12px rgb(21 21 85 / .16);
}
.serene-page .serene-tone [class*="divide-"] {
  border-color: #d5d6dc;
}
.serene-page .serene-tone img[src*="dark"],
.serene-page .serene-tone img[src*="n8n"] {
  background: #1c1e2d;
  border-radius: 8px;
}
.serene-page .serene-tone .display:not(h1,h2,h3) {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: clamp(30px,3vw,44px);
  line-height: 1.15;
  font-weight: 650;
  font-stretch: 112.5%;
}
.serene-page .serene-metric {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
}
.serene-page .serene-metric strong {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 32px;
  font-weight: 650;
  line-height: 1.2;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-page .serene-metric p {
  font-size: 15px;
  line-height: 1.6;
}
.serene-page .serene-metric small {
  font-size: 11px;
  letter-spacing: 0;
  color: #606275;
}
.serene-process {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
}
.serene-process .serene-process-label {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 11px;
  letter-spacing: 0;
  color: #606275;
  text-transform: none;
}
.serene-process li {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #ffffff;
  font-size: 15px;
  font-weight: 500;
}
.serene-process li + li::before {
  background: #9394a3;
}
.serene-process .serene-node {
  border-radius: 8px;
  background: #f7f7f9;
  color: #2e31c8;
  font-family: "JetBrains Mono",monospace;
  font-size: 12px;
}
.serene-process li:last-child {
  background: #f7f7f9;
  border-color: #9394a3;
}
.serene-identity-badge[data-dark="true"] {
  border-radius: 8px;
  background: #1c1e2d;
}
.serene-identity a {
  font-size: 13px;
  color: #2e31c8;
  line-height: 1.6;
}
.serene-page .serene-editorial-hero h1 {
  font-size: clamp(34px,4.3vw,56px) !important;
}
.serene-page .serene-editorial-body {
  font-size: 18px;
  line-height: 1.75;
}
.serene-page .serene-editorial-body p {
  font-size: inherit;
  line-height: inherit;
}
.serene-page .serene-editorial-body h2 {
  font-size: clamp(28px,2.6vw,34px);
}
.serene-page .serene-editorial-body h3 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  font-stretch: 112.5%;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .serene-page a.serene-interactive:hover {
  border-color: #9394a3;
  box-shadow: 0 10px 22px -16px rgb(21 21 85 / .24);
}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .serene-page .btn-primary:hover {
  background: #25269a;
}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .serene-page .btn-secondary:hover {
  background: #f7f7f9;
}
}
.serene-page article.group {
  box-shadow: none;
}
.serene-page article.group:hover {
  box-shadow: none;
}
.serene-page .serene-tone p[style] {
  color: #1c1e2d;
}
.serene-page .serene-home-clients {
  border: 0;
  background: #ffffff;
}
.serene-page .serene-home-clients .serene-client-logo a {
  color: #2e31c8;
}
.serene-service-card .serene-service-icon {
  border-radius: 8px;
  background: #f7f7f9;
  color: #2e31c8;
}
.serene-service-card .serene-service-icon::after {
  background: #d5d6dc;
}
.serene-service-card .serene-service-icon::before {
  border: 1px solid #9394a3;
  border-radius: 50%;
  background: #ffffff;
}
.serene-service-card h3 {
  font-size: 24px;
}
.serene-service-card p {
  font-size: 15px;
  line-height: 1.65;
  color: #606275;
}
.serene-service-card .serene-service-link {
  font-size: 14px;
  font-weight: 500;
  color: #2e31c8;
}
.serene-page .serene-home-tiers {
  background: #ffffff;
}
.serene-home-tiers-panel {
  border-radius: 8px;
  background: #1c1e2d;
  color: #fff;
}
.serene-home-tiers-panel h2 {
  color: #fff;
}
.serene-home-tiers-panel .serene-tier-intro {
  color: #d5d6dc;
  font-size: 16px;
  line-height: 1.65;
}
.serene-tier-card {
  border: 1px solid #606275;
  border-radius: 8px;
  background: #1c1e2d;
}
.serene-page .serene-tier-card h3 {
  color: #fff;
  font-size: 28px;
}
.serene-tier-card p {
  color: #ececef;
  font-size: 15px;
  line-height: 1.65;
}
.serene-tier-card .serene-tier-range {
  font-family: "JetBrains Mono",monospace;
  font-size: 11px;
  color: #b5b7c1;
}
.serene-page .serene-tier-card:focus-visible {
  outline-color: #fff;
  outline-offset: 5px;
}
.serene-home-method > section {
  background: #ffffff;
}
.serene-home-method [class*="text-5xl"] {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 34px;
  font-weight: 650;
  color: #1c1e2d !important;
  font-stretch: 112.5%;
}
.serene-home-method [class*="transition-colors"] {
  color: inherit;
}
.serene-page .serene-home-testimonials {
  background: #f7f7f9;
  color: #1c1e2d;
}
.serene-home-testimonials [class*="text-bg/"] {
  color: #606275;
}
.serene-home-testimonials [class~="text-bg"] {
  color: #1c1e2d;
}
.serene-home-testimonials article {
  background: #fff;
  border: 1px solid #d5d6dc;
  border-radius: 8px;
}
.serene-home-testimonials article:hover {
  background: #fff;
  border-color: #d5d6dc;
}
.serene-home-testimonials article [class*="border-bg/"] {
  border-color: #d5d6dc;
}
.serene-home-testimonials article [class*="bg-bg/"] {
  background: #f7f7f9;
}
.serene-page .serene-home-why {
  border: 0;
}
.serene-reasons-grid > div {
  border-color: #d5d6dc;
}
.serene-home-why h3 {
  font-size: 24px;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .serene-page .serene-tier-card:hover {
  border-color: #b5b7c1;
}
}
.serene-page .serene-home-tiers-panel h2 {
  font-size: clamp(30px,3.4vw,44px);
}
.serene-page :is(.serene-service-card,.serene-tier-card,.serene-home-why) h3 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.2;
  font-stretch: 112.5%;
}
.serene-page .serene-case-card {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 20px -12px rgb(21 21 85 / .16);
}
.serene-page .serene-case-card .public-case-card-brand {
  background: #fff;
}
.serene-page .serene-case-card .public-case-card-identity > span {
  background: #ffffff;
  border-color: #d5d6dc;
  line-height: 1.5;
}
.serene-page .serene-case-card .serene-case-summary {
  font: 650 21px/1.3 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.025em;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-page .serene-case-result {
  border-left: 2px solid #d5d6dc;
}
.serene-page .serene-case-metric {
  font: 650 28px/1.25 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.025em;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-page .serene-case-qualifier {
  font: 400 14px/1.6 "Mona Sans","Inter",Arial,sans-serif;
  color: #606275;
}
.serene-page .serene-case-card-footer {
  font: 500 13px/1.5 "Mona Sans","Inter",Arial,sans-serif;
  background: #ffffff;
}
.serene-page .serene-case-card:hover {
  box-shadow: 0 5px 20px -12px rgb(21 21 85 / .16);
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .serene-page .serene-case-card:hover {
  border-color: #9394a3;
  box-shadow: 0 10px 22px -16px rgb(21 21 85 / .24);
}
}

/* ── public/styles/serene-commercial.css ── */
.serene-page .serene-commercial-page {
  --commercial-paper: var(--serene-paper, #ffffff);
  --commercial-sky: var(--serene-sky, #f7f7f9);
  --commercial-ink: var(--serene-ink, #1c1e2d);
  --commercial-secondary: var(--serene-muted, #606275);
  --commercial-line: #d5d6dc;
  color: var(--commercial-ink);
  background: var(--commercial-paper);
}
.serene-page .serene-commercial-page .display:not(h1):not(h2):not(h3),
.serene-page .serene-commercial-page .font-editorial {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  letter-spacing: -.025em;
  text-transform: none;
  font-stretch: 112.5%;
}
.serene-page .serene-commercial-page :is(h3, h4) {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  letter-spacing: -.02em;
  font-stretch: 112.5%;
}
.serene-page .serene-commercial-page > section.bg-secondary {
  background: var(--commercial-sky);
}
.serene-page .serene-commercial-page > section.bg-bg {
  background: var(--commercial-paper);
}
.serene-page .serene-commercial-page > section.bg-fg {
  background: #1c1e2d;
}
.serene-page .serene-commercial-page .serene-hero {
  background: #fff;
}
.serene-page .serene-diagram {
  border: 1px solid var(--commercial-line);
  border-radius: 8px;
  background: #ffffffc9;
  color: var(--commercial-ink);
  box-shadow: 0 12px 30px -26px #15155538;
}
.serene-page .serene-diagram figcaption {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: .9375rem;
  line-height: 1.5;
  font-weight: 600;
}
.serene-page .serene-diagram-lines {
  color: #747588;
}
.serene-page .serene-diagram-node {
  border: 1px solid var(--commercial-line);
  border-radius: 8px;
  background: var(--commercial-sky);
  font: 500 .875rem/1.4 "Mona Sans","Inter",Arial,sans-serif;
  color: var(--commercial-ink);
}
.serene-page .serene-diagram-node-mark {
  color: var(--commercial-accent);
  font-size: .6875rem;
  font-weight: 600;
}
.serene-page .serene-diagram-node-mark > span {
  border-radius: 50%;
  background: currentColor;
}
.serene-page .serene-diagram-condition {
  font: 400 .8125rem/1.5 "Mona Sans","Inter",Arial,sans-serif;
  color: var(--commercial-secondary);
}
.serene-page .serene-diagram--layers .serene-diagram-node {
  border-left: 3px solid var(--commercial-accent);
  border-radius: .5rem;
}
.serene-page .serene-diagram--coordination .serene-diagram-node {
  background: #fff;
}
.serene-page .serene-diagram--team-process .serene-diagram-node:first-child {
  border-color: var(--commercial-accent);
  background: #fff;
}
.serene-page .serene-service-stat {
  border: 1px solid var(--commercial-line);
  border-left-width: 2px;
  border-radius: 8px;
  background: #ffffffa6;
}
.serene-page .serene-service-stat .display {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
}
.serene-page .serene-vertical-metrics,
.serene-page .serene-segment-metric-band {
  border: 1px solid var(--commercial-line);
  border-radius: 8px;
  background: #ffffffa6;
}
.serene-page .serene-vertical-metric .display,
.serene-page .serene-segment-metric-list .display {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
}
.serene-page .serene-vertical-metric > p:first-of-type:not(.display) {
  font-size: 1.0625rem;
  line-height: 1.5;
}
.serene-page .serene-segment-metric-list > div {
  border-top: 0;
}
.serene-page .serene-pain-row {
  border-top: 1px solid var(--commercial-line);
}
.serene-page .serene-pain-number {
  font: 500 .8125rem/1.5 "Mona Sans","Inter",Arial,sans-serif;
  color: var(--commercial-secondary) !important;
}
.serene-page .serene-vertical-pain-row {
  border-top: 1px solid var(--commercial-line);
}
.serene-page .serene-vertical-pain-media {
  border-radius: 8px;
}
.serene-page .serene-vertical-pain-media .display {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
}
.serene-page .serene-commercial-page > section.serene-pull-quote {
  background: var(--commercial-paper);
  color: var(--commercial-ink);
}
.serene-page .serene-pull-quote .max-w-\[1080px\] {
  border: 1px solid var(--commercial-line);
  border-radius: 8px;
  background: var(--commercial-sky);
}
.serene-page .serene-quote-mark {
  font-size: 4rem;
  line-height: 1;
}
.serene-page .serene-editorial-quote {
  font-size: clamp(1.375rem, 2.5vw, 2rem);
  line-height: 1.4;
  color: var(--commercial-ink);
}
.serene-page .serene-pull-quote .font-mono {
  color: var(--commercial-secondary);
}
.serene-page .serene-cost-value {
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1.15;
}
.serene-page .serene-cost-conclusion {
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  line-height: 1.5;
  font-style: normal;
}
.serene-page .serene-commercial-page > section.serene-segment-pains {
  background: var(--commercial-sky);
  color: var(--commercial-ink);
}
.serene-page .serene-segment-pains :is(h2, blockquote, figcaption) {
  color: var(--commercial-ink);
}
.serene-page .serene-segment-pains figure {
  border-top: 1px solid var(--commercial-line);
}
.serene-page .serene-segment-pains blockquote {
  font-size: clamp(1.375rem, 2.5vw, 2rem);
  line-height: 1.4;
  font-style: normal;
}
.serene-page .serene-segment-pains figcaption {
  color: var(--commercial-secondary);
}
.serene-page .serene-consultancy-hero {
  background: #fff;
}
.serene-page .serene-consultancy-areas a {
  border: 1px solid var(--commercial-line);
  border-radius: 8px;
  background: #ffffffb3;
  font-size: .875rem;
  line-height: 1.4;
  color: var(--commercial-ink);
}
.serene-page .serene-consultancy-areas svg {
  color: var(--commercial-accent);
}
.serene-page .serene-consultancy-areas a:focus-visible {
  outline: 2px solid var(--commercial-accent);
  outline-offset: 3px;
}
.serene-page .serene-consultancy-card {
  border-color: var(--commercial-line);
  border-radius: 8px;
  box-shadow: none;
}
.serene-page .serene-consultancy-card .font-sans {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  font-stretch: 112.5%;
}
.serene-page .serene-consultancy-card .display {
  font-size: 1.5rem;
  line-height: 1.3;
}
.serene-page .serene-consultancy-card:hover {
  box-shadow: 0 8px 20px -18px #15155566;
}
.serene-page .serene-consultancy-custom h2 {
  font-size: clamp(2rem, 4vw, 3.25rem);
}
.serene-page .serene-training-page .training-visual {
  background-image: none;
  background-color: #ffffffc9;
  border-color: var(--commercial-line);
  box-shadow: 0 12px 30px -26px #15155538;
}
.serene-page .serene-training-page .training-visual-path {
  background: var(--commercial-sky);
  border-color: var(--commercial-line);
}
.serene-page .serene-training-page .training-hero-facts {
  border: 1px solid var(--commercial-line);
  border-radius: 8px;
  background: #ffffffa6;
}
.serene-page .serene-training-page :is(.training-path, .training-option, .training-program, .training-sheet) {
  border-color: var(--commercial-line);
  border-radius: 8px;
  box-shadow: none;
}
.serene-page .serene-training-page :is(.training-path-graphic, .training-option-custom) {
  background: var(--commercial-sky);
}
.serene-page .serene-training-page :is(.training-path, .training-option):hover {
  box-shadow: none;
}
.serene-page .serene-training-page .training-sheet-cover {
  background: #1c1e2d;
}
.serene-page .serene-training-page .training-sheet-cover h3 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  letter-spacing: -.025em;
  font-stretch: 112.5%;
}
.serene-page .serene-training-page .training-program[open] {
  border-color: var(--commercial-accent);
}
.serene-page .serene-training-page .training-program[open] > .training-summary {
  background: var(--commercial-sky);
}
.serene-page .serene-training-final {
  background: var(--commercial-sky);
}
@media (min-width: 768px) {
  .serene-page .serene-segment-metric-list > div + div {
  border-left: 1px solid var(--commercial-line);
}
}

/* ── public/styles/cielo-sereno-partners.css ── */
.serene-page .serene-partners-index-title > span {
  color: #2e31c8;
}
.serene-page .serene-partners-catalogue {
  background: #ffffff;
}
.serene-page .serene-partners-group {
  border-top: 1px solid #d5d6dc;
}
.serene-page .serene-partners-group-number {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
  color: #2e31c8;
}
.serene-page .serene-partners-group h2 {
  font-size: clamp(28px,2.6vw,36px);
  line-height: 1.2;
}
.serene-page .serene-partners-group-lede {
  font-size: 15px;
  line-height: 1.65;
  color: #606275;
}
.serene-page .serene-partner-index-logo {
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #ececef;
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: #1c1e2d;
}
.serene-page .serene-partner-index-position {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 10px;
  letter-spacing: 0;
  color: #606275;
}
.serene-page .serene-partner-index-card h3 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -.02em;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-page .serene-partner-index-card-copy p {
  font-size: 14px;
  line-height: 1.65;
  color: #606275;
}
.serene-page .serene-partner-index-card-link {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  color: #2e31c8;
}
.serene-page .serene-partner-status {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: #606275;
}
.serene-page .serene-partner-description {
  font-size: clamp(17px,1.4vw,19px);
  line-height: 1.65;
  color: #606275;
}
.serene-page .serene-partner-identity[data-has-badge="false"] .serene-partner-directory {
  border-top: 0;
}
.serene-page .serene-identity-badge[data-badge-kind="n8n"] {
  border-radius: 8px;
  background: #1c1e2d;
}
.serene-page .serene-partner-directory {
  border-top: 1px solid #ececef;
  font-size: 12px;
  line-height: 1.55;
  color: #2e31c8;
}
.serene-page .serene-partner-directory-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0;
  color: #606275;
}
.serene-page .serene-partner-directory-arrow {
  font-size: 18px;
}
.serene-page .serene-partner-facts {
  background: #ffffff;
}
.serene-page .serene-partner-facts-grid {
  border-block: 1px solid #d5d6dc;
}
.serene-page .serene-partner-fact + .serene-partner-fact {
  border-top: 1px solid #d5d6dc;
}
.serene-page .serene-partner-fact-value {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: clamp(28px,3vw,40px);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.15;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-page .serene-partner-fact-value[data-long-value="true"] {
  font-size: clamp(26px,2.5vw,34px);
}
.serene-page .serene-partner-fact-label {
  font-size: 13px;
  line-height: 1.6;
  color: #606275;
}
.serene-page .serene-partner-facts[data-fact-kind="products"] .serene-partner-fact-value {
  font-size: clamp(27px,2.7vw,36px);
}
.serene-page .serene-partner-customers {
  background: #ffffff;
}
.serene-page .serene-partner-eyebrow {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: none;
  color: #606275;
}
.serene-page .serene-partner-section-heading h2 {
  font-size: clamp(30px,3.4vw,44px);
  line-height: 1.15;
}
.serene-page .serene-partner-prose p {
  font-size: 17px;
  line-height: 1.75;
  color: #606275;
}
.serene-page .serene-partner-prose p:first-child {
  color: #1c1e2d;
}
.serene-page .serene-partner-applications {
  background: #f7f7f9;
}
.serene-page .serene-partner-section-lede {
  font-size: 15px;
  line-height: 1.65;
  color: #606275;
}
.serene-page .serene-partner-use-case {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
}
.serene-page .serene-partner-use-case-number {
  font-family: "JetBrains Mono",monospace;
  font-size: 12px;
  letter-spacing: .04em;
  color: #606275;
}
.serene-page .serene-partner-use-case h3 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 22px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-page .serene-partner-use-case p {
  font-size: 15px;
  line-height: 1.75;
  color: #606275;
}
.serene-page .serene-partner-benefits {
  background: #ffffff;
}
.serene-page .serene-partner-benefits-panel {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
}
.serene-page .serene-partner-cases {
  background: #ffffff;
}
.serene-page .serene-partner-cases-link {
  font-size: 14px;
  line-height: 1.5;
  color: #2e31c8;
}
@media (min-width:640px) {
  .serene-page .serene-partner-fact:nth-child(2) {
  border-top: 0;
}
}
@media (min-width:640px) {
  .serene-page .serene-partner-fact:nth-child(even) {
  border-left: 1px solid #d5d6dc;
}
}
@media (min-width:1024px) {
  .serene-page .serene-partner-identity[data-has-badge="false"] .serene-partner-directory {
  border-top: 1px solid #ececef;
}
}
@media (min-width:1024px) {
  .serene-page .serene-partner-fact + .serene-partner-fact {
  border-top: 0;
  border-left: 1px solid #d5d6dc;
}
}

/* ── public/styles/cielo-sereno-editorial.css ── */
.serene-page :is(.serene-cases-hero,.serene-blog-index-hero) h1 {
  font-size: clamp(36px,4.5vw,60px) !important;
}
.serene-page :is(.serene-cases-hero,.serene-blog-index-hero) p {
  font-size: 18px;
  line-height: 1.65;
}
.serene-page .serene-cases-filters {
  background: #f7f7f9;
  border-color: #d5d6dc;
}
.serene-page .serene-filter-row button {
  border: 1px solid #d5d6dc;
  background: #fff;
  color: #606275;
  font: 500 13px/1.5 "Mona Sans","Inter",Arial,sans-serif;
}
.serene-page .serene-filter-row button[aria-pressed="true"] {
  border-color: #2e31c8;
  background: #2e31c8;
  color: #fff;
}
.serene-page .serene-cases-filters label {
  border-color: #747588;
  background: #fff;
}
.serene-page .serene-cases-filters input {
  font-size: 16px;
}
.serene-page .serene-case-hero h1 {
  font-size: clamp(34px,4.2vw,56px) !important;
}
.serene-page .serene-case-opening > div > p {
  font-size: 18px;
  line-height: 1.7;
}
.serene-page .serene-case-facts {
  border-radius: 8px;
}
.serene-page .serene-case-facts > .display {
  font: 650 26px/1.3 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.025em;
  font-stretch: 112.5%;
}
.serene-page .serene-case-facts dl {
  font: 400 13px/1.6 "Mona Sans","Inter",Arial,sans-serif;
}
.serene-page .serene-case-facts > p {
  font-size: 14px;
  line-height: 1.65;
}
.serene-page .serene-case-cover {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.serene-page :is(.serene-case-story,.serene-case-no-cover) p.text-lg {
  font-size: 18px;
  line-height: 1.75;
}
.serene-page :is(.serene-case-story,.serene-case-no-cover) li {
  font-size: 16px;
  line-height: 1.7;
}
.serene-page .serene-case-result-card {
  border-radius: 8px;
  background: #f7f7f9;
}
.serene-page .serene-case-result-card > p:first-child {
  font: 650 19px/1.4 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.02em;
  font-stretch: 112.5%;
}
.serene-page .serene-case-result-card > p + p {
  font-size: 15px;
  line-height: 1.7;
  color: #606275;
}
.serene-page .serene-case-quote {
  border-radius: 8px;
  background: #f7f7f9;
  color: #1c1e2d;
}
.serene-page .serene-case-quote > p {
  font: 650 clamp(21px,2.3vw,26px)/1.5 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.025em;
  font-stretch: 112.5%;
}
.serene-page .serene-case-quote footer {
  color: #606275;
  font: 400 13px/1.6 "Mona Sans","Inter",Arial,sans-serif;
}
.serene-page .serene-case-tools-title {
  font: 650 26px/1.25 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.03em;
  font-stretch: 112.5%;
}
.serene-page .serene-blog-featured {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
}
.serene-page .serene-blog-featured > div:first-child {
  border-radius: 8px;
  box-shadow: none;
}
.serene-page .serene-blog-featured h2 {
  font-size: clamp(26px,2.8vw,36px);
}
.serene-page .serene-blog-featured p {
  font-size: 16px;
  line-height: 1.7;
}
.serene-page .serene-blog-browse .public-blog-filter {
  border-radius: 8px;
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  background: #fff;
  border: 1px solid #d5d6dc;
  color: #606275;
}
.serene-page .serene-blog-browse .public-blog-filter[aria-pressed="true"] {
  background: #2e31c8;
  color: #fff;
  border-color: #2e31c8;
}
.serene-page .serene-blog-browse label {
  border: 1px solid #747588;
  border-radius: 8px;
  background: #fff;
}
.serene-page .serene-blog-browse input {
  font-size: 16px;
}
.serene-page .serene-blog-coming-label {
  font: 500 11px/1.5 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: 0;
  text-transform: none;
  color: #606275;
}
.serene-page .serene-blog-coming h2 {
  font-size: 26px;
}
.serene-page .serene-blog-coming p:last-child {
  font-size: 16px;
  line-height: 1.7;
  color: #606275;
}
.serene-page .serene-blog-card {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
}
.serene-page .serene-blog-card > div:first-child {
  border-radius: 8px;
}
.serene-page .serene-blog-card h3 {
  font: 650 22px/1.3 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.025em;
  font-stretch: 112.5%;
}
.serene-page .serene-blog-card .display:not(h1,h2,h3) {
  font: 650 28px/1.2 "Mona Sans","Inter",Arial,sans-serif;
  letter-spacing: -.025em;
  color: #606275;
  font-stretch: 112.5%;
}
.serene-page .public-blog-editorial-title {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  letter-spacing: -.035em;
  font-stretch: 112.5%;
}
.serene-page .serene-editorial-body :is(ul,ol) {
  font-size: 18px;
  line-height: 1.75;
}
.serene-page .serene-editorial-body blockquote {
  border-radius: 0 8px 8px 0;
  background: #f7f7f9;
  color: #1c1e2d;
  font-style: normal;
  font-size: 20px;
  line-height: 1.65;
}
.serene-page .serene-editorial-body aside {
  background: #f7f7f9;
}
.serene-page .serene-editorial-body aside > div {
  font-size: 16px;
  line-height: 1.7;
}
.serene-page .serene-editorial-body details {
  border-radius: 8px;
  background: #fff;
}
@media (max-width:639px) {
  .serene-page .serene-blog-card h3 {
  font-size: 21px;
}
}

/* ── public/styles/cielo-sereno-company.css ── */
.serene-page :is(.serene-about-page,.serene-team-page) {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
}
.serene-page :is(.serene-about-hero,.serene-team-hero) h1 + p {
  font-size: clamp(17px,1.4vw,19px);
  line-height: 1.65;
}
.serene-page :is(.serene-about-section,.serene-team-section) {
  border: 0;
}
.serene-page :is(.serene-about-section,.serene-team-section) h2 {
  font-size: clamp(30px,3.4vw,44px);
  line-height: 1.15;
}
.serene-page :is(.serene-about-mission,.serene-team-founders) {
  background: #f7f7f9;
}
.serene-page :is(.serene-about-vision,.serene-team-core,.serene-team-ecosystem) {
  background: #ffffff;
}
.serene-page :is(.serene-about-mission,.serene-about-vision) [class*="md:col-span-7"] {
  font-size: 17px;
  line-height: 1.75;
}
.serene-page :is(.serene-about-mission,.serene-about-vision) blockquote {
  border-left: 2px solid #9394a3;
}
.serene-page :is(.serene-about-mission,.serene-about-vision) blockquote p {
  font-size: 20px;
  line-height: 1.5;
  color: #1c1e2d;
}
.serene-page .serene-about-values {
  background: #f7f7f9;
  color: #1c1e2d;
}
.serene-page .serene-about-values [class*="text-bg"] {
  color: #606275;
}
.serene-page .serene-about-values :is(h2,h3) {
  color: #1c1e2d;
}
.serene-page .serene-value-card {
  background: #fff;
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  box-shadow: none;
}
.serene-page .serene-value-card:hover {
  background: #fff;
  border-color: #d5d6dc;
  box-shadow: none;
}
.serene-page .serene-value-card h3 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: -.025em;
  font-stretch: 112.5%;
}
.serene-page .serene-value-card p {
  font-size: 15px;
  line-height: 1.7;
}
.serene-page .serene-value-card ul {
  border-color: #d5d6dc;
}
.serene-page .serene-value-card li {
  font-size: 14px;
  line-height: 1.6;
}
.serene-page .serene-value-card .relative > span:first-child {
  background: #ffffff;
}
.serene-page .serene-team-person {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
.serene-page .serene-team-person:hover {
  border-color: #d5d6dc;
  box-shadow: none;
}
.serene-page .serene-team-photo {
  border-radius: 8px;
  background: #f7f7f9;
}
.serene-page .serene-team-person-copy > p:first-child {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
  color: #606275;
}
.serene-page .serene-team-person-copy h3 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 22px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-page .serene-team-person-copy h3 + p {
  font-size: 14px;
  line-height: 1.7;
  color: #606275;
}
.serene-page .serene-team-linkedin {
  background: #fff;
  color: #1c1e2d;
  box-shadow: 0 2px 8px rgb(21 21 85 / .1);
}
.serene-page .serene-team-linkedin:hover {
  background: #2e31c8;
  color: #fff;
}
.serene-page .serene-team-ecosystem {
  border-top: 1px solid #d5d6dc;
}
.serene-page .serene-team-traveler {
  border-color: #d5d6dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
.serene-page .serene-team-advisor {
  border-color: #d5d6dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
.serene-page .serene-team-advisor:hover {
  border-color: #d5d6dc;
  box-shadow: none;
}
.serene-page .serene-team-advisor p {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 14px;
  line-height: 1.4;
}
@media (min-width:1100px) {
  .serene-page .serene-team-member {
  border-radius: 8px;
}
}
@media (min-width:1100px) {
  .serene-page .serene-team-member .serene-team-photo {
  border-radius: 8px;
}
}
@media (min-width:1100px) {
  .serene-page .serene-team-member .serene-team-person-copy > p:first-child {
  font-size: 11px;
  line-height: 1.35;
}
}
@media (min-width:1100px) {
  .serene-page .serene-team-member .serene-team-person-copy h3 {
  font-size: 16px;
  line-height: 1.25;
}
}
@media (max-width:639px) {
  .serene-page .serene-team-person-copy h3 {
  font-size: 21px;
}
}

/* ── public/styles/cielo-sereno-error.css ── */
.serene-page .serene-error-page {
  --error-paper: #f7f7f9;
  --error-ink: #1c1e2d;
  --error-muted: #606275;
  background: var(--error-paper);
  color: var(--error-ink);
}
.serene-page .serene-error-eyebrow {
  font: 500 13px/1.6 "Mona Sans","Inter",Arial,sans-serif;
  color: var(--error-muted);
}
.serene-page .serene-error-copy h1 {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: clamp(46px,6vw,76px) !important;
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.045em;
  font-stretch: 112.5%;
}
.serene-page .serene-error-copy h1 span {
  color: var(--error-accent);
}
.serene-page .serene-error-lede {
  font: 400 17px/1.7 "Mona Sans","Inter",Arial,sans-serif;
  color: var(--error-muted);
}
.serene-page .serene-error-home {
  border: 1px solid var(--error-accent);
  border-radius: 4px;
  background: var(--error-accent);
  color: #fff;
  font: 500 15px/1.6 "Mona Sans","Inter",Arial,sans-serif;
}
.serene-page .serene-error-links a {
  font: 500 14px/1.6 "Mona Sans","Inter",Arial,sans-serif;
  color: var(--error-ink);
}
.serene-page .serene-error-links a span {
  color: var(--error-accent);
}
.serene-page .serene-error-footnote {
  font: 400 12px/1.8 "Mona Sans","Inter",Arial,sans-serif;
  color: var(--error-muted);
}
.serene-page .serene-error-footnote a {
  color: var(--error-ink);
}
.serene-page .serene-error-page a:focus-visible {
  outline: 2px solid var(--error-accent);
  outline-offset: 5px;
}
.serene-page .serene-error-horizon::after {
  background: linear-gradient(180deg,var(--error-paper) 0%,transparent 35%,transparent 73%,var(--error-paper) 100%);
}
@media (min-width:901px) {
  .serene-page .serene-error-horizon::after {
  background: linear-gradient(90deg,var(--error-paper) 0%,rgb(247 247 249 / .94) 9%,rgb(247 247 249 / .62) 28%,transparent 52%),linear-gradient(180deg,rgb(247 247 249 / .88) 0%,transparent 34%,transparent 72%,var(--error-paper) 100%);
}
}
@media (min-width:901px) {
  .serene-page .serene-error-lede {
  font-size: 18px;
}
}
@media (max-width:380px) {
  .serene-page .serene-error-copy h1 {
  font-size: 44px !important;
}
}
@media (max-width:380px) {
  .serene-page .serene-error-links a {
  font-size: 13px;
}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .serene-page .serene-error-home:hover {
  background: #25269a;
}
}

/* ── public/styles/cielo-sereno-legal.css ── */
.serene-legal-page {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  background: #ffffff;
  color: #1c1e2d;
}
.serene-legal-page > div {
  background: #ffffff;
}
.serene-legal-page > div > div:first-child {
  border: 0;
  background: #ffffff;
}
.serene-legal-page > div > div:first-child > div {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 12px;
}
.serene-legal-page section {
  background: #ffffff;
  border-color: #d5d6dc;
}
.serene-legal-page section:first-of-type {
  border-bottom: 1px solid #d5d6dc;
}
.serene-legal-page :is(h1,h2,h3,h4) {
  font-family: "Mona Sans","Inter",Arial,sans-serif !important;
  font-synthesis: none;
  color: #1c1e2d;
  font-stretch: 112.5%;
}
.serene-legal-page h1.display {
  font-size: clamp(32px,3.6vw,48px) !important;
  font-weight: 550;
  line-height: 1.15;
  letter-spacing: -.03em;
}
.serene-legal-page h2 {
  font-size: clamp(25px,2.3vw,30px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.serene-legal-page h3 {
  font-size: 21px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.015em;
}
.serene-legal-page h4 {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .02em;
}
.serene-legal-page article :is(p,ul,ol) {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #606275;
}
.serene-legal-page article strong {
  color: #1c1e2d;
  font-weight: 600;
}
.serene-legal-page article a {
  color: #2e31c8;
}
.serene-legal-page article table {
  background: #fff;
  border-color: #d5d6dc;
}
.serene-legal-page article thead {
  background: #f7f7f9;
}
.serene-legal-page article th {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .02em;
  text-transform: none;
  color: #1c1e2d;
}
.serene-legal-page article td {
  font-size: 14px;
  line-height: 1.7;
  color: #606275;
}
.serene-legal-page article blockquote {
  background: #f7f7f9;
  border-color: #9394a3;
}
.serene-legal-page section:last-of-type {
  background: #f7f7f9;
}
.serene-legal-page section:last-of-type a.group {
  background: #fff;
  border-color: #d5d6dc;
  border-radius: 8px;
  box-shadow: none;
}
.serene-legal-page section:last-of-type a.group h3 {
  font-size: 21px;
}
.serene-legal-page section:last-of-type a.group:hover {
  background: #fff;
  border-color: #9394a3;
  box-shadow: none;
}
.serene-legal-page :is(a,button):focus-visible {
  outline: 3px solid #2e31c8;
  outline-offset: 4px;
}
.serene-legal-page [class*="text-muted-fg"] {
  color: #606275;
}

/* ── src/styles/serene-home.css ── */
html .serene-home-hero {
  color: #1c1e2d;
}
html .serene-home-hero h1.public-rotating-headline.serene-headline {
  color: #1c1e2d;
}
html .serene-home-hero .serene-headline-phrases {
  color: #2e31c8;
}
html .serene-home-motion {
  border: 1px solid #ffffff2e;
  border-radius: 4px;
  color: #fff;
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .01em;
}
html .serene-home-motion:hover:not(:disabled),
html .serene-home-motion:focus-visible {
  border-color: #ffffff66;
}
html .serene-home-motion:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
html .serene-home-motion-icon {
  font-family: Arial,sans-serif;
  font-size: 11px;
}

/* ── src/styles/home-journal.css ── */
html .serene-home-journal {
  border-top: 1px solid #d5d6dc;
  color: #1c1e2d;
  background: #ffffff;
}
html .serene-home-journal h2 {
  font-size: clamp(34px, 4.3vw, 54px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.045em;
}
html .serene-home-journal h2 > span {
  color: #2e31c8;
}
html .serene-home-journal .home-journal-all {
  border-bottom: 1px solid #9394a3;
  color: #1c1e2d;
  font-size: 14px;
  font-weight: 500;
}
html .serene-home-journal .home-journal-link {
  border: 1px solid #d5d6dc;
  border-radius: 8px;
  background: #ffffff;
  color: inherit;
}
html .serene-home-journal .home-journal-art {
  border-bottom: 1px solid #d5d6dc;
  background: #f7f7f9;
}
html .serene-home-journal .home-journal-systems .home-journal-art {
  background: #f7f7f9;
}
html .serene-home-journal .home-journal-cover-arrow {
  border: 1px solid #d5d6dc;
  border-radius: 50%;
  color: #1c1e2d;
  background: #ffffff;
}
html .serene-home-journal .home-journal-category {
  color: #606275;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}
html .serene-home-journal h3 {
  font-size: clamp(23px, 2.25vw, 29px);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: -.035em;
}
html .serene-home-journal .home-journal-copy > p {
  color: #606275;
  font-size: 15px;
  line-height: 1.65;
}
html .serene-home-journal .home-journal-read {
  border-top: 1px solid #d5d6dc;
  color: #1c1e2d;
  font-size: 13px;
  font-weight: 600;
}
html .serene-home-journal .home-journal-link:focus-visible,
html .serene-home-journal .home-journal-all:focus-visible {
  outline: 3px solid #2e31c8;
  outline-offset: 5px;
}
html .serene-home-journal .home-journal-link:hover,
html .serene-home-journal .home-journal-link:focus-visible {
  border-color: #9394a3;
  box-shadow: 0 12px 30px #1515550d;
}
html .serene-home-journal .home-journal-link:hover .home-journal-cover-arrow,
html .serene-home-journal .home-journal-link:focus-visible .home-journal-cover-arrow {
  background: #2e31c8;
  color: white;
  border-color: #2e31c8;
}
html .serene-home-journal .home-journal-all:hover {
  color: #2e31c8;
  border-color: currentColor;
}
@media (max-width: 760px) {
  html .serene-home-journal h3 {
  font-size: clamp(23px, 5.5vw, 29px);
}
}

/* ── src/styles/case-card.css ── */
html .tof-case-card {
  border: 1px solid rgb(var(--border));
  border-radius: 4px;
  background: rgb(var(--card));
  color: rgb(var(--foreground));
  font-family: "Mona Sans", "Mona Sans","Inter",Arial,sans-serif;
}
html .tof-case-card:hover {
  border-color: rgb(var(--primary));
}
html .tof-case-brand.tof-case-brand.tof-case-brand {
  border: 0;
  background: transparent;
}
html .tof-case-brand .tof-case-client:not(.sr-only) {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
}
html .tof-case-card .tof-case-summary.tof-case-summary {
  color: rgb(var(--foreground));
  font-family: "Mona Sans", "Mona Sans","Inter",Arial,sans-serif;
  font-size: 17px;
  font-weight: 650;
  font-stretch: 112.5%;
  line-height: 1.3;
  letter-spacing: -.015em;
}
html .tof-case-result.tof-case-result {
  border: 0;
  color: rgb(var(--muted-foreground));
  font-size: 14px;
  line-height: 1.45;
}
html .tof-case-result.tof-case-result :is(.serene-case-metric, .serene-case-qualifier) {
  color: inherit;
  font: inherit;
  letter-spacing: 0;
}
html .tof-case-result.tof-case-result .serene-case-metric.is-figure {
  color: rgb(var(--primary));
  font-weight: 650;
}
html .tof-case-card > .tof-case-meta {
  border-top: 1px solid rgb(var(--border) / .6);
}
html .tof-case-tool {
  border: 1px solid rgb(var(--border));
  border-radius: 4px;
  background: rgb(var(--card));
  color: rgb(var(--foreground));
}
html .tof-case-tools-more {
  color: rgb(var(--muted-foreground));
  font-family: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;
  font-size: 12.5px;
}
html .tof-case-tag {
  border: 1px solid rgb(var(--border) / .6);
  border-radius: 4px;
  background: rgb(var(--background));
  color: rgb(var(--muted-foreground));
  font-size: 12.5px;
  line-height: 1.35;
}
@media (forced-colors: active) {
  html .tof-case-card:hover {
  border-color: Highlight;
}
}

/* ── src/styles/cases-catalogue.css ── */
html .tof-cases-hero,
html .tof-cases-featured,
html .tof-cases-all {
  color: rgb(var(--foreground));
  font-family: "Mona Sans", "Mona Sans","Inter",Arial,sans-serif;
}
html .tof-cases-hero {
  background: linear-gradient(180deg, #f7f7f9 0%, rgb(var(--background)) 100%);
}
html .tof-cases-hero h1.tof-cases-title {
  font-family: "Mona Sans", "Mona Sans","Inter",Arial,sans-serif;
  font-weight: 650;
  font-stretch: 112.5%;
  line-height: 1.05;
  letter-spacing: -.022em;
}
html .tof-cases-featured {
  background: rgb(var(--background));
}
html .tof-featured-card {
  border: 1px solid rgb(var(--border));
  border-radius: 8px;
  background: rgb(var(--card));
  color: rgb(var(--foreground));
}
html .tof-featured-card:hover {
  border-color: rgb(var(--primary));
}
html .tof-featured-card h3.tof-featured-title {
  font-family: "Mona Sans", "Mona Sans","Inter",Arial,sans-serif;
  font-size: 22px;
  font-weight: 650;
  font-stretch: 112.5%;
  line-height: 1.2;
  letter-spacing: -.022em;
}
html .tof-featured-quote {
  border: 0;
}
html .tof-featured-quote p {
  color: rgb(var(--muted-foreground));
  font-size: 15px;
  line-height: 1.5;
}
html .tof-featured-quote footer {
  color: rgb(var(--muted-foreground));
  font-size: 13px;
  line-height: 1.4;
}
html .tof-featured-crop {
  border: 1px solid rgb(var(--border));
  border-radius: 4px;
  background: rgb(var(--background));
}
html .tof-featured-card > .tof-case-meta {
  border-top: 1px solid rgb(var(--border) / .6);
}
html .tof-cases-all {
  border-top: 1px solid rgb(var(--border) / .6);
  background: rgb(var(--background));
}
html .tof-cases-all h2.tof-cases-heading {
  font-family: "Mona Sans", "Mona Sans","Inter",Arial,sans-serif;
  font-size: 28px;
  font-weight: 650;
  font-stretch: 112.5%;
  line-height: 1.1;
  letter-spacing: -.022em;
}
html .tof-cases-count {
  color: rgb(var(--muted-foreground));
  font-family: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
html .tof-cases-link {
  border: 0;
  background: none;
  color: rgb(var(--primary));
  font: inherit;
  font-size: 14px;
  font-weight: 600;
}
html .tof-cases-link:hover {
  color: rgb(var(--foreground));
}
html .tof-cases-filters :is(select, input[type="search"]) {
  border: 1px solid rgb(var(--border));
  border-radius: 4px;
  background-color: rgb(var(--card));
  color: rgb(var(--foreground));
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
}
html .tof-cases-filters :is(select, input[type="search"]):hover {
  border-color: #9394a3;
}
html .tof-cases-filters select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m2 2 4 4 4-4' stroke='%23344c5b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}
html .tof-cases-search-icon {
  color: rgb(var(--muted-foreground));
}
html .tof-cases-search-clear {
  border-radius: 4px;
  color: rgb(var(--muted-foreground));
}
html .tof-cases-search-clear:hover {
  color: rgb(var(--foreground));
}
html .tof-cases-filters :is(select, input[type="search"], a, button):focus-visible,
html .tof-cases-link:focus-visible,
html .tof-cases-more-button:focus-visible,
html .tof-featured-card:focus-visible {
  outline: 2px solid rgb(var(--primary));
  outline-offset: 2px;
}
html .tof-cases-more-button {
  border: 1px solid rgb(var(--primary));
  border-radius: 4px;
  background: rgb(var(--card));
  color: rgb(var(--primary));
  font: inherit;
  font-size: 16px;
  font-weight: 600;
}
html .tof-cases-more-button:hover {
  background: rgb(var(--primary));
  color: #fff;
}
html .tof-cases-empty {
  border: 1px solid rgb(var(--border));
  border-radius: 8px;
  background: rgb(var(--card));
}
html .tof-cases-empty-title {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.35;
}
html .tof-cases-empty-body {
  color: rgb(var(--muted-foreground));
}
@media (forced-colors: active) {
  html .tof-cases-filters select {
  background-image: none;
}
}
@media (forced-colors: active) {
  html .tof-featured-card:hover {
  border-color: Highlight;
}
}

/* ── src/styles/public-reading.css ── */
html .public-home-hero .public-hero-reserved-text::after {
  font-family: system-ui, sans-serif;
}
html .public-blog-filters .public-blog-filter:focus-visible {
  outline: 2px solid rgb(var(--primary));
  outline-offset: 3px;
  border-radius: 4px;
}
html .public-blog-editorial-cover {
  color: rgb(var(--foreground));
  background-color: rgb(var(--secondary));
  background-image: linear-gradient(rgb(var(--border) / 0.3) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--border) / 0.3) 1px, transparent 1px);
  background-size: 32px 32px;
}
html .public-blog-editorial-cover .public-blog-editorial-brand,
html .public-blog-editorial-cover .public-blog-editorial-category {
  font-family: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;
  font-size: 11px;
  line-height: 1.4;
}
html .public-blog-editorial-cover .public-blog-editorial-title {
  font-family: "Mona Sans","Inter",Arial,sans-serif;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
}
html .public-blog-editorial-cover .public-blog-editorial-topic {
  border: 1px solid rgb(var(--primary) / 0.3);
  border-radius: 4px;
  color: rgb(var(--primary));
  background: rgb(var(--background));
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}
