/* Neutral surfaces with restrained metal accents; product screenshots stay unfiltered. */
.site-page #ecosystem .ecosystem-layout { display:block; max-width:900px; margin-inline:auto; }
.site-page #ecosystem .section-intro { max-width:none; }
.site-page #ecosystem .section-intro p { max-width:75ch; }
:root {
  color-scheme:dark;
  --obsidian:#121615; --midnight:#1a1f1e; --navy:#202625;
  --ivory:#f4f5f5; --paper:#181b1d; --ink:#f4f5f5;
  --muted:#b5babd; --muted-light:#b5babd;
  --gold:#cdbd90; --gold-bright:#e4d9bb; --gold-dark:#d3c399;
  --line:#383e42; --line-light:#383e42;
  --surface:#202625; --surface-raised:#2b3331; --active:#e4d9bb; --active-text:#1a211f;
  --action-hover:#f4ead2; --hero-overlay:rgba(12,18,16,.54);
  --positive:#a2c8b5;
  --hero-ink:#f4f5f5; --hero-muted:#e1e4e5;
  --shadow:0 8px 28px #00000018;
}
:root[data-theme="light"] {
  color-scheme:light;
  --obsidian:#ffffff; --midnight:#f3f5f4; --navy:#f7f9f8;
  --ivory:#202427; --paper:#edf0f1; --ink:#202427;
  --muted:#555e63; --muted-light:#555e63;
  --gold:#766039; --gold-bright:#614d2b; --gold-dark:#766039;
  --line:#d7dcdf; --line-light:#d7dcdf;
  --surface:#ffffff; --surface-raised:#f1f3f4; --active:#202427; --active-text:#ffffff;
  --action-hover:#344b43; --hero-overlay:rgba(12,16,18,.46);
  --positive:#315d48;
  --hero-ink:#ffffff; --hero-muted:#f4f5f5;
}
:root[data-theme="light"] .site-page .hero {
  --gold:#e4d9bb; --active:#e4d9bb; --active-text:#181c1f; --action-hover:#f4ead2;
}
.site-page * { letter-spacing:0; }
.site-page .site-header,.site-page .header-inner,.site-page .site-header.scrolled .header-inner { background:var(--obsidian); backdrop-filter:none; }
.site-page .brand-copy strong { font-family:var(--serif); letter-spacing:.08em; font-size:17px; font-weight:400; color:var(--gold); text-shadow:0 1px 0 #f1d6a0,0 4px 12px rgba(0,0,0,.35); }
.site-page .brand-lockup { display:grid; gap:3px; text-align:center; }
.site-page .brand-motto { color:var(--muted); font:400 9px/1.2 var(--serif); white-space:nowrap; }
.site-page .site-header,.site-page .header-inner { color:var(--ivory); }
.site-page .site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line); }
.site-page section[id] { scroll-margin-top:110px; }
.site-page .header-actions { gap:12px; }
.site-page .theme-toggle { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--gold); cursor:pointer; font:28px/1 Georgia,serif; }
.site-page .theme-toggle:hover { background:var(--surface-raised); }
.site-page .menu-button { border-color:var(--line); background:var(--surface); flex-direction:column; justify-content:center; }
.site-page .menu-button span { background:var(--ivory); }
.site-page .mobile-nav { background:var(--surface); border:1px solid var(--line); max-height:calc(100svh - 100px); overflow-y:auto; }
.site-page .mobile-nav a { color:var(--ivory); }
.site-page .hero { position:relative; isolation:isolate; padding:0; background:var(--obsidian); color:var(--hero-ink); }
.site-page .hero-grid { display:flex; min-height:0; padding-block:64px 56px; align-items:center; justify-content:center; }
.site-page .hero-backdrop.has-image { display:block; position:absolute; inset:0; z-index:-1; opacity:1; filter:saturate(1.22) contrast(1.04); mix-blend-mode:normal; background:url('/media/legal-library-v3.webp') center 58% / cover no-repeat; }
.site-page .hero::before { display:none; }
.site-page .hero-backdrop::after { content:""; position:absolute; inset:0; background:var(--hero-overlay); }
.site-page .hero-content { max-width:850px; background:none; border:0; text-align:center; }
.site-page .hero h1 { font:400 64px/1.1 var(--serif); letter-spacing:.055em; white-space:normal; text-wrap:balance; color:var(--gold); text-shadow:0 1px 0 #f1d6a0,0 7px 22px rgba(0,0,0,.38); }
.site-page .hero-brand-lockup { width:min(100%,850px); margin-inline:auto; }
.site-page .brand-rule { display:grid; grid-template-columns:minmax(36px,1fr) auto minmax(36px,1fr); align-items:center; gap:20px; margin:14px auto 0; width:min(100%,700px); color:var(--hero-muted); font:400 16px/1.2 var(--serif); }
.site-page .brand-rule span { height:1px; background:linear-gradient(90deg,transparent,var(--gold)); opacity:.75; }
.site-page .brand-rule span:last-child { background:linear-gradient(90deg,var(--gold),transparent); }
.site-page .hero .text-link { color:var(--hero-ink); }
.site-page .hero .eyebrow { color:var(--gold); letter-spacing:0; }
.site-page .hero-lead { color:var(--hero-muted); max-width:640px; font-size:20px; margin:24px auto 0; text-wrap:pretty; }
.site-page .hero-actions { justify-content:center; }
.site-page .hero .eyebrow { justify-content:center; }
.site-page .hero-trial { margin:22px 0 0; color:var(--hero-muted); font:13px/1.6 var(--sans); }
.site-page .hero-trial span { padding-inline:8px; color:var(--gold); }
.site-page .brand-visual { display:none; }
.site-page .section h2,.site-page .contact-section h2 { font-size:38px; letter-spacing:0; text-wrap:balance; }
.site-page .practice-overview { background:var(--obsidian); border-block:1px solid var(--line); }
.site-page .practice-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:30px; gap:32px; }
.site-page .practice-points>div { min-width:0; position:relative; padding-left:40px; }
.site-page .point-number { position:absolute; left:0; top:4px; color:var(--gold); font:13px/1.5 var(--sans); }
.site-page .practice-points h2 { margin:0 0 8px; font:600 18px/1.4 var(--sans); color:var(--ivory); }
.site-page .practice-points p { margin:0; font:14px/1.65 var(--sans); color:var(--muted); }
.site-page .section-heading-dark h2,.site-page .contact-copy h2 { color:var(--ivory); }
.site-page .program-details strong,.site-page .download-trust small,.site-page .download-trust strong { color:var(--muted); }
.site-page .download-trust { background:none; border:0; border-radius:0; padding-inline:0; }
.site-page .eyebrow { letter-spacing:0; }
.site-page .showcase-section { background:var(--midnight); color:var(--ivory); }
.site-page .showcase-section h2,.site-page .showcase-tab,.site-page .showcase-screen figcaption { color:var(--ivory); }
.site-page .showcase-tab { border:0; border-bottom:2px solid var(--line); border-radius:0; background:transparent; text-align:center; }
.site-page .showcase-tab.is-active { background:transparent; border-color:var(--gold); color:var(--gold); }
.site-page .showcase-viewer { border-radius:8px; background:var(--surface); }
.site-page .viewer-chrome,.site-page .showcase-screen figcaption { background:var(--surface); }
.site-page .mobile-preview-grid { background:var(--paper); }
.site-page .program-card,.site-page .program-card.featured { background:var(--surface); border:1px solid var(--line); border-radius:8px; backdrop-filter:none; }
.site-page .program-card h3 { font-size:28px; }
.site-page .program-card { display:flex; flex-direction:column; }
.site-page .program-card .program-meta { margin-top:auto; padding-top:24px; }
.site-page .program-card .program-features { padding-bottom:24px; }
.site-page .program-card .program-category { font-size:12px; }
.site-page .program-card .trial-note { font-size:13px; line-height:1.65; }
.site-page .program-architecture,.site-page .program-code,.site-page .product-contour { display:none; }
.site-page .program-head { margin-bottom:20px; }
.site-page .program-category { color:var(--gold); letter-spacing:0; }
.site-page .program-features { color:var(--muted); }
.site-page .program-meta { border-color:var(--line); }
.site-page .button,.site-page .download-button { border-color:var(--line); }
.site-page .button-primary,.site-page .download-button,.site-page .feedback-submit { background:var(--active); color:var(--active-text); border-color:var(--active); }
.site-page .button-primary:hover,.site-page .download-button:hover,.site-page .feedback-submit:hover { background:var(--action-hover); color:var(--active-text); border-color:var(--action-hover); }
.site-page .compact-row { padding:0; }
.site-page .compact-disclosure { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.site-page .compact-disclosure>summary { padding-inline:0; }
.site-page .disclosure-body { background:var(--midnight); color:var(--ivory); padding:32px; }
.site-page .disclosure-body h2,.site-page .disclosure-body h3,.site-page .disclosure-body strong { color:var(--ivory); }
.site-page .disclosure-body h2 { font-size:32px; line-height:1.25; text-wrap:balance; margin-block:16px 24px; }
.site-page .disclosure-body h2 em { color:var(--gold); }
.site-page .security-grid { align-items:start; gap:32px; }
.site-page .privacy-note { align-self:start; padding:0; }
.site-page .disclosure-body .container { width:100%; }
.site-page .advantage-card,.site-page .audience-card,.site-page .step-card { border-radius:0; background:transparent; box-shadow:none; border-color:var(--line); }
.site-page .capability-tabs,.site-page .capability-panels,.site-page .privacy-note,.site-page .security-grid { background:transparent; border:0; border-radius:0; box-shadow:none; }
.site-page .capability-tab { border-color:var(--line); border-radius:8px; background:var(--surface); color:var(--ivory); }
.site-page .capability-tab.is-active { background:var(--active); color:var(--active-text); }
.site-page .capability-tab strong,.site-page .capability-tab small,.site-page .capability-tab span { color:inherit; }
.site-page .security-list li,.site-page .accordion-item { border-color:var(--line); }
.site-page .accordion-trigger,.site-page .brand-story,.site-page .brand-story h2 { color:var(--ivory); }
.site-page .inline-action { color:var(--gold); border-color:var(--gold); }
.site-page .accordion-trigger > span { color:var(--gold); border-color:var(--gold); background:var(--surface); }
.site-page .feedback-card,.site-page .owner-dialog { background:var(--surface); border-color:var(--line); border-radius:8px; }
.site-page .subscription-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.site-page .subscription-card { min-height:210px; display:flex; flex-direction:column; gap:18px; padding:28px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.site-page .subscription-card > span { color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.12em; }
.site-page .subscription-card strong { color:var(--ivory); font-family:var(--serif); font-size:clamp(28px,3vw,42px); font-weight:500; }
.site-page .subscription-card strong b { font:inherit; }
.site-page .subscription-card p { margin:auto 0 0; color:var(--muted); line-height:1.65; }
.site-page .subscription-card-main { border-color:rgba(216,179,106,.58); box-shadow:inset 0 0 0 1px rgba(216,179,106,.12); }
.site-page .subscription-card-early { border-color:rgba(107,206,165,.5); }
.site-page .subscription-action { display:flex; align-items:center; gap:22px; margin-top:24px; }
.site-page .subscription-action p { margin:0; color:var(--muted); font-size:13px; }
.subscription-dialog { width:min(92vw,560px); padding:38px; color:#f4efe4; border:1px solid rgba(216,179,106,.45); border-radius:10px; background:#10161d; box-shadow:0 38px 110px rgba(0,0,0,.65); }
.subscription-dialog::backdrop { background:rgba(1,4,9,.78); backdrop-filter:blur(12px); }
.subscription-dialog h2 { margin:20px 0 12px; color:#f4efe4; font-family:var(--serif); font-size:40px; font-weight:500; }
.subscription-dialog > p:not(.eyebrow),.subscription-dialog > small { color:#aeb7c3; line-height:1.65; }
.subscription-dialog > small { display:block; margin-top:18px; }
.subscription-dialog-close { position:absolute; top:14px; right:16px; padding:8px 12px; color:#f4efe4; border:0; background:transparent; font-size:26px; cursor:pointer; }
.subscription-dialog-price { display:flex; align-items:baseline; gap:15px; margin:26px 0; padding:20px; border:1px solid var(--line); border-radius:8px; }
.subscription-dialog-price strong { color:var(--gold-bright); font-size:36px; }
.subscription-dialog-price small { color:#aeb7c3; }
@media (max-width:820px) { .site-page .subscription-grid { grid-template-columns:1fr; } .site-page .subscription-card { min-height:170px; } .site-page .subscription-action { align-items:stretch; flex-direction:column; } .subscription-dialog { padding:30px 22px; } }
.site-page .feedback-card legend,.site-page .feedback-card label,.site-page .owner-dialog h2 { color:var(--ivory); }
.site-page .feedback-card label small,.site-page .feedback-card .feedback-privacy,.site-page #feedback-email-hint,.site-page .feedback-assurance p,.site-page .contact-lead,.site-page .owner-dialog p { color:var(--muted); }
.site-page #feedback-result { color:var(--gold); }
.site-page .feedback-card input:not([type=checkbox]),.site-page .feedback-card select,.site-page .feedback-card textarea,.site-page .owner-dialog input { background:var(--midnight); border-color:var(--line); color:var(--ivory); }
.site-page .contact-copy,.site-page .feedback-layout { min-width:0; }
.site-page .logo-view { background:var(--surface); color:var(--ivory); border-color:var(--line); border-radius:8px; }
.site-page .logo-close { background:var(--surface-raised); color:var(--ivory); border-color:var(--line); }
.site-page .footer-top,.site-page .footer-bottom { border-color:var(--line); }
.site-page .footer-brand strong,.site-page .footer-nav a,.site-page .back-top,.site-page .footer-bottom { color:var(--muted); }
.site-page .site-counter { color:var(--muted); }
body.site-page::before { display:none; }
.site-page .feedback-assurance { border-color:var(--line); }
.site-page .feedback-assurance>span { color:var(--gold); }
.site-page input[type=checkbox] { accent-color:var(--gold); }
.site-page input::placeholder,.site-page textarea::placeholder { color:var(--muted); opacity:1; }
.site-page :focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.site-page .desktop-nav>a:focus-visible { color:var(--ivory); background:var(--surface-raised); }
.site-page .site-load-error { background:var(--surface); color:var(--ivory); }
.site-page .brand,.site-page .brand-copy { min-width:0; }
@media(max-width:1000px) {
 .site-page .hero h1 { font-size:52px; }
 .site-page .hero-grid { padding-block:56px; }
}
@media(max-width:680px) {
 .site-page .header-inner,.site-page .site-header.scrolled .header-inner { height:76px; }
 .site-page .brand-copy strong { font-size:12px; letter-spacing:.05em; }
 .site-page .brand-motto { font-size:7px; }
 .site-page .brand-rule { gap:10px; font-size:11px; }
 .site-page .brand { gap:8px; }
 .site-page .header-actions { gap:8px; }
 .site-page .hero-grid { min-height:0; padding-block:32px; }
 .site-page .hero h1 { font-size:40px; }
 .site-page .hero-lead { font-size:17px; }
 .site-page .hero-actions { flex-direction:column; gap:16px; }
 .site-page .hero .eyebrow { font-size:10px; }
 .site-page .hero-trial { font-size:12px; }
 .site-page .practice-points { grid-template-columns:1fr; gap:20px; padding-block:24px; }
 .site-page .practice-points>div { padding-left:36px; }
 .site-page .practice-points h2 { font-size:17px; }
 .site-page .practice-points p { font-size:14px; }
 .site-page .section h2,.site-page .contact-section h2 { font-size:30px; }
 .site-page .disclosure-body { padding:20px 16px; }
 .site-page .disclosure-body h2 { font-size:26px; }
 .site-page .hero-backdrop.has-image { background-image:url('/media/legal-library-v3-small.webp'); }
}
@media(max-width:360px) {
 .site-page .container { width:calc(100% - 24px); }
 .site-page .brand-copy strong { font-size:11px; }
 .site-page .hero h1 { font-size:36px; }
}
/* Secondary release information remains optional and readable on small screens. */
.release-details { margin: 1rem 0; font-size: .875rem; line-height: 1.55; }
.release-details summary { cursor: pointer; color: var(--gold, #d9b66f); }
.release-details p { margin: .65rem 0; }
.release-checksum code { overflow-wrap: anywhere; font-size: .75rem; }
