/* Hallmark · genre: modern-minimal · macrostructure: Long Document · theme: custom · nav: N1b · footer: Ft1 · pre-emit critique: P5 H5 E5 S5 R5 V5 · contrast: pass (40–41) · slop: pass (42–49) · mobile: pass (34, 49–57) */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; overflow-x: clip; background: var(--color-paper); color: var(--color-ink); }
html { scroll-behavior: smooth; }
body { min-width: 0; font-family: var(--font-body); font-size: var(--text-base); line-height: 1.75; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
h1, h2, h3, p, ul { margin: 0; }
h1, h2, h3 { min-width: 0; overflow-wrap: anywhere; font-style: normal; }
.shell { width: min(100%, var(--page-max)); margin-inline: auto; padding-inline: var(--page-gutter); }
.skip-link { position: fixed; z-index: 100; inset: var(--space-sm) auto auto var(--space-sm); padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-pill); background: var(--color-ink); color: var(--color-paper); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }

.site-nav { position: fixed; z-index: var(--z-sticky-nav); inset: 0 0 auto; border-block-end: var(--rule-hair) solid var(--color-rule); background: color-mix(in oklch, var(--color-paper) 94%, transparent); backdrop-filter: blur(18px) saturate(140%); }
.nav-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; min-height: var(--nav-height); }
.brand { display: inline-flex; align-items: center; justify-self: start; min-height: 2.75rem; font-family: var(--font-display); font-weight: 600; line-height: 1; letter-spacing: -.02em; white-space: nowrap; }
.nav-links { display: flex; align-items: center; justify-self: center; gap: var(--space-lg); }
.nav-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; color: var(--color-ink-2); font-size: var(--text-sm); line-height: 1; white-space: nowrap; }
.nav-links a:hover { color: var(--color-ink); }
.nav-links a:active { transform: translateY(1px); }
.nav-cta { display: inline-flex; align-items: center; justify-self: end; min-height: 2.75rem; padding-inline: var(--space-sm); border-radius: var(--radius-pill); background: var(--color-accent); color: var(--color-accent-ink); font-size: var(--text-sm); font-weight: 500; line-height: 1; white-space: nowrap; }
.nav-cta:hover { opacity: .82; }
.nav-cta:active { transform: translateY(1px); }

.legal-hero { padding-block: calc(var(--nav-height) + var(--space-2xl)) calc(var(--space-4xl) + var(--space-xl)); border-block-end: var(--rule-hair) solid var(--color-rule); }
.legal-hero-inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); gap: var(--space-3xl); align-items: center; }
.legal-kicker { color: var(--color-muted); font-size: var(--text-sm); font-weight: 500; }
.legal-hero h1 { margin-block-start: var(--space-sm); font-family: var(--font-display); font-size: clamp(3.5rem, 7vw, 6.5rem); font-weight: 600; line-height: 1; letter-spacing: -.052em; }
.legal-summary { max-width: 48ch; color: var(--color-ink-2); font-size: var(--text-md); line-height: 1.6; }
.legal-updated { margin-block-start: var(--space-md); color: var(--color-muted); font-size: var(--text-sm); }

.legal-layout { display: grid; grid-template-columns: minmax(12rem, .35fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: start; padding-block: var(--space-3xl) var(--space-4xl); }
.legal-toc { position: sticky; top: calc(var(--nav-height) + var(--space-xl)); border-block-start: var(--rule-hair) solid var(--color-rule); }
.legal-toc-title { padding-block: var(--space-md); color: var(--color-muted); font-size: var(--text-xs); font-weight: 500; }
.legal-toc-list { display: grid; }
.legal-toc a { display: inline-flex; align-items: center; min-height: 2.75rem; border-block-start: var(--rule-hair) solid var(--color-rule-2); color: var(--color-ink-2); font-size: var(--text-sm); line-height: 1; white-space: nowrap; }
.legal-toc a:hover { color: var(--color-accent); }
.legal-toc a:active { opacity: .72; }
.legal-content { width: min(100%, 54rem); }
.legal-section { scroll-margin-top: calc(var(--nav-height) + var(--space-xl)); padding-block: var(--space-xl); border-block-start: var(--rule-hair) solid var(--color-rule); }
.legal-section:first-child { padding-block-start: 0; border-block-start: 0; }
.legal-section h2 { margin-block-end: var(--space-lg); font-family: var(--font-display); font-size: var(--text-xl); font-weight: 600; line-height: 1.15; letter-spacing: -.025em; }
.legal-section p { max-width: 70ch; color: var(--color-ink-2); }
.legal-section p + p { margin-block-start: var(--space-md); }
.legal-section ul { display: grid; gap: var(--space-sm); max-width: 70ch; margin-block-start: var(--space-md); padding-inline-start: var(--space-lg); color: var(--color-ink-2); }
.legal-section li::marker { color: var(--color-muted); }
.legal-section strong { color: var(--color-ink); font-weight: 600; }
.legal-contact { margin-block-start: var(--space-lg); padding: var(--space-lg); background: var(--color-paper-2); }
.legal-contact a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--color-accent); font-weight: 500; line-height: 1; white-space: nowrap; }
.legal-contact a:hover { opacity: .78; }
.legal-contact a:active { transform: translateY(1px); }

.legal-footer { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr) auto; gap: var(--space-xl); align-items: center; padding: var(--space-lg) var(--page-gutter); border-block-start: var(--rule-hair) solid var(--color-rule); }
.footer-identity { display: flex; align-items: center; gap: var(--space-sm); min-width: 0; }
.footer-brand { font-family: var(--font-display); font-size: var(--text-md); font-weight: 600; line-height: 1; letter-spacing: -.025em; white-space: nowrap; }
.footer-tagline { padding-inline-start: var(--space-sm); border-inline-start: var(--rule-hair) solid var(--color-rule); color: var(--color-muted); font-size: var(--text-sm); line-height: 1.4; white-space: nowrap; }
.footer-operator { display: flex; align-items: baseline; justify-self: center; gap: var(--space-xs); min-width: 0; color: var(--color-muted); font-size: var(--text-sm); line-height: 1.4; }
.footer-operator-label { color: var(--color-ink-2); font-weight: 500; white-space: nowrap; }
.footer-operator-name { white-space: nowrap; }
.footer-links { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-md); }
.footer-links a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--color-muted); font-size: var(--text-sm); line-height: 1; white-space: nowrap; }
.footer-links a:hover { color: var(--color-ink); }
.footer-links a:active { opacity: .72; }
.footer-filing { grid-column: 1 / -1; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:var(--space-sm) var(--space-lg); padding-block-start:var(--space-sm); border-block-start:var(--rule-hair) solid var(--color-rule); }
.filing-link { display:inline-flex; align-items:center; min-height:2rem; gap:.4rem; color:var(--color-muted); font-size:var(--text-xs); line-height:1.4; white-space:nowrap; }
.filing-link:hover { color:var(--color-ink); }
.filing-link:active { opacity:.72; }
.filing-police img { width:20px; height:20px; object-fit:contain; flex:0 0 20px; }

@media (max-width: 56rem) {
  .nav-inner { grid-template-columns: minmax(0, 1fr) auto; }
  .nav-links { display: none; }
  .legal-hero-inner, .legal-layout { grid-template-columns: minmax(0, 1fr); }
  .legal-hero-inner { gap: var(--space-xl); }
  .legal-layout { gap: var(--space-xl); }
  .legal-toc { position: static; overflow-x: auto; padding-block-end: var(--space-2xs); }
  .legal-toc-title { padding-block-end: var(--space-xs); }
  .legal-toc-list { display: flex; width: max-content; }
  .legal-toc a { padding-inline-end: var(--space-lg); border-block-start: 0; }
}

@media (max-width: 40rem) {
  .legal-hero { padding-block: calc(var(--nav-height) + var(--space-xl)) calc(var(--space-3xl) + var(--space-xl)); }
  .legal-hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .legal-summary { font-size: var(--text-base); }
  .legal-layout { padding-block: var(--space-2xl); }
  .legal-section { padding-block: var(--space-2xl); }
  .legal-section h2 { font-size: var(--text-lg); }
  .legal-contact { padding: var(--space-md); }
  .legal-footer { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .footer-identity { flex-wrap: wrap; gap: var(--space-xs) var(--space-sm); }
  .footer-operator { display: grid; gap: var(--space-3xs); }
  .footer-operator-name { white-space: normal; }
  .footer-links { justify-content: flex-start; gap: var(--space-md); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
}


/* CGTrove minimal enterprise footer */
.legal-footer{
  display:grid;
  grid-template-columns:minmax(420px,1fr) auto minmax(220px,1fr);
  grid-template-areas:
    "brand filing links"
    "operator filing copyright";
  align-items:center;
  gap:.45rem 2.5rem;
  padding:2.25rem 3rem 2rem;
  border-top:1px solid #e4e7eb;
  background:#fff;
}
.legal-footer .footer-identity{
  grid-area:brand;
  display:flex;
  align-items:baseline;
  gap:1rem;
  margin:0;
}
.legal-footer .footer-brand{
  margin:0;
  color:#151a21;
  font-size:1.55rem;
  font-weight:700;
}
.legal-footer .footer-tagline{
  margin:0;
  color:#7a828c;
  font-size:.9rem;
}
.legal-footer .footer-operator{
  grid-area:operator;
  display:flex;
  align-items:center;
  gap:.55rem;
  margin:0;
  color:#8a919a;
  font-size:.78rem;
  white-space:nowrap;
}
.legal-footer .footer-links{
  grid-area:links;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:1.5rem;
  margin:0;
}
.legal-footer .footer-links a{
  color:#3e4650;
  font-size:.86rem;
  font-weight:500;
  text-decoration:none;
}
.legal-footer .footer-filing{
  grid-area:filing;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.15rem;
  margin:0;
  padding:0;
  border:0;
  white-space:nowrap;
}
.legal-footer .filing-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  min-height:auto;
  color:#6e7680;
  font-size:.78rem;
  text-decoration:none;
}
.legal-footer .filing-police img{
  width:18px;
  height:18px;
  object-fit:contain;
}
.legal-footer::after{
  content:"© 2026 CGTrove";
  grid-area:copyright;
  justify-self:end;
  color:#a0a7af;
  font-size:.75rem;
}
@media (max-width:1180px){
  .legal-footer{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "brand links"
      "operator links"
      "filing filing"
      "copyright copyright";
  }
  .legal-footer .footer-filing{justify-content:flex-start;margin-top:.75rem;}
  .legal-footer::after{justify-self:start;}
}
@media (max-width:760px){
  .legal-footer{
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "operator"
      "filing"
      "links"
      "copyright";
    gap:.8rem;
    padding:1.75rem 1.25rem;
  }
  .legal-footer .footer-identity{flex-wrap:wrap;}
  .legal-footer .footer-operator{white-space:normal;align-items:flex-start;}
  .legal-footer .footer-filing{flex-direction:column;align-items:flex-start;gap:.55rem;}
  .legal-footer .footer-links{justify-self:start;}
  .legal-footer::after{justify-self:start;}
}


/* Footer left alignment fix */
.legal-footer .footer-identity,
.legal-footer .footer-operator{
  justify-self:start !important;
  width:auto !important;
}
.legal-footer .footer-operator{
  padding-left:0 !important;
  margin-left:0 !important;
  transform:none !important;
  text-align:left !important;
}
.legal-footer .footer-operator-label,
.legal-footer .footer-operator-name{
  margin-left:0 !important;
}
