/* CShark Crystal / Liquid Glass. Shared enhancement, solid readable fallback.
   Brand artwork, business facts, form endpoints and demo logic are unchanged. */
:root {
  --crystal-ink: #10212e;
  --crystal-line: rgba(16,33,46,.15);
  --crystal-shadow: 0 18px 48px -26px rgba(16,33,46,.3), inset 0 1px 0 rgba(255,255,255,.92);
  --crystal-radius: 22px;
}
/* Keep the established Onest face and native 16px form controls on iPhone. */
body { -webkit-text-size-adjust: 100%; }
:where(h1,h2,h3,p,li,dt,dd,label,button,a) { overflow-wrap: break-word; }
body main :where(div,section,article,aside,figure,nav,form,header) { min-width: 0; }
body main :is(h1,h2,h3,p,span,strong,li,dt,dd,a) { overflow-wrap: anywhere; }
body .guide-hero h1,body .section-heading h2,body .heading-split > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
body .docs-table-wrap { min-width: 0; max-width: 100%; margin-inline: 0; overflow-x: auto; }
:where(.page-shell,.semantic-hero-layout,.semantic-two-column,.catalog-hero,.catalog-grid,.header-actions) > * { min-width: 0; }
:where(main img,main video) { max-width: 100%; }
:where(input,select,textarea) { min-width: 0; max-width: 100%; font: inherit; }
:where(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #08765d; outline-offset: 4px; }
.page-band-dark :where(a,button,input,textarea,select,summary):focus-visible,
.cshark-footer :focus-visible { outline-color: #c9f54a; }

/* Glass is reserved for small surfaces: no full-page blur or scroll animation. */
body .site-header,
body[data-page="overview"] .site-header,
body.inner-page .site-header {
  border-radius: 20px;
  border: 1px solid rgba(16,33,46,.16);
  background: #f5f8f7;
  color: var(--crystal-ink);
  box-shadow: var(--crystal-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body .site-header.scrolled,
body[data-page="overview"] .site-header.scrolled,
body.inner-page .site-header.scrolled { background: #f1f6f4; box-shadow: 0 8px 28px -18px rgba(16,33,46,.36), inset 0 1px 0 #fff; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body .site-header,
  body[data-page="overview"] .site-header,
  body.inner-page .site-header { background: rgba(248,251,250,.9); backdrop-filter: blur(16px) saturate(1.18); -webkit-backdrop-filter: blur(16px) saturate(1.18); }
  body .site-header.scrolled,
  body[data-page="overview"] .site-header.scrolled,
  body.inner-page .site-header.scrolled { background: rgba(244,249,247,.86); }
}
body .desktop-nav-organized { gap: 4px; }
body .desktop-nav-organized > .nav-direct,
body .desktop-nav-organized > .nav-cluster > summary { min-height: 44px; border-radius: 12px; }
body .desktop-nav-organized > .nav-direct.active,
body .desktop-nav-organized > .nav-cluster.is-active > summary { color: #10212e; background: #d5f77b; box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
body .site-header.scrolled .desktop-nav-organized > .nav-direct.active,
body .site-header.scrolled .nav-cluster.is-active > summary { color: #075d48; background: #dcebe4; }
body .site-header .button-light { color: #fff; background: #10212e; border-color: #10212e; }
body .site-header.scrolled .header-actions .button-light { color: #10212e; background: #e1ebe6; border-color: #b0c4ba; }
body .site-header .icon-button,
body .site-header .header-contact-menu > summary,
body .site-header .language-switcher > summary { min-width: 44px; min-height: 44px; color: #075d48; border-radius: 12px; }
body .nav-dropdown { border-radius: 20px; background: #f8fbf9; border: 1px solid #c5d4ce; box-shadow: 0 22px 64px -24px rgba(16,33,46,.4), inset 0 1px 0 #fff; max-width: calc(100vw - 32px); }
body .nav-dropdown a { border-radius: 12px; }
@media (min-width:981px) {
  body .site-header .nav-cluster { position: static; }
  body .site-header .nav-dropdown { left: 50%; right: auto; top: calc(100% + 12px); transform: translateX(-50%); }
}
body .button { min-height: 44px; border-radius: 12px; white-space: normal; text-align: center; line-height: 1.35; }
body .button-primary { color: #10212e; background: #c9f54a; border-color: #b1dd35; box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 6px 18px -12px rgba(16,33,46,.4); }
body .button-primary:hover { color: #10212e; background: #d8fa7a; border-color: #a2c939; }
body.inner-page .button-primary { color: #10212e; background: #c9f54a; border-color: #b1dd35; }
body.inner-page .button-primary:hover { color: #10212e; background: #d8fa7a; }
body .desktop-nav-organized > .nav-direct.active,
body .desktop-nav-organized > .nav-cluster.is-active > summary { border: 1px solid #b6d1c3; }
body .guide-card { border-radius: 20px; border: 1px solid #c5d6ce; background: linear-gradient(145deg,#fff,#edf5f1); box-shadow: var(--crystal-shadow); }
body .guide-card,body .guide-card h2,body .guide-card p { color: #10212e; }
body .guide-card .guide-card__code,body .guide-card .guide-card__link { color: #075d48; }
body .guide-card.guide-card--tool { background: linear-gradient(145deg,#e4f2eb,#f7fbf8); color: #10212e; border-color: #b3cfc0; }
body .guide-card.guide-card--tool:hover,body .guide-card.guide-card--tool:focus-visible { background: #dcefe4; }
body .guide-card.guide-card--tool h2,body .guide-card.guide-card--tool p { color: #10212e; }
body .guide-card.guide-card--tool .guide-card__code,body .guide-card.guide-card--tool .guide-card__link { color: #075d48; }
body .demo-dialog { max-width: min(820px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); border: 1px solid #c6d7cf; border-radius: 24px; background: #f6faf7; box-shadow: 0 32px 100px rgba(16,33,46,.34), inset 0 1px 0 #fff; }
body .demo-dialog::backdrop { background: rgba(9,25,30,.64); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
body .demo-dialog form { grid-template-columns: repeat(2,minmax(0,1fr)); }
body .demo-dialog input,body .demo-dialog select,body .demo-dialog textarea { font-size: 16px; border-radius: 10px; border-color: #8ca59b; }
body .demo-dialog input:focus-visible,body .demo-dialog select:focus-visible,body .demo-dialog textarea:focus-visible { outline: 3px solid #08765d; outline-offset: 2px; }

/* Crystal product stage. No recolouring, opacity or filters on brand logos. */
.catalog-hero { gap: clamp(28px,5vw,80px); padding-top: clamp(120px,11vw,164px); padding-bottom: 72px; }
.catalog-hero h1 { color: #10212e; font-size: clamp(34px,4.2vw,62px); line-height: 1.09; letter-spacing: -.025em; }
.catalog-hero .semantic-lead { font-size: clamp(17px,1.35vw,20px); line-height: 1.65; margin-top: 24px; color: #485c63; }
.catalog-hero figure { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: clamp(20px,3vw,44px); border: 1px solid #cedbd6; border-radius: 28px; background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(233,245,240,.85)); box-shadow: var(--crystal-shadow); }
.catalog-hero figure img { width: 100%; height: auto; max-height: 390px; object-fit: contain; }
.catalog-hero figcaption { max-width: 100%; color: #4a6065; line-height: 1.6; }
.catalog-price { color: #10212e; font-size: clamp(21px,2vw,26px); margin-top: 28px; }
.catalog-grid { gap: 24px; align-items: stretch; }
.catalog-grid article { border-radius: var(--crystal-radius); border-color: #cedbd6; background: linear-gradient(145deg,#fff,#f1f7f3); box-shadow: var(--crystal-shadow); }
.catalog-grid article h2,.catalog-grid article h3 { color: #10212e; line-height: 1.2; }
.catalog-grid .button { max-width: 100%; }
.catalog-specs { padding: clamp(18px,2.5vw,32px); background: linear-gradient(145deg,#fff,#edf5f0); border: 1px solid #c9d8d1; border-radius: var(--crystal-radius); box-shadow: var(--crystal-shadow); }
.catalog-specs div { grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 18px; padding: 16px 0; }
.catalog-specs div:first-child { padding-top: 0; }
.catalog-specs div:last-child { padding-bottom: 0; border-bottom: 0; }
.catalog-specs dt { color: #4b6067; }
.catalog-specs dd { color: #10212e; overflow-wrap: anywhere; }
.catalog-grid .catalog-specs { padding: 0; box-shadow: none; border: 0; background: transparent; border-radius: 0; }
.catalog-request { padding: clamp(20px,3vw,36px); border: 1px solid #c9d8d1; border-radius: var(--crystal-radius); background: linear-gradient(145deg,#fff,#eef6f2); box-shadow: var(--crystal-shadow); color: #10212e; }
.catalog-request input,.catalog-request textarea { border-color: #8ca59b; border-radius: 10px; background: #fff; color: #10212e; font-size: 16px; line-height: 1.5; }
.catalog-request textarea { resize: vertical; min-height: 120px; }
.catalog-request .catalog-consent { line-height: 1.6; }
.catalog-request .catalog-consent a { color: #075d48; text-underline-offset: 3px; }

/* The same material language on editorial pages; dark diagrams stay dark. */
.semantic-api-console,.inner-hero-visual,.semantic-map-panel,.semantic-ledger,
.project-scheme,.architecture-visual { border-radius: var(--crystal-radius); }
.semantic-ledger { overflow: hidden; }
.semantic-ledger article { background: linear-gradient(145deg,#fff,#f0f6f2); }
.semantic-two-column { gap: clamp(28px,5vw,80px); }
.semantic-hero h1 { line-height: 1.06; }
body .breadcrumb,body .breadcrumb a,body .breadcrumb span { color: #52666b; }
body .semantic-hero-dark .breadcrumb,body .semantic-hero-dark .breadcrumb a,body .semantic-hero-dark .breadcrumb span { color: #c0d0c9; }
body .capability-band--tinted .guide-kicker { color: #08665d; }
body .page-band-dark .module-tile { border-radius: 16px; background: #172d2a; padding: 24px; border: 1px solid #365149; }
body .page-band-dark .module-matrix { gap: 16px; border-top: 0; }
body .page-band-dark .module-tile:hover { color: #fff; background: #203c33; transform: none; }
body .page-band-dark .module-tile h3,body .page-band-dark .module-tile:hover h3 { color: #fff; }
body .page-band-dark .module-tile p,body .page-band-dark .module-tile small { color: #c2d1ca; }
body .home-composition-flow .home-system-chain article { background: #f1f6f3; border-color: #c7d8d0; }
body .home-composition-flow .home-system-chain h3 { color: #10212e; }
body .home-composition-flow .home-system-chain p { color: #455d62; }
body .desktop-product-bar > small { color: #12634f; }
body #documentation .section-action-copy > p,body #documentation a p { color: #40574f; }
body .home-capability-grid a p { color: #40574f; }
body .home-business-grid > a > p { color: #40574f; }
body .home-business-gallery > a > p { color: #40574f; }
body .cookie-consent { border-radius: 20px; }
body .cookie-consent-copy strong { color: #fff; }
body .cookie-button { border-radius: 10px; font-size: 13px; }
.scenario-choice > span,.event-panel summary > span,#scenario-state,.phone-stage > small,.scope-note { color: #4b6174; }
.scenario-choice > span { opacity: 1; }
body .feature-card p { color: #40574f; }
body .feature-card-dark p { color: #c2d1ca; }
.showcase-header { border-bottom: 1px solid #d3dedf; background: #f8fbfa; }
.event-panel { border-radius: 18px; padding: 18px; border: 1px solid #c6d7d0; background: linear-gradient(145deg,#fff,#edf5f2); }
.showcase-layout > * { min-width: 0; }
.cshark-footer { border-top: 1px solid rgba(255,255,255,.18); background: linear-gradient(135deg,#10212e,#0d201c); }
.cshark-footer-nav a,.cshark-footer-docs a,.cshark-footer-docs button { text-underline-offset: 4px; }

@media (min-width:981px) and (max-width:1240px) {
  body .site-header,body.inner-page .site-header,body[data-page="overview"] .site-header { grid-template-columns: auto minmax(0,1fr) auto; column-gap: 10px; padding-inline: 14px; }
  body .desktop-nav-organized { gap: 0; }
  body .desktop-nav-organized > .nav-direct,body .desktop-nav-organized > .nav-cluster > summary { padding-inline: 8px; font-size: 13px; }
  body .header-actions { gap: 6px; }
}
@media (max-width:980px) {
  body .site-header,body.inner-page .site-header,body[data-page="overview"] .site-header { border-radius: 16px; }
  .catalog-hero { grid-template-columns: minmax(0,1fr); padding-top: 112px; padding-bottom: 48px; }
  .catalog-hero figure { min-height: 0; }
  .catalog-hero figure img { max-height: 300px; }
  .semantic-hero-layout,.inner-hero-layout { grid-template-columns: minmax(0,1fr); }
  body .page-intro,body .f4a-product-layout { grid-template-columns: minmax(0,1fr); }
  body .page-intro > *,body .f4a-product-layout > * { min-width: 0; }
  body .f4a-product-visual { width: 100%; }
  body .f4a-product-toolbar { gap: 12px; flex-wrap: wrap; }
  body .calculator-layout,body .calculator-fields,body .calculator-metrics { grid-template-columns: minmax(0,1fr); }
  body .calculator-layout > *,body .calculator-fields > * { min-width: 0; }
}
@media (max-width:600px) {
  body .docs-hero h1,body .guide-hero h1 { font-size: clamp(30px,8.5vw,44px); line-height: 1.12; text-wrap: wrap; word-break: break-word; overflow-wrap: anywhere; }
  body .demo-map-head { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
  body .demo-map-head > div:first-child,body .demo-map-metrics { width: 100%; min-width: 0; }
  body .demo-map-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body .demo-map-metrics > div { min-width: 0; padding: 8px; }
  body .site-header,body.inner-page .site-header,body[data-page="overview"] .site-header { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .catalog-hero { gap: 28px; }
  .catalog-hero figure { padding: 20px; border-radius: 20px; gap: 16px; }
  .catalog-hero figure img { max-height: 240px; }
  .catalog-specs div { grid-template-columns: minmax(0,1fr); gap: 5px; }
  .catalog-hero h1 { font-size: clamp(32px,8.5vw,44px); }
  .catalog-request { padding: 20px; }
  .catalog-grid article { padding: 24px; }
  .catalog-request .button { width: 100%; }
  body .demo-dialog form { grid-template-columns: minmax(0,1fr); padding: 0 20px 24px; }
  body .demo-dialog .dialog-intro { padding: 56px 20px 24px; }
  body .demo-dialog .dialog-intro h2 { font-size: clamp(28px,7vw,38px); }
  body .home-section-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; gap: 0; }
  body .home-section-nav-wrap { position: static; }
  body .home-section-nav a { min-width: 0; min-height: 44px; white-space: normal; justify-content: flex-start; padding: 10px 14px; font-size: 12px; }
  body .case-related .page-shell { flex-wrap: wrap; padding-block: 16px; gap: 12px 20px; overflow: visible; }
  body .case-related a { white-space: normal; max-width: 100%; }
}
@media (prefers-reduced-transparency: reduce), (forced-colors: active) {
  body .site-header,body.inner-page .site-header,body[data-page="overview"] .site-header,
  body .site-header.scrolled,body.inner-page .site-header.scrolled,body[data-page="overview"] .site-header.scrolled { background: #f5f8f7; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  body .site-header,body .button,body .nav-dropdown { transition: none; animation: none; }
}
@media print {
  .catalog-hero figure,.catalog-grid article,.catalog-specs,.catalog-request { box-shadow: none; background: #fff; break-inside: avoid; }
}
