/* Approved Violet concept, 2026-10-01. One V in the hero; abstract light elsewhere. */
html:root {
  --glass-fill: linear-gradient(135deg, rgb(255 255 255 / .66), rgb(244 237 255 / .32));
  --glass-edge: rgb(255 255 255 / .92);
  --glass-shadow: inset 0 1px 2px rgb(255 255 255 / .95), inset 1px 0 2px rgb(255 255 255 / .65), 0 12px 34px rgb(84 49 151 / .075);
  --glass-solid: #f6f2ff;
  --reading-fill: rgb(255 255 255 / .78);
  --glass-control: rgb(255 255 255 / .64);
  --glass-accent: #6220ed;
  --glass-muted: #554967;
  --glass-tint: rgb(144 99 255 / .13);
  --glass-blur: 15px;
}
html:root:not([data-theme="dark"]) {
  color-scheme: light;
  --paper: #f8f5ff; --paper-2: #eee7ff; --ink: #171026;
  --muted: #554967; --violet: #6822f4; --line: rgb(89 62 142 / .17);
  --line-strong: rgb(89 62 142 / .28); --radius: 24px;
}
html:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #110c1d; --paper-2: #211631; --ink: #f6f1ff; --muted: #d0c5e0;
  --violet: #c1a0ff; --line: rgb(224 204 255 / .2); --line-strong: rgb(224 204 255 / .35);
  --glass-fill: linear-gradient(135deg, rgb(48 33 70 / .78), rgb(29 18 49 / .68));
  --glass-edge: rgb(227 207 255 / .23);
  --glass-shadow: inset 0 1px 1px rgb(240 222 255 / .2), inset 1px 0 1px rgb(221 199 255 / .12), 0 14px 38px rgb(0 0 0 / .18);
  --glass-solid: #251a35; --reading-fill: rgb(24 17 37 / .92);
  --glass-control: rgb(49 33 71 / .78); --glass-accent: #c6a6ff;
  --glass-muted: #d0c5e0; --glass-tint: rgb(168 116 255 / .13);
}
html { scroll-padding-top: 114px; }
html:root.violet-refresh body { background: var(--paper); color: var(--ink); isolation: isolate; }
.violet-refresh main, .violet-refresh .footer { position: relative; z-index: 1; }
.violet-refresh .grain, .violet-refresh .cursor-dot { display: none !important; }
html.violet-refresh body.custom-cursor, html.violet-refresh body.custom-cursor * { cursor: auto !important; }
html.violet-refresh body :is(a, button, summary, select, label.chip-check), html.violet-refresh body.custom-cursor :is(a, button, summary, select, label.chip-check) * { cursor: pointer !important; }
html.violet-refresh body :is(input, textarea) { cursor: text !important; caret-color: var(--violet); }
html.violet-refresh body :is(h1,h2,h3,h4) { color: var(--ink); letter-spacing: -.03em; text-wrap: balance; }
html.violet-refresh body :is(h1,h2) { line-height: 1.08; }
html.violet-refresh body ::selection { color: #fff; background: #702cf2; }
html.violet-refresh body :focus-visible { outline: 3px solid var(--glass-accent); outline-offset: 5px; }
html.violet-refresh body { scrollbar-color: #bfa6e9 var(--paper); }
html.violet-refresh body [data-reveal], html.violet-refresh body .article-body.is-observed section[data-article-section] { opacity: 1; transform: none; transition: none; }
.violet-refresh .scroll-meter { height: 2px; }
.violet-refresh .scroll-meter span { background: #8d57ff; box-shadow: none; will-change: auto; }

/* A fixed abstract atmosphere remains visible through the moving content. */
.ambient-stage { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; contain: strict; background: var(--paper); }
.ambient-parallax { position: absolute; inset: -8%; transform: translateY(calc(var(--page-progress, 0) * -70px)); }
.ambient-drift { position: absolute; inset: 0; animation: violet-atmosphere 28s ease-in-out infinite alternate; }
.ambient-drift img { width: 100%; height: 100%; display: block; object-fit: cover; opacity: .86; }
.ambient-light { position: absolute; inset: 0; background: radial-gradient(ellipse at 82% 24%, rgb(159 110 255 / .21), transparent 48%), radial-gradient(ellipse at 17% 84%, rgb(132 153 255 / .12), transparent 50%); animation: violet-light 19s ease-in-out infinite alternate; }
html[data-theme="dark"] .ambient-drift img { opacity: .12; mix-blend-mode: screen; }
html[data-theme="dark"] .ambient-light { opacity: .5; }
@keyframes violet-atmosphere { from { transform: translate(-1%, -1%) scale(1.03); } to { transform: translate(1.3%, 1.6%) scale(1.075); } }
@keyframes violet-light { from { opacity: .3; } to { opacity: .72; } }
html[data-violet-motion="paused"] .ambient-stage *, html[data-page-hidden="true"] .ambient-stage * { animation-play-state: paused !important; }
html[data-violet-motion="paused"] .ambient-parallax { transform: none; }

/* Shared panel treatment, including service and editorial pages. */
html:root.violet-refresh body :is(.service-issue,.journey-card,.vis-panel,.client-card,.client-reading,.portfolio-project,.team-person,.team-next,.audit-card,.audit-board article,.signal-strip article,.niche-preview-card,.niche-hub-card,.niche-channel-card,.niche-plan-grid article,.niche-funnel article,.system-steps article,.flow-strip div,.price-rows article,.lab-console,.brief-poster,.article-card,.article-long,.article-radar,.article-toc,.article-aside-cta,.article-related-grid a,.article-detail-note,.article-inline-note,.article-nav a,.tag-search,.service-hub-card,.service-scope-grid article,.service-process-grid article,.service-orbit,.service-signal,.service-metrics,.niches-hero-visual,.niche-hero-system,.niche-metrics,.niche-cta,.articles-cta,.proof-card,.project-sheet,.service-start-note,.client-article-action) {
  border: 1px solid var(--glass-edge); border-radius: 24px;
  color: var(--ink); background: var(--glass-fill); box-shadow: var(--glass-shadow);
  backdrop-filter: blur(var(--glass-blur)) saturate(1.12); -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.12);
  transform: none;
}
html:root.violet-refresh body :is(.service-issue,.client-card,.client-reading,.niche-preview-card,.niche-hub-card,.audit-card,.audit-board article,.brief-poster,.journey-card,.vis-panel,.service-signal,.service-orbit,.niches-hero-visual,.niche-hero-system,.niche-metrics,.service-metrics,.articles-cta,.niche-cta,.lab-console) :is(h2,h3,h4,strong,b) { color: var(--ink); }
html:root.violet-refresh body :is(.service-issue,.client-card,.client-reading,.niche-preview-card,.niche-hub-card,.audit-card,.audit-board article,.brief-poster,.journey-card,.vis-panel,.service-signal,.service-orbit,.niche-hero-system,.niche-metrics,.service-metrics,.articles-cta,.niche-cta,.lab-console,.service-scope-grid,.service-process-grid) :is(p,em,li) { color: var(--glass-muted); }
html:root.violet-refresh body :is(.service-issue,.client-card,.client-reading,.niche-preview-card,.niche-hub-card,.audit-card,.audit-board article)>span { color: var(--glass-accent); }
html:root.violet-refresh body :is(.section-index,.eyebrow,.article-section-number,.team-person-role,.portfolio-link) { color: var(--glass-accent); }
.violet-refresh :is(.audit-main::after,.brief-poster::before,.article-card::before,.service-signal::before,.service-signal::after,.niche-hero-system::before,.articles-hero::before) { display: none; }
.violet-refresh :is(.service-hub-card,.article-card,.article-related-grid a,.niche-hub-card,.niche-preview-card,.service-issue,.portfolio-project) { transition: transform 220ms ease, border-color 220ms ease; }
html:root.violet-refresh body :is(.service-hub-card,.article-card,.article-related-grid a,.niche-hub-card,.niche-preview-card,.service-issue,.portfolio-project):hover { transform: translateY(-3px); border-color: #cbb3fa; box-shadow: var(--glass-shadow); }

/* Header and buttons mirror the approved floating capsules. */
html:root.violet-refresh body .site-nav { top: 16px; left: max(18px, calc((100% - 1340px) / 2)); right: max(18px, calc((100% - 1340px) / 2)); min-height: 72px; padding: 8px 12px; gap: 22px; border: 1px solid var(--glass-edge); border-radius: 22px; background: var(--glass-fill); box-shadow: var(--glass-shadow); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); }
.violet-refresh .brand { min-width: 140px; }
.violet-refresh .brand-mark { width: 52px; height: 52px; flex-basis: 52px; }
.violet-refresh .site-nav .nav-links { gap: 0; justify-self: center; padding: 3px; border: 1px solid var(--line); border-radius: 14px; background: var(--glass-control); }
html:root.violet-refresh body .site-nav nav a { border: 0; border-radius: 10px; background: transparent; color: var(--ink); font-weight: 700; font-size: 13px; padding: 12px; }
html:root.violet-refresh body .site-nav nav a:hover, html:root.violet-refresh body .site-nav nav a.is-current { background: var(--glass-tint); color: var(--glass-accent); transform: none; }
html:root.violet-refresh body :is(.button,.nav-action,.article-more,.offer-btn) { border: 1px solid rgb(255 255 255 / .62); border-radius: 14px; min-height: 52px; padding: 14px 22px; font: 700 14px/1.4 var(--font-body); color: #fff; background: linear-gradient(150deg,#9054ff 0%,#6a25f4 44%,#5c13e6 100%); box-shadow: inset 0 1px 2px rgb(255 255 255 / .45), 0 7px 18px rgb(99 28 231 / .2); transform: none; }
html:root.violet-refresh body :is(.button,.nav-action,.article-more,.offer-btn):hover { transform: translateY(-2px); color: #fff; }
html:root.violet-refresh body :is(.button-line,.theme-toggle,.nav-toggle,.hero-arrow) { color: var(--ink); background: var(--glass-control); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); border-radius: 14px; }
html:root.violet-refresh body .button-line:hover { color: var(--glass-accent); }
html:root.violet-refresh body .theme-toggle { min-height: 48px; padding: 10px 14px; font-size: 12px; }
html:root.violet-refresh[data-theme] body .theme-toggle:hover { color: var(--ink); background: var(--glass-control); }
.violet-refresh .nav-action { min-height: 48px; }
.violet-refresh .nav-toggle { flex-shrink: 0; }
html:root.violet-refresh body .mobile-menu { border-color: var(--glass-edge); background: var(--reading-fill); border-radius: 22px; backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); top: 98px; }
.violet-refresh .mobile-menu nav a { border-color: var(--line); border-radius: 12px; }
.violet-refresh :is(.section-block,.yandex-lab,.brief,.hero-inner,.static-shell,.service-hero,.service-hub-hero,.articles-hero,.topic-hero,.niches-hero,.niche-hero) { width: min(1240px, calc(100% - 64px)); }
.violet-refresh :is(.section-block,.yandex-lab,.brief) { position: relative; }
.violet-refresh :is(.services,.system,.pricing,.manifesto,.client-section,.niches-preview,.agency-team) { padding-top: 72px; padding-bottom: 72px; }
.violet-refresh .section-title { display: block; border: 0; padding: 0; margin-bottom: 32px; }
.violet-refresh :is(.section-title h2,.client-section h2) { max-width: 930px; margin: 14px 0 24px; font-size: clamp(34px,4.05vw,58px); line-height: 1.08; }
.violet-refresh .section-index { font: 700 12px/1.5 var(--font-body); letter-spacing: .03em; }
.violet-refresh .reference-band { background: var(--glass-fill); color: var(--glass-accent); border: 0; border-block: 1px solid var(--glass-edge); margin: 40px 0 0; }
.violet-refresh .reference-band div { animation: none; flex-wrap: wrap; justify-content: center; padding: 20px 0; }
.violet-refresh .reference-band span:nth-child(n+13) { display: none; }
.violet-refresh .reference-band span { font-size: 15px; }

/* The first screen: one V, behind the journey panel, contained in the hero. */
html:root.violet-refresh body .hero { overflow: hidden; background: transparent; border: 0; }
.violet-refresh .hero-bg-type { display: none; }
.violet-refresh .hero-inner { grid-template-columns: 1.06fr 1fr; min-height: 800px; gap: 30px; padding: 170px 0 92px; }
.violet-refresh .hero-text { min-height: 530px; }
.violet-refresh .hero-slide h1 { font-size: clamp(44px,4.65vw,68px); max-width: 100%; font-weight: 750; line-height: .99; margin: 22px 0 26px; letter-spacing: -.04em; }
.violet-refresh .hero-slide h1 span { color: var(--glass-accent); }
.violet-refresh .hero-slide h2 { font-size: clamp(38px,4.3vw,62px); max-width: 14ch; margin: 20px 0 24px; }
.violet-refresh .hero-slide>p:not(.eyebrow) { font-size: 16px; line-height: 1.65; max-width: 51ch; color: var(--muted); }
.violet-refresh .hero-slide .eyebrow { font-size: 11px; letter-spacing: .02em; margin: 0; }
.violet-refresh .hero-actions { gap: 12px; margin-top: 30px; }
.violet-refresh .hero-actions .button { min-height: 58px; }
.violet-refresh .hero-actions .button-dark { box-shadow: 0 0 0 8px rgb(255 255 255 / .42), inset 0 1px 2px rgb(255 255 255 / .4), 0 8px 25px rgb(96 26 211 / .2); }
.violet-refresh .hero-controls { margin-top: 38px; justify-content: flex-start; gap: 10px; }
.violet-refresh .hero-arrow { width: 34px; height: 34px; min-height: 34px; padding: 8px; opacity: .8; }
.violet-refresh .hero-dots { gap: 9px; }
.violet-refresh .hero-dots button { width: 32px; height: 24px; padding: 0; border: 0; background: transparent; box-shadow: none; position: relative; }
.violet-refresh .hero-dots button::after { content: ''; position: absolute; top: 10px; inset-inline: 0; height: 6px; border: 1px solid #a38ac7; border-radius: 9px; }
.violet-refresh .hero-dots button.is-active::after { background: #7026f7; border-color: #7026f7; }
.violet-refresh .hero-visuals { min-height: 550px; }
.hero-v { position: absolute; width: 124%; max-width: none; height: auto; right: -14%; top: -110px; z-index: 0; pointer-events: none; }
html[data-theme="dark"] .hero-v { opacity: .76; }
.violet-refresh .hero-vis { z-index: 1; }
html:root.violet-refresh body .journey-card { width: 94%; max-width: 425px; padding: 44px 24px 24px; margin: 24px 0 0 25px; border-radius: 28px; background: linear-gradient(130deg, rgb(255 255 255 / .6), rgb(240 229 255 / .24)); }
html:root.violet-refresh[data-theme="dark"] body .journey-card { background: var(--glass-fill); }
.violet-refresh .journey-head { margin-bottom: 22px; }
.violet-refresh .journey-head>span { display: none; }
.violet-refresh .journey-head strong { font-size: 31px; color: var(--ink); }
.violet-refresh .journey-steps { gap: 10px; }
.violet-refresh .journey-steps li { padding: 16px 14px; grid-template-columns: 42px 1fr 24px; gap: 12px; border: 1px solid var(--glass-edge); background: rgb(255 255 255 / .24); border-radius: 16px; box-shadow: inset 0 1px 2px rgb(255 255 255 / .5); }
.violet-refresh .journey-steps i { display: grid; place-items: center; width: 42px; height: 46px; border-radius: 12px; color: var(--ink); background: var(--glass-control); box-shadow: var(--glass-shadow); font-weight: 600; }
.violet-refresh .journey-steps b { color: var(--ink); font-size: 17px; }
html:root.violet-refresh body .journey-steps em { color: var(--muted); font: 400 13px/1.4 var(--font-body); margin-top: 5px; }
.violet-refresh .journey-steps svg { width: 21px; height: 21px; stroke-width: 1.6; color: var(--glass-accent); }
.violet-refresh .journey-steps .is-goal { background: linear-gradient(135deg,rgb(234 255 142 / .65),rgb(221 254 95 / .32)); border-color: #e9ffac; }
html:root.violet-refresh body .journey-steps .is-goal :is(i,b,em,svg) { color: #253910; }
html.violet-refresh[data-theme="dark"] .journey-steps li { background: rgb(255 255 255 / .07); }
html.violet-refresh[data-theme="dark"] .journey-steps .is-goal { background: #c4e982; }
html.violet-refresh[data-theme="dark"] .journey-steps .is-goal i { background: rgb(255 255 255 / .65); }
html:root.violet-refresh body .hero-chip { border: 1px solid rgb(255 255 255 / .75); box-shadow: inset 0 1px 2px rgb(255 255 255 / .6),0 5px 14px rgb(108 63 181 / .08); padding: 11px 14px; font-size: 10px; top: -18px; }
html:root.violet-refresh body .hero-chip.chip-a { background: #dfff8b; color: #283c0d; left: 20px; }
html:root.violet-refresh body .hero-chip.chip-b { background: #7c37f4; color: #fff; right: 18px; top: -3px; }
.hero-handnote { position: absolute; right: 12px; bottom: -55px; width: 132px; color: var(--muted); font: italic 15px/1.45 var(--font-display); transform: rotate(-9deg); text-align: center; }
.hero-handnote svg { width: 38px; height: 30px; margin-left: 8px; stroke-width: 1.1; }

/* Four-screen composition from the mockup. */
.home-glass .services { padding-top: 60px; }
.home-glass .services .section-title { display: grid; grid-template-columns: 1.35fr .8fr; column-gap: 100px; align-items: end; }
.home-glass .services .section-title>.section-index { grid-column: 1 / -1; }
.home-glass .services .section-title h2 { margin: 18px 0 0; max-width: 660px; }
.glass-section-lead { color: var(--muted); font-size: 15px; line-height: 1.7; margin: 0 0 5px; }
.home-glass .service-spread { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; grid-auto-rows: auto; }
html:root.home-glass body .service-issue { grid-column: auto; padding: 23px 23px 58px; min-height: 252px; border-radius: 24px; }
.home-glass .service-visual { display: none; }
.home-glass .service-issue>span:not(.glass-service-icon):not(.glass-card-arrow) { display: none; }
.home-glass .service-issue .glass-service-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 17px; background: rgb(255 255 255 / .33); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); color: var(--glass-accent); }
.glass-service-icon svg { width: 31px; height: 31px; stroke-width: 1.7; }
html:root.home-glass body .service-issue:nth-of-type(4n+2) { background: linear-gradient(125deg,rgb(223 235 255 / .45),rgb(244 239 255 / .37)); }
html:root.home-glass body .service-issue:nth-of-type(4) { background: linear-gradient(130deg,rgb(246 255 226 / .67),rgb(244 243 255 / .35)); }
html:root.home-glass[data-theme="dark"] body .service-issue:nth-of-type(n) { background: var(--glass-fill); }
html:root.home-glass body .service-issue h3 { color: var(--ink); margin: 23px 0 10px; font: 750 20px/1.3 var(--font-body); letter-spacing: -.03em; }
html:root.home-glass body .service-issue p { color: var(--muted); font: 400 15px/1.6 var(--font-body); margin: 0; }
.home-glass .glass-card-arrow { position: absolute; bottom: 17px; right: 17px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--glass-edge); background: var(--glass-control); }
.glass-card-arrow svg { width: 17px; height: 17px; stroke-width: 1.5; color: var(--ink); }
.glass-work-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 30px; }
.home-glass #work h2 { margin-bottom: 0; font-size: clamp(34px,3.7vw,53px); }
.glass-work-heading>a { flex: none; color: var(--glass-accent); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.portfolio-selected { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.violet-refresh .portfolio-project { padding: 12px 12px 24px; }
.violet-refresh .portfolio-feature { display: block; }
.violet-refresh .portfolio-project img { border: 0; border-radius: 15px; object-fit: cover; }
.violet-refresh .portfolio-project :is(h4,p,span) { margin-left: 14px; margin-right: 14px; }
.violet-refresh .portfolio-project h4 { font-size: 25px; margin-top: 22px; margin-bottom: 8px; }
.violet-refresh .portfolio-project>span, .violet-refresh .portfolio-project p { color: var(--muted); font: 400 15px/1.65 var(--font-body); }
.violet-refresh .portfolio-project .portfolio-link { color: var(--glass-accent); font-weight: 700; font-size: 14px; }
.violet-refresh .portfolio-feature p { max-width: none; }
.portfolio-more { margin-top: 26px; }
.portfolio-more>summary { width: fit-content; margin: 0 auto; list-style-position: inside; color: var(--glass-accent); padding: 13px 21px; border: 1px solid var(--glass-edge); background: var(--glass-control); border-radius: 14px; font-size: 14px; font-weight: 700; }
.portfolio-more[open]>summary { margin-bottom: 36px; }
.portfolio-more .portfolio-gallery { margin-top: 36px; }
.home-glass #team { padding-top: 62px; }
.violet-refresh .team-portraits { gap: 22px; }
.violet-refresh .team-person { padding: 12px 12px 25px; }
.violet-refresh .team-person>img { border-radius: 16px; object-fit: cover; }
.violet-refresh .team-photographic .team-person h3 { margin: 20px 10px 8px; font-size: 24px; }
.violet-refresh .team-photographic .team-person p { color: var(--muted); margin: 12px 10px 0; font-size: 14px; line-height: 1.65; }
.violet-refresh .team-photographic .team-person .team-person-role { margin: 0 10px; color: var(--glass-accent); font-size: 13px; font-weight: 600; }
.home-glass .team-person>p:not(.team-person-role) { display: none; }
.violet-refresh .team-photographic .team-intro { grid-template-columns: 1.45fr 1fr; gap: 80px; }
.violet-refresh .team-photographic .team-intro h2 { font-size: clamp(34px,3.9vw,56px); }
.violet-refresh .team-photographic .team-intro>p { color: var(--muted); font-size: 15px; }
.violet-refresh .team-next { padding: 30px 34px; margin-top: 38px; }
.violet-refresh .team-next strong { display: block; font: 700 32px/1.16 var(--font-display); color: var(--ink); margin-top: 8px; }
.violet-refresh .team-next .team-actions { flex-wrap: nowrap; gap: 22px; }
.home-glass .team-next .team-actions>a:not(.button) { max-width: 130px; font-size: 12px; }

/* Continue the same surfaces across the rest of the website. */
.violet-refresh .client-lead { color: var(--muted); }
.violet-refresh .client-proof-featured .client-number { color: var(--glass-accent); letter-spacing: -.04em; }
html:root.violet-refresh body .client-proof-featured :is(p,a,h3,strong,span) { color: var(--ink); }
.violet-refresh :is(.system-steps article:nth-child(even),.flow-strip div,.price-rows article:hover) { transform: none; }
.violet-refresh .flow-strip div::after { display: none; }
.violet-refresh .price-rows { gap: 16px; }
.violet-refresh .price-rows article { padding: 24px; }
.violet-refresh .price-rows strong { background: transparent; color: var(--glass-accent); }
.violet-refresh :is(.service-orbit,.service-signal,.niches-hero-visual,.niche-hero-system) { overflow: hidden; }
.violet-refresh :is(.niche-hero-system,.service-orbit) span { border-color: var(--glass-edge); color: var(--ink); background: var(--glass-control); box-shadow: none; }
html:root.violet-refresh body :is(.service-signal,.service-orbit) :is(span,i) { color: var(--glass-accent); background: var(--glass-control); border-color: var(--line); }
html:root.violet-refresh body .vis-panel .vis-tag { color: var(--glass-accent); }
.violet-refresh .eco-tile { border-color: var(--glass-edge); border-radius: 15px; background: var(--glass-control); }
.violet-refresh .growth-bars i { border: 0; border-radius: 8px 8px 0 0; background: linear-gradient(#b790ff,#6f29ec); }
.violet-refresh .console-tabs button { border-radius: 12px; border: 1px solid var(--line); background: var(--glass-control); color: var(--ink); }
.violet-refresh .console-tabs button.is-active { background: #7430ed; color: #fff; }
html:root.violet-refresh body .mode-chips span { color: var(--glass-accent); background: var(--glass-control); border-color: var(--glass-edge); border-radius: 10px; }
.violet-refresh .console-visual span { color: var(--muted); }
.violet-refresh .console-visual span::after { border: 0; border-radius: 6px; background: linear-gradient(90deg,#b995ff,#7530ed); }
.violet-refresh .brief-poster { padding: 56px; border-radius: 32px; }
.violet-refresh .brief-poster h2 { max-width: 17ch; font-size: clamp(38px,5vw,68px); }
.violet-refresh .client-next { border-color: var(--line); }
.violet-refresh .footer { padding-top: 36px; padding-bottom: 36px; border-color: var(--line); display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.ambient-toggle { display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: var(--glass-control); font: 600 12px/1.4 var(--font-body); }
.ambient-toggle svg { width: 15px; height: 15px; stroke-width: 1.8; }
.ambient-toggle .motion-play { display: none; }
.ambient-toggle[aria-pressed="true"] .motion-pause { display: none; }
.ambient-toggle[aria-pressed="true"] .motion-play { display: block; }
.violet-refresh .article-detail-hero { border-color: var(--line); }
.violet-refresh :is(.article-body,.static-content>section:not(.team-photographic)) { padding: 34px; background: var(--reading-fill); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); border-radius: 26px; }
.violet-refresh .article-body { gap: 32px; }
.violet-refresh .article-body :is(p,li) { max-width: 72ch; color: var(--muted); line-height: 1.8; }
.violet-refresh .article-body h2 { font-size: clamp(28px,3vw,39px); line-height: 1.14; }
.violet-refresh .article-body h3 { line-height: 1.25; }
.violet-refresh .article-body section { padding-bottom: 30px; }
.violet-refresh :is(.article-table-wrap,.proof-table-wrap) { max-width: 100%; border-radius: 15px; border: 1px solid var(--line); }
.violet-refresh :is(.article-table-wrap th,.proof-table th) { background: var(--glass-tint); color: var(--ink); }
.violet-refresh :is(.article-table-wrap td,.proof-table td) { background: transparent; color: var(--muted); }
.violet-refresh .article-toc { max-height: calc(100dvh - 130px); }
.violet-refresh :is(.article-sources a,.article-author,.article-method,.longform-guide-list article) { border-color: var(--line); }
html:root.violet-refresh body .client-article-action { padding: 22px; flex-wrap: wrap; }
.violet-refresh :is(.article-tags a,.article-back,.tag-filters button,.editorial-routes a,.client-owner-routes a) { border-radius: 12px; border: 1px solid var(--line); color: var(--glass-accent); background: var(--glass-control); box-shadow: none; }
html:root.violet-refresh body .tag-filters button.is-active { color: #fff; background: #7027e9; }
.violet-refresh :is(.tag-search input,.article-sort select) { border-color: var(--line); border-radius: 12px; color: var(--ink); background: var(--glass-control); }
.violet-refresh .article-card-number { color: var(--glass-accent); opacity: .35; }
.violet-refresh :is(.articles-hero-visual::before,.articles-hero-visual::after) { border-color: var(--glass-edge); background: var(--glass-tint); border-radius: 35%; box-shadow: none; }
.violet-refresh .article-radar>span { background: var(--glass-control); color: var(--ink); border: 1px solid var(--glass-edge); box-shadow: none; border-radius: 10px; }
.violet-refresh .static-hero { border-color: var(--line); }
.violet-refresh .service-faq-list, .violet-refresh .service-faq-list details { border-color: var(--line); }
.violet-refresh .proof-note { background: var(--glass-control); color: var(--muted); border-radius: 12px; border-color: var(--line); }

/* Form controls remain opaque enough for reading in both themes. */
html:root.violet-refresh body :is(.modal-panel,.modal-foot) { background: var(--glass-solid); color: var(--ink); border-color: var(--glass-edge); box-shadow: var(--glass-shadow); }
.violet-refresh .modal-panel { border-radius: 26px; }
.violet-refresh .modal-backdrop { background: rgb(24 11 46 / .56); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
html:root.violet-refresh body .modal :is(input:not([type=checkbox]),textarea,select) { color: var(--ink); background: var(--glass-control); border-color: var(--line-strong); border-radius: 12px; }
.violet-refresh .modal :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
.violet-refresh .modal-close { background: var(--glass-control); color: var(--ink); border: 1px solid var(--line); border-radius: 50%; }
.violet-refresh .chip-check span { color: var(--muted); background: var(--glass-control); border-color: var(--line); border-radius: 11px; }
html:root.violet-refresh body .chip-check input:checked+span { background: #7430ed; color: #fff; border-color: #7430ed; }
.violet-refresh .consent a { color: var(--glass-accent); }
.violet-refresh .modal-head :is(h2,p), .violet-refresh .field-label { color: var(--ink); }
html:root.violet-refresh body .brief-details summary { color: var(--ink); }
html:root.violet-refresh body .consent a { color: var(--glass-accent); }
html:root.violet-refresh body .modal :is(.button-dark,.button-acid) { color: #fff; background: linear-gradient(150deg,#9054ff,#6821ed); border-color: rgb(255 255 255 / .5); }

@media (max-width: 1160px) {
  .violet-refresh .site-nav .nav-links { display: none; }
  .violet-refresh .site-nav { grid-template-columns: auto 1fr; }
  .violet-refresh .nav-end { justify-content: flex-end; }
  .violet-refresh .nav-toggle { display: flex; }
  .home-glass .service-spread { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
  html:root.home-glass body .service-issue { padding: 20px 17px 54px; }
  html:root.home-glass body .service-issue h3 { font-size: 18px; }
  .violet-refresh .hero-inner { gap: 24px; min-height: 740px; }
  .violet-refresh .hero-slide h1 { font-size: 56px; }
  .violet-refresh .hero-visuals { min-height: 500px; }
  .hero-v { top: -70px; }
  .violet-refresh .team-portraits { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
  .violet-refresh .team-photographic .team-person h3 { font-size: 21px; }
}
@media (max-width: 900px) {
  .violet-refresh :is(.section-block,.yandex-lab,.brief,.hero-inner,.static-shell,.service-hero,.service-hub-hero,.articles-hero,.topic-hero,.niches-hero,.niche-hero) { width: calc(100% - 40px); }
  .violet-refresh .hero-inner { grid-template-columns: 1fr; padding-top: 135px; padding-bottom: 40px; gap: 0; }
  .violet-refresh .hero-text { min-height: 0; }
  .violet-refresh .hero-slide h1 { max-width: 13ch; font-size: clamp(44px,7.2vw,65px); }
  .violet-refresh .hero-slide h2 { max-width: 17ch; }
  .violet-refresh .hero-visuals { width: min(550px,100%); margin: 20px auto 0; min-height: 540px; }
  .hero-v { width: 112%; right: -6%; top: -35px; }
  .violet-refresh .journey-card { margin-left: 0; }
  .hero-handnote { bottom: 0; }
  .home-glass .services .section-title { column-gap: 30px; grid-template-columns: 1.4fr 1fr; }
  .home-glass .service-spread { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .violet-refresh .team-portraits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .violet-refresh .team-photographic .team-intro { gap: 30px; grid-template-columns: 1.3fr 1fr; }
  .violet-refresh .team-photographic .team-next { flex-direction: column; align-items: flex-start; gap: 25px; }
  .violet-refresh .article-shell { grid-template-columns: 1fr; }
  .violet-refresh .article-aside { position: static; }
  .violet-refresh .article-toc { max-height: 400px; }
  .violet-refresh .brief-poster { padding: 36px; }
}
@media (max-width: 600px) {
  html:root { --glass-blur: 9px; }
  html:root.violet-refresh body .site-nav { top: 10px; left: 10px; right: 10px; min-height: 62px; padding: 6px 9px; gap: 5px; border-radius: 18px; }
  .violet-refresh .site-nav .brand { min-width: 106px; }
  .violet-refresh .brand-mark { width: 39px; height: 39px; flex-basis: 39px; }
  .violet-refresh .brand-type strong { font-size: 20px; }
  .violet-refresh .brand-type small { font-size: 7px; }
  .violet-refresh .nav-end { gap: 7px; }
  html:root.violet-refresh body .theme-toggle { min-height: 42px; padding: 9px 10px; font-size: 10px; }
  .violet-refresh .nav-action { display: none; }
  .violet-refresh .nav-toggle { width: 40px; height: 42px; }
  html:root.violet-refresh body .mobile-menu { top: 82px; inset-inline: 10px; }
  .violet-refresh :is(.section-block,.yandex-lab,.brief,.hero-inner,.static-shell,.service-hero,.service-hub-hero,.articles-hero,.topic-hero,.niches-hero,.niche-hero) { width: calc(100% - 32px); }
  .violet-refresh .hero-inner { padding-top: 122px; padding-bottom: 26px; }
  .violet-refresh .hero-slide h1 { font-size: clamp(41px,11.2vw,59px); max-width: 12ch; margin: 22px 0; line-height: 1.04; }
  .violet-refresh .hero-slide h2 { font-size: 39px; }
  .violet-refresh .hero-slide>p:not(.eyebrow) { font-size: 14px; line-height: 1.7; }
  .violet-refresh .hero-slide .eyebrow { font-size: 9px; }
  .violet-refresh .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 25px; }
  html:root.violet-refresh body .hero-actions .button { width: auto; min-width: 0; min-height: 50px; font-size: 11px; padding: 12px 9px; }
  .violet-refresh .hero-controls { margin-top: 24px; }
  .violet-refresh .hero-visuals { min-height: 440px; margin-top: 16px; }
  .hero-v { top: -18px; width: 120%; right: -10%; }
  html:root.violet-refresh body .journey-card { width: 94%; max-width: 350px; padding: 32px 16px 18px; margin: 22px 0 0; border-radius: 24px; }
  .violet-refresh .journey-head { margin-bottom: 15px; }
  .violet-refresh .journey-head strong { font-size: 27px; }
  .violet-refresh .journey-steps li { padding: 12px 10px; grid-template-columns: 34px 1fr 19px; gap: 10px; }
  .violet-refresh .journey-steps i { width: 34px; height: 39px; font-size: 11px; }
  .violet-refresh .journey-steps b { font-size: 14px; }
  html:root.violet-refresh body .journey-steps em { font-size: 11px; }
  html:root.violet-refresh body .hero-chip { font-size: 8px; padding: 9px 11px; }
  .hero-handnote { display: none; }
  .violet-refresh :is(.services,.system,.pricing,.manifesto,.client-section,.niches-preview,.agency-team) { padding-top: 45px; padding-bottom: 45px; }
  .home-glass .services .section-title, .violet-refresh .team-photographic .team-intro { display: block; }
  .home-glass .services .section-title h2 { margin-bottom: 20px; }
  .glass-section-lead { font-size: 14px; }
  .home-glass .service-spread { gap: 12px; }
  html:root.home-glass body .service-issue { min-height: 250px; padding: 17px 15px 46px; border-radius: 21px; }
  .home-glass .service-issue .glass-service-icon { width: 47px; height: 47px; border-radius: 14px; }
  .glass-service-icon svg { width: 27px; height: 27px; }
  html:root.home-glass body .service-issue h3 { font-size: 16px; margin: 19px 0 10px; text-wrap: auto; }
  html:root.home-glass body .service-issue p { font-size: 12px; line-height: 1.6; }
  .home-glass .glass-card-arrow { width: 30px; height: 30px; right: 13px; bottom: 13px; }
  .glass-work-heading { display: block; }
  .glass-work-heading>a { display: inline-block; margin-top: 18px; }
  .portfolio-selected { grid-template-columns: 1fr; gap: 20px; }
  .violet-refresh .portfolio-project { padding: 9px 9px 22px; }
  .violet-refresh .portfolio-project h4 { font-size: 23px; margin-inline: 10px; }
  .violet-refresh .portfolio-project :is(p,span) { margin-inline: 10px; font-size: 14px; }
  .violet-refresh .portfolio-project .portfolio-link { font-size: 13px; }
  .violet-refresh .team-photographic .team-intro>p { margin-top: 20px; font-size: 14px; }
  .violet-refresh .team-portraits { gap: 12px; }
  .violet-refresh .team-person { padding: 8px 8px 18px; border-radius: 20px; }
  .violet-refresh .team-person>img { border-radius: 12px; }
  .violet-refresh .team-photographic .team-person h3 { font-size: 19px; margin: 16px 5px 6px; }
  .violet-refresh .team-photographic .team-person .team-person-role { font-size: 11px; margin: 0 5px; min-height: 36px; }
  .violet-refresh .team-photographic .team-person p { font-size: 12px; margin-inline: 5px; }
  .violet-refresh .team-next { padding: 24px; }
  .violet-refresh .team-next strong { font-size: 29px; }
  .violet-refresh .team-next .team-actions { flex-wrap: wrap; align-items: flex-start; justify-content: flex-start; }
  .violet-refresh .brief-poster { padding: 28px 22px; }
  .violet-refresh :is(.article-body,.static-content>section:not(.team-photographic)) { padding: 23px 19px; border-radius: 21px; }
  .violet-refresh .article-body :is(p,li) { font-size: 15px; line-height: 1.75; }
  .violet-refresh .article-body h2 { font-size: 28px; }
  .violet-refresh .article-body ul, .violet-refresh .article-body ol { padding-left: 21px; }
  .violet-refresh .article-table-wrap { max-width: 100%; }
  .violet-refresh .modal-panel { border-radius: 22px; }
  .ambient-drift img { object-position: 58% center; }
}
@media (prefers-reduced-motion: reduce) {
  .ambient-stage *, .violet-refresh *, .violet-refresh *::before, .violet-refresh *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .ambient-parallax { transform: none; }
  .violet-refresh [data-reveal] { transform: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html:root.violet-refresh body :is(.service-issue,.journey-card,.client-card,.team-person,.portfolio-project,.site-nav,.mobile-menu,.vis-panel,.article-card,.article-toc,.niche-preview-card,.niche-hub-card) { background: var(--glass-solid); }
}
@media (prefers-contrast: more) {
  html:root { --glass-fill: var(--glass-solid); --glass-edge: var(--ink); --reading-fill: var(--glass-solid); --glass-muted: var(--ink); }
  .ambient-stage { display: none; }
}
@media (forced-colors: active) {
  .ambient-stage,.hero-v,.hero-handnote { display: none; }
  .violet-refresh :is(a,button,article,section,input,textarea,summary) { box-shadow: none; border-color: CanvasText; }
}

/* Continuous ribbon flow and visible floating V, 2026-10-01. */
html:root {
  --glass-fill: linear-gradient(135deg, rgb(255 255 255 / .34), rgb(244 237 255 / .13));
  --glass-edge: rgb(255 255 255 / .68);
  --glass-shadow: inset 0 1px 1px rgb(255 255 255 / .72), inset 1px 0 1px rgb(255 255 255 / .25), 0 12px 34px rgb(84 49 151 / .055);
  --glass-blur: 5px;
  --glass-muted: #42334f;
  --coil-color: #ab78f6;
  --coil-edge: #9e65ed;
  --coil-shine: #ffffff;
  --coil-body-opacity: .16;
  --coil-edge-opacity: .42;
  --coil-light-opacity: .92;
}
html:root:not([data-theme="dark"]) { --muted: #42334f; }
html:root[data-theme="dark"] {
  --glass-fill: linear-gradient(135deg, rgb(44 30 64 / .42), rgb(25 16 42 / .20));
  --glass-edge: rgb(222 201 255 / .3);
  --glass-shadow: inset 0 1px 1px rgb(232 213 255 / .23), inset 1px 0 1px rgb(221 199 255 / .09), 0 14px 38px rgb(0 0 0 / .12);
  --glass-control: rgb(48 32 69 / .62);
  --glass-muted: #e1d7ee; --muted: #e1d7ee;
  --coil-color: #9c65ff;
  --coil-edge: #bc96ff;
  --coil-shine: #eee0ff;
  --coil-body-opacity: .24;
  --coil-edge-opacity: .54;
  --coil-light-opacity: .68;
}
.ambient-parallax { transform: none; }
.ambient-drift { animation: none; }
.ambient-drift img { opacity: .36; }
html[data-theme="dark"] .ambient-drift img { opacity: .065; }
.ambient-light { animation: violet-light 12s ease-in-out infinite alternate; }
.ribbon-field { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.ribbon-stream { position: absolute; top: -100%; left: -8%; width: 116%; height: 300%; animation: ribbon-descent 42s linear infinite; animation-delay: -13s; }
.ribbon-stream svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ribbon-body { fill: url(#violet-ribbon-wash); opacity: var(--coil-body-opacity); stroke: none; }
.ribbon-edge { fill: none; stroke: var(--coil-edge); stroke-width: 2; opacity: var(--coil-edge-opacity); }
.ribbon-shine { fill: none; stroke: var(--coil-shine); stroke-width: 2; opacity: var(--coil-light-opacity); }
.ribbon-thread { fill: none; stroke: var(--coil-edge); stroke-width: 1.1; opacity: .22; }
@keyframes ribbon-descent { from { transform: translate3d(0,0,0); } to { transform: translate3d(0,33.3333333333%,0); } }

/* Float and scroll offset are separate transforms, so they never override each other. */
.hero-v-orbit { position: absolute; width: 124%; right: -14%; top: -110px; aspect-ratio: 1; z-index: 0; pointer-events: none; transform: translate3d(0,var(--v-scroll,0px),0); }
.hero-v-orbit .hero-v { position: static; display: block; width: 100%; height: auto; max-width: none; transform-origin: 50% 55%; animation: violet-hover 8s ease-in-out infinite; }
@keyframes violet-hover {
  0%,100% { transform: translate3d(8px,10px,0) rotate(-1.5deg) scale(.97); }
  50% { transform: translate3d(-10px,-24px,0) rotate(1.8deg) scale(1.035); }
}
html[data-theme="dark"] .hero-v-orbit .hero-v { opacity: .9; }
html:root.violet-refresh body .journey-card { background: linear-gradient(130deg,rgb(255 255 255 / .30),rgb(238 225 255 / .12)); }
html:root.violet-refresh[data-theme="dark"] body .journey-card { background: linear-gradient(130deg,rgb(47 29 70 / .38),rgb(27 16 45 / .18)); }
.violet-refresh .journey-steps li { background: rgb(255 255 255 / .15); }
html.violet-refresh[data-theme="dark"] .journey-steps li { background: rgb(25 16 40 / .16); }
.violet-refresh .journey-steps .is-goal { background: linear-gradient(135deg,rgb(234 255 142 / .61),rgb(221 254 95 / .35)); }
html.violet-refresh[data-theme="dark"] .journey-steps .is-goal { background: rgb(196 233 130 / .88); }
html:root.home-glass body .service-issue:nth-of-type(4n+2) { background: linear-gradient(125deg,rgb(211 229 255 / .23),rgb(244 239 255 / .12)); }
html:root.home-glass body .service-issue:nth-of-type(4) { background: linear-gradient(130deg,rgb(241 255 212 / .30),rgb(244 243 255 / .12)); }
html:root.home-glass[data-theme="dark"] body .service-issue:nth-of-type(n) { background: var(--glass-fill); }
html:root.violet-refresh body .site-nav { backdrop-filter: blur(11px); -webkit-backdrop-filter: blur(11px); }
html:root.violet-refresh body .mobile-menu { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

/* A visible pause control is available next to the theme switch. */
html:root.violet-refresh body .nav-end .ambient-toggle { display: inline-grid; place-items: center; flex: 0 0 42px; width: 42px; height: 46px; padding: 0; background: var(--glass-control); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); border-radius: 14px; color: var(--ink); }
.nav-end .ambient-toggle>span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.nav-end .ambient-toggle:disabled { opacity: .6; }
html[data-violet-motion="paused"] :is(.ribbon-stream,.hero-v), html[data-page-hidden="true"] :is(.ribbon-stream,.hero-v), html[data-hero-visible="false"] .hero-v { animation-play-state: paused !important; }
html[data-violet-motion="paused"] .hero-v-orbit { transform: none; }
@media (max-width: 1160px) { .hero-v-orbit { top: -70px; } }
@media (max-width: 900px) { .hero-v-orbit { width: 112%; right: -6%; top: -35px; } }
@media (max-width: 600px) {
  html:root { --glass-blur: 3px; }
  .hero-v-orbit { top: -18px; width: 120%; right: -10%; }
  .ribbon-stream { left: -46%; width: 192%; animation-duration: 46s; }
  .hero-v-orbit .hero-v { animation-name: violet-hover-mobile; }
  html:root.violet-refresh body .nav-end .ambient-toggle { width: 31px; height: 42px; flex-basis: 31px; border-radius: 12px; }
  .violet-refresh .nav-end { gap: 5px; }
  @keyframes violet-hover-mobile {
    0%,100% { transform: translate3d(4px,8px,0) rotate(-1.4deg) scale(.97); }
    50% { transform: translate3d(-7px,-15px,0) rotate(1.5deg) scale(1.025); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .ribbon-stream,.hero-v-orbit .hero-v { animation: none !important; }
  .hero-v-orbit { transform: none !important; }
}
@media (prefers-contrast: more) {
  html:root { --glass-fill: var(--glass-solid); --glass-edge: var(--ink); }
  html:root.home-glass body .service-issue:nth-of-type(n), html:root.violet-refresh body .journey-card { background: var(--glass-solid); }
}
@media (forced-colors: active) { .ribbon-field,.hero-v-orbit { display: none; } }

/* Russian text keeps short words, dates and units together in the static HTML. */
html.violet-refresh body :is(p,li,dd,figcaption) { text-wrap: pretty; }
html.violet-refresh body :is(h1,h2,h3,h4) { hyphens: manual; }

/* A wide table must scroll within the reading column, never stretch its text. */
.violet-refresh :is(.article-body,.article-body>*,.article-detail-hero>*,.article-shell>*,.niche-hero>*,.service-hero>*,.service-hub-hero>*) { min-width: 0; }
.violet-refresh .article-body { grid-template-columns: minmax(0,1fr); }
.violet-refresh :is(.article-table-wrap,.proof-table-wrap) { width: 100%; min-width: 0; }
@media (max-width: 1060px) {
  .violet-refresh :is(.article-shell,.article-detail-hero) { grid-template-columns: minmax(0,1fr); }
}

/* Content and metadata remain readable at phone widths. */
@media (max-width: 600px) {
  .violet-refresh .hero-slide>p:not(.eyebrow) { font-size: 15px; }
  .violet-refresh .hero-slide .eyebrow { font-size: 11px; }
  .violet-refresh .glass-section-lead { font-size: 15px; }
  html:root.home-glass body .service-issue p { font-size: 14px; }
  .violet-refresh .team-photographic .team-person p:not(.team-person-role) { font-size: 14px; }
  .violet-refresh .article-body :is(p,li) { font-size: 16px; }
  html:root.violet-refresh body .hero-chip { font-size: 11px; }
  html:root.violet-refresh body .theme-toggle { font-size: 11px; padding-inline: 8px; }
  .violet-refresh .site-nav .brand { min-width: 100px; }
  .violet-refresh :is(.article-card-meta,.article-card>span,.article-detail-meta span,.article-detail-meta time,.article-card em,.article-section-number,.article-author a) { font-size: 12px; }
}

/* Intrinsic content must stay inside the reading and industry grids. */
.violet-refresh .static-content {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}
.violet-refresh .static-content > section,
.violet-refresh .niche-hub-card {
  min-width: 0;
}
@media (max-width: 600px) {
  .violet-refresh .niche-hub-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Give service guide headings a full line before the explanatory text on tablets. */
@media (min-width: 601px) and (max-width: 900px) {
  .violet-refresh .service-guide .longform-guide-list article > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .violet-refresh .service-guide .longform-guide-list h3 {
    grid-row: auto;
    margin-bottom: 18px;
  }
}

/* Only measured long headings use these attributes; typefaces remain unchanged. */
@media (max-width: 400px) {
  .violet-refresh .article-detail-hero h1[data-heading-fit="title"] {
    font-size: clamp(30px, 9.4vw, 37.44px);
  }
  .violet-refresh .article-body h2[data-heading-fit="section"] {
    font-size: clamp(22px, 7vw, 28px);
  }
  .violet-refresh .niche-hero h1[data-heading-fit="niche-title"] {
    font-size: clamp(40px, 12.5vw, 43.2px);
  }
  .violet-refresh main.brief h2[data-heading-fit="error-title"] {
    font-size: clamp(34px, 10.6vw, 38px);
  }
}

/* The summary panel uses the current theme text color, including list items. */
html:root.violet-refresh body .article-detail-note li { color: var(--glass-muted); }

/* The privacy heading must also fit its corrected reading column. */
@media (max-width: 400px) {
  .violet-refresh .static-content h2[data-heading-fit="static-section"] { font-size: clamp(30px, 9.4vw, 32px); }
}

/* Reduced motion must keep the article hub heading and actions visible. */
@media (prefers-reduced-motion: reduce) {
  html.violet-refresh body.articles-page:not(.article-detail-page) .articles-hero-copy > * { opacity: 1; transform: none; }
}
