:root{--ink:#101510;--muted:#647064;--paper:#fbfcf9;--line:#e4eade;--green:#3f7d18;--mono:"JetBrains Mono",monospace;--page-gutter:clamp(20px,4vw,80px);--content-width:1440px}
.legal-main{width:min(var(--content-width),calc(100% - (var(--page-gutter) * 2)));margin:0 auto;padding:clamp(54px,8vw,118px) 0 clamp(74px,10vw,144px)}
.legal-hero{max-width:900px;padding-bottom:clamp(40px,6vw,76px);border-bottom:1px solid var(--line)}
.legal-kicker{margin:0 0 18px;color:var(--green);font:600 11px var(--mono);letter-spacing:.07em}.legal-hero h1{max-width:800px;margin:0;font-size:clamp(48px,6vw,86px);line-height:.96;letter-spacing:-.07em}.legal-hero h1 em{color:var(--green);font-style:normal}.legal-summary{max-width:660px;margin:28px 0 0;color:var(--muted);font-size:18px;line-height:1.72}
.legal-grid{display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:clamp(32px,8vw,150px);align-items:start;padding-top:clamp(46px,7vw,100px)}.legal-aside{min-width:0;overflow:visible}.legal-meta{color:var(--muted);font:600 11px var(--mono);letter-spacing:.05em;text-transform:uppercase}.legal-content{max-width:780px}.legal-content section{padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--line)}.legal-content section:last-child{border:0}.legal-content h2{margin:0 0 13px;font-size:clamp(24px,3vw,36px);letter-spacing:-.045em;line-height:1.08}.legal-content p{margin:0 0 14px;color:#394339;font-size:16px;line-height:1.75}.legal-content a{color:var(--green);font-weight:800}.legal-content a:hover{text-decoration-thickness:2px}
.legal-aside .legal-art{display:block;position:static!important;width:100%!important;max-width:280px!important;margin:28px 0 0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}.legal-aside .legal-art img{display:block!important;position:static!important;width:100%!important;height:auto!important;max-width:100%!important;margin:0!important;padding:0!important;border:1px solid var(--line)!important;background:#f5f8f1!important;object-fit:contain!important;transform:none!important}
@media(max-width:900px){.legal-main{width:calc(100% - 40px);padding-top:48px}.legal-grid{grid-template-columns:1fr;gap:26px}.legal-aside{padding-bottom:18px;border-bottom:1px solid var(--line)}.legal-aside .legal-art{max-width:320px!important;margin-top:22px!important}}/* v6: equal visual and reading columns on desktop; full-width stacked blocks on mobile. */
@media(min-width:901px){.legal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,6vw,110px)}.legal-content{max-width:none}.legal-aside .legal-art{max-width:none!important;width:100%!important}}
@media(max-width:900px){.legal-grid{grid-template-columns:minmax(0,1fr)}.legal-aside,.legal-content{width:100%;max-width:none}.legal-aside .legal-art{max-width:none!important;width:100%!important}}
.not-found-main{min-height:calc(100vh - 180px);display:grid;align-items:center}.not-found-main .legal-hero{max-width:1440px;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);column-gap:clamp(32px,7vw,120px);align-items:center}.not-found-main .legal-kicker,.not-found-main h1,.not-found-main .legal-summary,.not-found-actions{grid-column:1}.not-found-art{grid-column:2;grid-row:1 / span 4;margin:0}.not-found-art img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}@media(max-width:760px){.not-found-main .legal-hero{grid-template-columns:1fr}.not-found-art{grid-column:1;grid-row:auto;order:2;margin-top:28px}.not-found-actions{order:3}}


/* Compact 404 composition: text and illustration share one row without forcing excess height. */
.not-found-main { min-height: auto !important; padding-block: clamp(56px, 8vw, 110px) !important; }
.not-found-main .legal-hero { min-height: 0 !important; display: grid !important; grid-template-columns: minmax(0, .92fr) minmax(360px, .72fr) !important; grid-template-areas: "copy art" "actions art" !important; align-items: center !important; column-gap: clamp(36px, 8vw, 140px) !important; row-gap: 22px !important; }
.not-found-main .legal-kicker, .not-found-main h1, .not-found-main .legal-summary { grid-column: 1 !important; }
.not-found-main .not-found-art { grid-area: art !important; grid-column: auto !important; grid-row: auto !important; width: 100% !important; max-width: 620px !important; margin: 0 auto !important; align-self: center !important; }
.not-found-main .not-found-art img { width: 100% !important; height: auto !important; max-height: 420px !important; object-fit: contain !important; }
.not-found-main .not-found-actions { grid-area: actions !important; grid-column: auto !important; margin-top: 0 !important; align-self: start !important; }
@media (max-width: 760px) { .not-found-main .legal-hero { grid-template-columns: 1fr !important; grid-template-areas: "copy" "art" "actions" !important; } .not-found-main .not-found-art { max-width: 480px !important; } }

/* 404 editorial lockup: copy remains a single readable column and CTAs follow the message. */
.not-found-main .legal-hero{display:grid!important;grid-template-columns:minmax(0,.86fr) minmax(480px,1.14fr)!important;grid-template-areas:"copy art"!important;align-items:center!important;min-height:650px!important;gap:clamp(44px,8vw,150px)!important}.not-found-main .not-found-copy{grid-area:copy;max-width:680px}.not-found-main .not-found-copy .legal-kicker,.not-found-main .not-found-copy h1,.not-found-main .not-found-copy .legal-summary,.not-found-main .not-found-copy .not-found-actions{grid-column:auto!important}.not-found-main .not-found-copy .legal-summary{margin:22px 0 0!important;max-width:44ch}.not-found-main .not-found-copy .not-found-actions{margin-top:32px!important}.not-found-main .not-found-art{grid-area:art!important;width:118%!important;max-width:none!important;justify-self:center}.not-found-main .not-found-art img{width:100%!important;max-height:none!important;transform:scale(1.08);transform-origin:center}@media(max-width:760px){.not-found-main .legal-hero{grid-template-columns:1fr!important;grid-template-areas:"copy" "art"!important;min-height:0!important}.not-found-main .not-found-art{width:100%!important;max-width:560px!important}.not-found-main .not-found-art img{transform:none}}

/* Balance the wide 404 illustration within its column. */
.not-found-main .not-found-art{width:100%!important;max-width:620px!important}.not-found-main .not-found-art img{width:100%!important;transform:none!important}

/* A standalone 404 has no following section to separate. */
.not-found-main .legal-hero { border-bottom: 0 !important; }

/* v7: stable standalone 404 composition. */
.not-found-main {
  width: min(var(--content-width), calc(100% - (var(--page-gutter) * 2))) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: clamp(78px, 8vw, 128px) 0 clamp(72px, 8vw, 116px) !important;
}
.not-found-main .legal-hero {
  width: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, .96fr) minmax(320px, .64fr) !important;
  grid-template-areas:  copy art !important;
  align-items: center !important;
  gap: clamp(40px, 7vw, 120px) !important;
  padding: 0 !important;
  border: 0 !important;
}
.not-found-main .not-found-copy {
  grid-area: copy !important;
  max-width: 650px !important;
  min-width: 0;
}
.not-found-main .not-found-copy h1 { max-width: 10ch; }
.not-found-main .not-found-copy .legal-summary {
  max-width: 46ch !important;
  margin: 24px 0 0 !important;
}
.not-found-main .not-found-copy .not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 30px !important;
}
.not-found-main .not-found-art {
  grid-area: art !important;
  width: 100% !important;
  max-width: 470px !important;
  margin: 0 auto !important;
  justify-self: end;
  align-self: center;
}
.not-found-main .not-found-art img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 480px !important;
  object-fit: contain !important;
  transform: none !important;
}
@media (max-width: 760px) {
  .not-found-main { padding: 56px 0 70px !important; }
  .not-found-main .legal-hero {
    grid-template-columns: 1fr !important;
    grid-template-areas: copy art !important;
    gap: 38px !important;
  }
  .not-found-main .not-found-art { max-width: 340px !important; justify-self: center; }
}

/* v8: give the 404 document a deliberate editorial field instead of leaving it isolated. */
.not-found-main .legal-hero { gap: clamp(34px, 5vw, 78px) !important; }
.not-found-main .not-found-art {
  position: relative !important;
  width: 100% !important;
  max-width: 540px !important;
  min-height: 470px;
  display: grid;
  place-items: center;
  padding: clamp(26px, 3vw, 46px) !important;
  overflow: hidden;
  background: #0b1710;
  border: 1px solid rgba(198, 230, 143, .28);
}
.not-found-main .not-found-art::before,
.not-found-main .not-found-art::after {
  content: ;
 position: absolute;
 inset: 18px;
 border: 1px solid rgba(198, 230, 143, .13);
 pointer-events: none;
}
.not-found-main .not-found-art::after {
 inset: auto -28% -45% auto;
 width: 78%;
 aspect-ratio: 1;
 border-radius: 50%;
 border: 1px solid rgba(198, 230, 143, .18);
 box-shadow: 0 0 0 44px rgba(198, 230, 143, .035), 0 0 0 88px rgba(198, 230, 143, .025);
}
.not-found-main .not-found-art img {
 position: relative;
 z-index: 1;
 max-width: 330px !important;
 max-height: 390px !important;
}
@media (max-width: 760px) {
 .not-found-main .not-found-art { min-height: 370px; max-width: 420px !important; }
 .not-found-main .not-found-art img { max-width: 255px !important; max-height: 300px !important; }
}

/* v9: use the composed transparent 404 artwork directly, without an artificial panel. */
.not-found-main .legal-hero {
  grid-template-columns: minmax(0, .88fr) minmax(390px, 1.12fr) !important;
  gap: clamp(34px, 6vw, 98px) !important;
}
.not-found-main .not-found-art {
  position: relative !important;
  width: 100% !important;
  max-width: 680px !important;
  min-height: 0 !important;
  display: block !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
}
.not-found-main .not-found-art::before,
.not-found-main .not-found-art::after { content: none !important; display: none !important; }
.not-found-main .not-found-art img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}
@media (max-width: 760px) {
  .not-found-main .not-found-art { max-width: 520px !important; }
}
