/* Tamis identity: shared marketing tokens, cyan accent and navy product surfaces. */
.public-site {
  --ink: var(--web-marketing-ink);
  --ink-2: var(--web-marketing-ink-secondary);
  --ink-3: var(--web-marketing-muted);
  --mute: var(--web-marketing-muted);
  --paper: var(--web-marketing-background);
  --paper-2: var(--web-marketing-surface);
  --line: var(--web-marketing-line);
  --accent: var(--web-identity-marketing-accent);
  --accent-deep: var(--web-identity-marketing-accent-deep);
  --accent-soft: #f4f4f5;
  background: var(--paper);
  color: var(--ink);
}
.public-site .wrap { max-width: 1280px; padding-inline: clamp(1.25rem, 4vw, 3rem); }
.public-site section { padding: 6rem 0; border: 0; }
.public-site h1, .public-site h2, .public-site h3 { letter-spacing: -0.035em; text-wrap: balance; }
.public-site h3 { letter-spacing: -0.015em; }
.public-site code, .public-site pre { font-variant-ligatures: none; }
.public-site h2 { font-size: clamp(2rem, 3.3vw, 3rem); line-height: 1.15; }
.public-site p { line-height: 1.7; }
/* One header on every page: a floating bar laid over the first section. */
.public-site { --nav-offset: calc(76px + 1rem); }
.public-site .nav { top: 0; padding-top: 1rem; margin-bottom: calc(-1 * var(--nav-offset)); background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
.public-site .nav-inner { height: 76px; padding-inline: 1.5rem; border: 1px solid #d5e8e4; border-radius: 18px; background: #fff; box-shadow: 0 8px 30px #123d3514; }
.public-site .nav .nav-inner { max-width: min(1280px, calc(100% - 2rem)); }
.public-site main > :first-child { border-top: var(--nav-offset) solid transparent; background-origin: border-box; }
.public-site section[id] { scroll-margin-top: 7rem; }
.public-site .brand-wordmark { width: 153px; height: auto; }
.public-site .nav-links { gap: 1.65rem; }
.public-site .nav-links a:not(.btn) { color: var(--ink); font-size: 0.87rem; }
.public-site .lang-flags { background: #f4f4f5; }
.public-site .lang-flag.is-active { background: #fff; color: var(--ink); }
.public-site .nav-toggle { color: var(--ink); }
.public-site .nav-drawer { background: var(--paper); }
.public-site .nav-drawer[hidden] { display: none; }
.public-site .btn { display: inline-flex; justify-content: center; align-items: center; gap: 1.5rem; padding: 0.9rem 1.25rem; border-radius: 7px; font-size: 0.9rem; font-weight: 600; }
.public-site .btn-primary { background: var(--accent); color: #07120f; border: 1px solid var(--accent); }
.public-site .btn-primary:hover { background: #00ebc4; border-color: #00ebc4; transform: translateY(-2px); }
.public-site .nav-links .btn { color: #07120f; }
.public-site .foot { background: #f4f4f5; color: #111520; }
.public-site .foot-tagline, .public-site .foot-legal, .public-site .foot-col a { color: #475569; }
.public-site .foot-col h2 { font-size: 0.85rem; line-height: 1.3; margin-bottom: 1rem; letter-spacing: 0; }
.public-site .foot-wordmark { width: 156px; height: auto; }

.public-site:not(.home-redesign) h1 { max-width: 950px; font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.12; }
.public-site .nav-drawer[hidden] { display: none; }
@media (max-width: 540px) {
  .public-site { --nav-offset: 72px; }
  .public-site .nav { padding-top: 0; }
  .public-site .nav .nav-inner { height: 72px; max-width: none; border-radius: 0 0 18px 18px; }
  .public-site .brand-wordmark { width: 138px; }
}
.public-site .trust-center-hero { background: #f4f4f5; }
.public-site .trust-center-section-ink, .public-site .pricing-ai {
  --ink: #f4f4f5; --ink-2: #dce3ec; --mute: #dce3ec; --accent: var(--web-identity-marketing-accent); --accent-deep: var(--web-identity-marketing-accent); --line: #475569;
  background: #111520; color: var(--ink);
}
.public-site .trust-status.is-public { color: #475569; background: #f4f4f5; }
.public-site .trust-status.is-review { color: #80590a; background: #fff4d4; }
.public-site .trust-status.is-unclaimed { color: #475569; background: #f4f4f5; }
.public-site .lic-card.featured .lic-name { color: #dce3ec; }
.public-site .foot a { color: #475569; }
.public-site .faq-cta-copy { opacity: 1; }
.public-site .btn-accent { background: var(--accent); color: #07120f; }
.public-site .btn-accent:hover { background: #00ebc4; }
.public-site .lic-card h3 { margin: 0.5rem 0 0.4rem; font-size: 1.6rem; }
.public-site .docs-quickstart-card h3 { margin: 0; font-size: 1rem; color: var(--accent-deep); }
.public-site h2.marketing-subsection-heading { font-size: 1.5rem; }
.public-site .table-scroll { margin-inline: 0; padding-inline: 0; }
@media (max-width: 760px) {
  .public-site.page-check .check-row .cf-field { flex: 1 1 100%; min-width: 0; }
  .public-site.page-check .examples-row { flex-wrap: wrap; }
}
.public-site p code, .public-site li code { overflow-wrap: anywhere; }
.public-site .trust-section-index, .public-site .foot a:hover { color: var(--accent-deep); }
.public-site .trust-review-section .trust-section-index { color: var(--web-identity-marketing-accent); }

.public-site.pricing-page .pricing-license { background: #eff8f5; }
.pricing-page .pricing-license > .wrap > .lede { max-width: 66ch; }
.pricing-page .price-simulator { scroll-margin-top: 7rem; margin: clamp(2.5rem, 5vw, 4rem) 0 0; }
.pricing-page .sim-card { border-color: #b9d7d1; border-radius: 20px; box-shadow: 0 24px 65px #123d3518; }
.pricing-page .sim-row[hidden], .pricing-page .sim-total-row[hidden] { display: none; }
.pricing-page .license-grid { margin-top: 0; }
.pricing-page .buyer-criteria { background: #fff; }
.buyer-criteria h2 { max-width: 22ch; }
.buyer-criteria .lede { max-width: 67ch; margin-top: 1.5rem; }
.buyer-criteria-list { margin: clamp(2.5rem, 5vw, 4rem) 0 2.5rem; border-top: 1px solid #d5e3e1; }
.buyer-criteria-list article { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 1.5rem; padding: 2rem 0; border-bottom: 1px solid #d5e3e1; }
.buyer-criteria-list article > span { color: #08757a; font: 600 .84rem var(--web-font-marketing-sans); }
.buyer-criteria-list h3 { margin-bottom: .45rem; font-size: 1.45rem; }
.buyer-criteria-list p { max-width: 65ch; margin-bottom: .8rem; }
.buyer-criteria-list a { color: #006a72; font-size: .9rem; font-weight: 600; text-decoration: none; }
.buyer-criteria-list a:hover { text-decoration: underline; text-underline-offset: .25em; }

.public-site.trust-page .trust-center-hero {
  --ink: #f4f8f8; --ink-2: #dce8e9; --line: #3e5b63;
  color: var(--ink); background: radial-gradient(circle at 80% 35%, #126c6a66, transparent 38%), #111b2a;
}
.trust-page .trust-hero-main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(22rem, .8fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.trust-page .trust-center-hero h1 { max-width: 13ch; font-size: clamp(3.1rem, 5.2vw, 4.7rem); }
.trust-page .trust-center-hero .eyebrow { color: #80e1d2; }
.trust-page .trust-center-hero .lede, .trust-page .trust-status-key dd { color: #dce8e9; }
.trust-page .trust-hero-actions .btn-secondary { color: #f4f8f8; background: transparent; border-color: #9bb7bd; }
.trust-page .trust-hero-actions .btn-secondary:hover { background: #263946; }
.trust-boundary-visual { margin: 0; padding: 1.5rem; border: 1px solid #537880; border-radius: 22px; background: #192e3d; box-shadow: 0 24px 70px #020c1890; }
.trust-boundary-visual figcaption { margin-bottom: 1.1rem; color: #8be6d6; font-size: .78rem; font-weight: 600; }
.trust-boundary-node { padding: 1.2rem 1.35rem; border-radius: 12px; background: #eaf9f6; color: #102934; }
.trust-boundary-node > span { display: block; margin-bottom: .55rem; color: #006a72; font: 600 .68rem var(--web-font-marketing-sans); }
.trust-boundary-node strong { display: block; font-size: 1.2rem; }
.trust-boundary-node p { margin: .3rem 0 0; color: #35565a; font-size: .84rem; }
.trust-boundary-destination { border: 1px solid #67cbbb; background: #113943; color: #f4f8f8; }
.trust-boundary-destination > span { color: #8be6d6; }
.trust-boundary-destination p { color: #dce8e9; }
.trust-boundary-transfer { display: flex; align-items: center; gap: 1rem; padding: .55rem 1.25rem; color: #b8e9e0; }
.trust-boundary-transfer > span { font-size: 1.4rem; }
.trust-boundary-transfer p { margin: 0; color: inherit; font-size: .75rem; }
.trust-boundary-note { margin: 1rem 0 0; color: #dce8e9; font-size: .76rem; line-height: 1.5; }
.trust-page .trust-center-hero .trust-status.is-public { color: #80e1d2; background: #163e3f; }
.trust-page .trust-center-hero .trust-status.is-review { color: #ffd37b; background: #44351c; }
.trust-page .trust-center-hero .trust-status.is-unclaimed { color: #dce8e9; background: #293b49; }
@media (max-width: 900px) {
  .trust-page .trust-hero-main { grid-template-columns: 1fr; }
  .trust-boundary-visual { max-width: 38rem; }
}
@media (max-width: 540px) {
  .buyer-criteria-list article { grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; }
  .trust-boundary-visual { padding: 1rem; }
}

.public-site.benchmarks-site .benchmarks-hero { background: #f4f8f7; }
.benchmarks-hero h1 { max-width: 13ch; }
.benchmarks-hero .lede { max-width: 56ch; margin: 1.5rem 0 0; }
.benchmarks-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.public-site.benchmarks-site .benchmark-results { background: #fff; scroll-margin-top: 6rem; }
.benchmarks-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 27rem); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.benchmark-scorecard { margin: 0; padding: clamp(1.5rem, 3vw, 2.2rem); border-radius: 18px; background: #111b2a; color: #f4f8f8; }
.benchmark-scorecard figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.3rem 1rem; padding-bottom: 1rem; border-bottom: 1px solid #3b5860; font-size: 0.8rem; }
.benchmark-scorecard figcaption span:first-child { color: #8be6d6; font-weight: 600; }
.benchmark-scorecard figcaption span:last-child { color: #b8d2d1; }
.benchmark-scorecard table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.benchmark-scorecard th, .benchmark-scorecard td { padding: 0.8rem 0; border-bottom: 1px solid #2c4550; text-align: left; font-weight: 500; }
.benchmark-scorecard th { color: #dce8e9; font-size: 0.92rem; }
.benchmark-scorecard td { text-align: right; font-size: 1.15rem; font-weight: 600; letter-spacing: -0.01em; }
.benchmark-scorecard .is-primary td { font-size: 2rem; letter-spacing: -0.03em; }
.benchmark-scorecard p { margin: 1rem 0 0; color: #b8d2d1; font-size: 0.82rem; line-height: 1.55; }
.benchmark-results h2, .benchmark-protocol h2 { max-width: 18ch; }
.benchmark-intro { max-width: 66ch; margin: 1.3rem 0 0; }
.benchmark-footnote { max-width: 68ch; margin: 1.5rem 0 0; font-size: .85rem; }
.public-site.benchmarks-site .benchmark-protocol { background: #f4f4f5; }
.benchmark-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; }
.benchmark-steps article { padding-top: 1.4rem; border-top: 1px solid #b7c9c7; }
.benchmark-steps article > span { color: #08757a; font: 600 .8rem var(--web-font-marketing-sans); }
.benchmark-steps h3 { margin: 1.7rem 0 .7rem; font-size: 1.35rem; }
.benchmark-steps p { max-width: 34ch; font-size: .93rem; }
.benchmark-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding: clamp(1.6rem, 3vw, 2.8rem); border-radius: 18px; background: #dff1ec; }
.benchmark-cta h3 { margin-bottom: .5rem; font-size: 1.4rem; }
.benchmark-cta p { max-width: 55ch; margin: 0; font-size: .9rem; }
.benchmark-cta .btn { flex-shrink: 0; }
@media (max-width: 900px) {
  .benchmarks-hero-grid { grid-template-columns: 1fr; }
  .benchmark-scorecard { max-width: 34rem; }
}
@media (max-width: 600px) {
  .benchmark-steps { grid-template-columns: 1fr; gap: 1.5rem; }
  .benchmark-steps h3 { margin-top: 1rem; }
  .benchmark-cta { display: block; }
  .benchmark-cta .btn { margin-top: 1.5rem; }
}

.public-site .faq-page { background: #f4f8f7; }
.faq-page > .wrap > .lede { max-width: 58ch; }
.faq-page .marketing-subsection-heading { margin: 4rem 0 0; padding-top: 1.35rem; border-top: 2px solid #007c7e; }
.faq-page .faq-list { margin-top: 1.1rem; gap: 0; }
.faq-page .faq-item, .faq-page .faq-item[open] { border: 0; border-bottom: 1px solid #cbdcd9; border-radius: 0; background: transparent; box-shadow: none; }
.faq-page .faq-item summary { padding: 1.3rem .2rem; font-size: 1.05rem; }
.faq-page .faq-item p { max-width: 75ch; padding: 0 2rem 1.5rem .2rem; color: #35565a; }
.faq-page .faq-item a { color: #006a72; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.public-site .faq-cta { margin: 0; background: #111b2a; color: #f4f8f8; }
.faq-cta .faq-cta-copy { color: #dce8e9; }
@media (max-width: 540px) {
  .faq-page .marketing-subsection-heading { margin-top: 3rem; }
  .faq-page .faq-item summary { font-size: .98rem; }
}

/* Shared fixes: section padding must not flatten component padding; readable footer targets. */
.public-site .pricing-ai { padding: clamp(2rem, 4.5vw, 3.5rem); }
.pricing-ai-flow .pricing-ai-step { display: grid; place-items: center; }
.public-site .docs-hub-content > .docs-hub-lede { max-width: 62ch; margin: 1.1rem 0 2.4rem; }
.public-site .foot-col { gap: 0.1rem; }
.public-site .foot-col a { display: block; padding-block: 0.3rem; }
.public-site .foot-legal { align-items: baseline; }
.public-site .foot-legal sup { line-height: 0; }
@media (max-width: 780px) {
  .public-site .pricing-ai { padding: 2rem 1.5rem; }
}

/* Pricing: one idea per section (estimate, grid, licence, total cost), no nested boxes. */
.pricing-page .pricing-no-tiers { max-width: 66ch; margin: 1rem 0 0; color: var(--ink-2); }
.pricing-page .pricing-no-tiers + p { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.public-site.pricing-page .pricing-grid { background: #fff; }
.pricing-grid h2, .pricing-offers-title { max-width: 22ch; }
.pricing-grid .pricing-grid-intro { max-width: 66ch; margin-top: 1rem; }
.pricing-page .pricing-bands { margin-top: 2.5rem; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.pricing-page .pricing-bands .bands-meter { background: transparent; }
.pricing-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem clamp(2rem, 5vw, 4rem); margin-top: 3rem; }
.pricing-page .bands-negotiate.pricing-term { margin: 0; padding: 1.5rem 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.pricing-page .pricing-term p + p { margin-top: 0.8rem; }
.public-site.pricing-page .pricing-offers { background: #eff8f5; }
.pricing-page .pricing-offers .license-grid { margin-top: 2.5rem; }
.pricing-page .pricing-setup { margin-top: clamp(3rem, 7vw, 5.5rem); }
.pricing-page .pricing-setup h3 { max-width: 24ch; margin-bottom: 1rem; font-size: clamp(1.4rem, 2vw, 1.75rem); }
.pricing-page .pricing-setup > p { max-width: 66ch; }
.pricing-page .pricing-setup .bands-table { margin: 1.5rem 0 1rem; border-top: 1px solid var(--line); }
@media (max-width: 760px) {
  .pricing-terms { grid-template-columns: 1fr; }
}
.pricing-page main > section { padding-block: clamp(4rem, 7vw, 5.5rem); }
.pricing-page .trans-table tbody td, .pricing-page .trans-table thead th { text-align: left; padding-inline: 1rem; }
.pricing-page .bands-table tbody th { text-align: left; }
.pricing-page .pricing-sizing h3 { max-width: none; font-size: clamp(1.4rem, 2vw, 1.75rem); }
.pricing-page .pricing-sizing > p, .pricing-page .pricing-setup > p { color: var(--ink-2); }
.pricing-page .pricing-ai h2 { max-width: 20ch; font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
.pricing-page .bands-negotiate li { display: block; position: relative; padding-left: 1.5rem; }
.pricing-page .bands-negotiate li::before { position: absolute; left: 0; }
.pricing-page .poc-criteria + .trust-review-note { margin-top: 1.5rem; }
.pricing-page .pricing-sizing { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.pricing-page .pricing-sizing summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; }
.pricing-page .pricing-sizing summary::-webkit-details-marker { display: none; }
.pricing-page .pricing-sizing summary::after { content: '+'; color: var(--accent-deep); font-size: 1.6rem; line-height: 1; }
.pricing-page .pricing-sizing[open] summary::after { content: '−'; }
.pricing-page .pricing-sizing summary h3 { margin: 0; }
.pricing-page .pricing-sizing[open] summary { margin-bottom: 1rem; }
@media (min-width: 1081px) and (max-width: 1280px) {
  .public-site .nav-links { gap: 1.05rem; }
  .public-site .nav-links .lang-flags { margin-left: 0.2rem; }
  .public-site .brand-wordmark { width: 132px; }
}

/* Availability status, shared by the homepage deployment options and pricing setup table. */
.status-chip { display: inline-flex; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.76rem; font-weight: 600; white-space: nowrap; }
.status-chip.is-available { color: #064e4b; background: #c9f1e6; }
.status-chip.is-validation { color: #7a4d00; background: #fdefcf; }
@media (max-width: 760px) {
  .pricing-page .bands-table-compact, .pricing-page .bands-table-compact tbody, .pricing-page .bands-table-compact tr { display: block; }
  .pricing-page .bands-table-compact thead { display: none; }
  .pricing-page .bands-table-compact tr { padding: 1rem 0; border-bottom: 1px solid var(--line); }
  .pricing-page .bands-table-compact tbody th, .pricing-page .bands-table-compact td { display: block; padding: 0.2rem 0; border: 0; }
  .pricing-page .bands-table-compact tbody tr:hover { background: transparent; }
}

/* One dark surface colour; closing calls to action sit in a contained card on a light band. */
.public-site .lic-card.featured { background: #111520; border-color: #111520; }
.public-site .trust-review-section { background: var(--paper); }
.public-site .trust-review-section .trust-review-layout { width: calc(min(1280px, 100%) - 2 * clamp(1.25rem, 4vw, 3rem)); max-width: none; padding: clamp(2rem, 5vw, 4rem); border-radius: 22px; background: #111520; }
.public-site .docs-note { flex-direction: column; gap: 0.3rem; }
