/* Nuit et or, site-wide: the palette, the paper grain, the nav, the footer and the buttons of the tamis.app home,
   carried onto every page. The home adds its own sections in nuit.css. */
.identity-abyss {
  --abyss: #05070c; --deep: #0a0e16; --tide: #111723; --rim: #1e2632; --line: #1e2632;
  --ink: #eef5f7; --ink-2: #c3ccd2; --mute: #8f9aa4;
  --glow: #2ee6c8; --glow-2: #8ff3e2; --glow-soft: rgba(46,230,200,.12);
  --bg-rgb: 5,7,12; --bg: rgb(var(--bg-rgb)); --bg-hi: #080b13;
  --ink-rgb: 238,245,247; --fg: rgb(var(--ink-rgb)); --fg-2: rgba(var(--ink-rgb),.78); --fg-3: rgba(var(--ink-rgb),.68);
  --line-2: rgba(var(--ink-rgb),.18);
  --teal-rgb: 46,230,200; --teal: rgb(var(--teal-rgb)); --teal-text: #8ff3e2;
  --gold-rgb: 232,194,122; --gold: rgb(var(--gold-rgb)); --gold-text: #ffe2a8;
  --cta-bg: #45dcc4; --cta-fg: #03201b;
  --chip-bg: rgba(10,13,21,.78); --card-bg: linear-gradient(180deg, rgba(30,26,20,.94), rgba(16,15,14,.94)); --lift: rgba(0,0,0,.5);
  --grain-o: 1; --body: "Geist", system-ui, sans-serif; --mono: "JetBrains Mono", ui-monospace, Menlo, monospace; --ease: cubic-bezier(.16,1,.3,1);
}
html[data-theme="light"] .identity-abyss {
  --abyss: #e6ebe8; --deep: #f2f5f3; --tide: #dbe3df; --rim: #c3cec9; --line: #c3cec9;
  --ink: #0b1218; --ink-2: #2c3d47; --mute: #53636c;
  --glow: #00796b; --glow-2: #00695c;
  --bg-rgb: 230,235,232; --bg-hi: #e2e8e5;
  --ink-rgb: 11,18,24; --fg-2: rgba(var(--ink-rgb),.8); --fg-3: rgba(var(--ink-rgb),.7); --line-2: rgba(var(--ink-rgb),.18);
  --teal-rgb: 0,166,140; --teal-text: #007563;
  --gold-rgb: 184,134,40; --gold-text: #a8740a;
  --chip-bg: rgba(242,245,243,.92); --card-bg: #f6f8f7; --lift: rgba(11,18,24,.16);
  --grain-o: .6;
}
/* paper: one grain over the whole page, never cut at a section edge */
.identity-abyss::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 90; background-image: url(img/grain.webp); background-size: 180px 180px; opacity: var(--grain-o) }
html[data-theme="light"] .identity-abyss::after { mix-blend-mode: multiply }
/* flat night: one ground, sections set apart by tone, not by a teal haze */
.identity-abyss { background-color: var(--abyss); background-image: none }
html[data-theme="light"] .identity-abyss { background-color: var(--abyss); background-image: none }
.identity-abyss .ambience-band { background: var(--deep) }
/* nav */
.identity-abyss .nav .nav-inner { background: rgba(9,12,19,.9) }
html[data-theme="light"] .identity-abyss .nav .nav-inner { background: rgba(236,241,238,.9); box-shadow: inset 0 0 0 1px var(--rim); border-color: transparent }
.identity-abyss .nav-roles-menu, html[data-theme="light"] .identity-abyss .nav-roles-menu { box-shadow: none; border: 1px solid var(--rim) }
.nav-drawer-backdrop:not(.is-open) { visibility: hidden }
.nav-drawer-backdrop, .nav-drawer { backdrop-filter: none; -webkit-backdrop-filter: none }
/* buttons: one primary colour per theme, no glow at rest */
.identity-abyss .btn-primary, .identity-abyss .btn-glow, html[data-theme="light"] .identity-abyss .btn-primary, html[data-theme="light"] .public-site .btn-primary { box-shadow: none }
.mobile-cta { box-shadow: none !important }
/* forms */
html[data-theme="light"] .identity-abyss .contact-layout input, html[data-theme="light"] .identity-abyss .contact-layout textarea, html[data-theme="light"] .identity-abyss .contact-layout select { background: var(--deep) }
.identity-abyss .contact-layout input, .identity-abyss .contact-layout textarea, .identity-abyss .contact-layout select { border: 1px solid rgba(var(--ink-rgb),.42) }
.identity-abyss .contact-layout input:focus-visible, .identity-abyss .contact-layout textarea:focus-visible, .identity-abyss .contact-layout select:focus-visible { outline: 2px solid var(--glow-2); outline-offset: 2px }
/* footer */
html[data-theme="light"] .identity-abyss .foot { background: var(--tide) }
.identity-abyss .foot, .identity-abyss .foot-legal { border-top: 0 }
.identity-abyss .foot-legal { margin-top: 2rem }
.identity-abyss .foot-legal, .identity-abyss .foot-legal a { font-size: .8125rem }
html[data-theme="light"] .identity-abyss { --gold-text: #8a5d00 }
@media (prefers-reduced-motion: reduce) { .identity-abyss::after { opacity: calc(var(--grain-o) * .8) } }
/* one flat ground under every hero, as on the home: no teal haze */
.identity-abyss:not(.home-redesign) main > section:first-child, .identity-abyss .role-hero, .identity-abyss.benchmarks-site .benchmarks-hero,
.identity-abyss .ambience-band, .identity-abyss .product-section, .identity-abyss .lifecycle-section, .identity-abyss .checkpoints-section { background: var(--abyss) }
body.pricing-page.identity-abyss, html[data-theme="light"] body.pricing-page.identity-abyss { background-image: none }
/* no kicker above a heading: the heading says it */
.identity-abyss .dot-label, .identity-abyss .eyebrow { display: none }
html[data-theme="light"] .identity-abyss:not(.home-redesign) main > section:first-child, html[data-theme="light"] .identity-abyss .role-hero { background: var(--abyss) }
/* FAQ page: questions as rows, like the home */
.identity-abyss .faq-item, .identity-abyss:not(.home-redesign) .faq-item { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: inset 0 -1px 0 var(--rim) }
.identity-abyss .faq-list > .faq-item:first-child { box-shadow: inset 0 1px 0 var(--rim), inset 0 -1px 0 var(--rim) }
.identity-abyss .faq-item summary { padding: 1.35rem 2.5rem 1.35rem 0; font-size: 1.125rem; font-weight: 500; color: var(--ink) }
.identity-abyss .faq-item[open] { padding-bottom: 1.2rem; background: none }
.identity-abyss .faq-item p { font-size: 1rem; line-height: 1.6; color: var(--ink-2) }
.identity-abyss .faq-page .faq-list { gap: 0 }
.identity-abyss .faq-page .faq-item, .identity-abyss .faq-page .faq-item[open] { border: 0; border-radius: 0; box-shadow: inset 0 -1px 0 var(--rim) }
.identity-abyss .faq-page .faq-list > .faq-item:first-child { box-shadow: inset 0 1px 0 var(--rim), inset 0 -1px 0 var(--rim) }
.identity-abyss .faq-page .faq-item summary { padding: 1.35rem 2.5rem 1.35rem 0; font-size: 1.125rem }
.identity-abyss .faq-page .faq-item p { padding: 0 2.5rem 1.2rem 0 }
