* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #f4f5ef; background: #090b0a; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
button, input, select, textarea { color: inherit; font: inherit; }
button, label { -webkit-tap-highlight-color: transparent; }
button { border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }

/* Everdrift brand site */
.brand-site {
  --brand-ink: #090b0a;
  --brand-deep: #111412;
  --brand-paper: #efeee7;
  --brand-fog: #c7cbc4;
  --brand-line: rgba(255,255,255,.14);
  --brand-acid: #d9f765;
  min-height: 100vh;
  overflow: hidden;
  color: #f4f5ef;
  background: var(--brand-ink);
  font-family: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  font-synthesis: none;
}

.brand-site a:focus-visible {
  outline: 2px solid var(--brand-acid);
  outline-offset: 5px;
}

.brand-header {
  position: absolute;
  z-index: 20;
  inset: 0 0 auto;
  width: min(100% - 96px, 1440px);
  height: 108px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin: 0 auto;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.brand-identity {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 13px;
}

.brand-symbol {
  width: 31px;
  height: 23px;
  object-fit: contain;
  filter: invert(1);
}

.brand-wordmark {
  width: 112px;
  height: auto;
  filter: invert(1);
}

.brand-nav {
  display: flex;
  align-items: center;
  gap: 42px;
}

.brand-nav a,
.brand-nav-cta {
  color: rgba(255,255,255,.62);
  font-size: 11px;
  letter-spacing: .08em;
  transition: color .25s ease;
}

.brand-nav a:hover,
.brand-nav-cta:hover {
  color: #fff;
}

.brand-nav-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.brand-nav-cta span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: var(--brand-ink);
  background: var(--brand-acid);
  border-radius: 50%;
  font-size: 13px;
}

.brand-hero {
  position: relative;
  min-height: 920px;
  display: grid;
  align-items: center;
  padding: 160px max(48px, calc((100vw - 1440px) / 2)) 100px;
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 44%, rgba(134,169,121,.13), transparent 25%),
    radial-gradient(circle at 54% 18%, rgba(255,255,255,.05), transparent 29%),
    #090b0a;
}

.brand-hero::before {
  position: absolute;
  z-index: -1;
  inset: 108px 0 auto;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(217,247,101,.2), transparent);
}

.brand-hero-grid {
  position: absolute;
  z-index: -2;
  inset: 0;
  opacity: .4;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent 90%);
}

.brand-hero-copy {
  position: relative;
  z-index: 2;
  width: min(850px, 65vw);
  padding-top: 34px;
}

.brand-kicker,
.brand-overline {
  margin: 0;
  color: var(--brand-acid);
  font: 500 10px/1.4 "DM Mono", monospace;
  letter-spacing: .18em;
}

.brand-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-kicker span {
  width: 28px;
  height: 1px;
  background: var(--brand-acid);
}

.brand-hero h1 {
  max-width: 900px;
  margin: 39px 0 34px;
  font-family: "Songti SC", "STSong", "Iowan Old Style", serif;
  font-size: clamp(58px, 6.4vw, 104px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.065em;
}

.brand-hero h1 span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.63);
}

.brand-hero-intro {
  max-width: 610px;
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 15px;
  line-height: 2;
  letter-spacing: .015em;
}

.brand-hero-actions {
  display: flex;
  align-items: center;
  gap: 34px;
  margin-top: 42px;
}

.brand-primary-link {
  min-width: 181px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 18px 0 22px;
  color: var(--brand-ink);
  background: var(--brand-acid);
  border-radius: 999px;
  font-size: 12px;
  transition: transform .25s ease, background .25s ease;
}

.brand-primary-link:hover {
  transform: translateY(-2px);
  background: #e8ff8b;
}

.brand-primary-link span {
  font-size: 16px;
}

.brand-text-link {
  padding: 10px 0;
  color: rgba(255,255,255,.7);
  border-bottom: 1px solid rgba(255,255,255,.26);
  font-size: 12px;
}

.brand-hero-visual {
  position: absolute;
  z-index: 0;
  top: 54%;
  right: max(16px, calc((100vw - 1500px) / 2));
  width: min(48vw, 660px);
  aspect-ratio: 1;
  transform: translateY(-50%);
}

.brand-hero-visual::before {
  position: absolute;
  inset: 13%;
  content: "";
  background: radial-gradient(circle, rgba(217,247,101,.09), transparent 66%);
  filter: blur(16px);
}

.brand-orbit {
  position: absolute;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
}

.brand-orbit::before,
.brand-orbit::after {
  position: absolute;
  width: 5px;
  height: 5px;
  content: "";
  background: var(--brand-acid);
  border-radius: 50%;
  box-shadow: 0 0 18px var(--brand-acid);
}

.brand-orbit-outer {
  inset: 0;
  animation: brand-spin 30s linear infinite;
}

.brand-orbit-outer::before { top: 13%; left: 14%; }
.brand-orbit-outer::after { right: 6%; bottom: 28%; }

.brand-orbit-inner {
  inset: 18%;
  border-style: dashed;
  opacity: .65;
  animation: brand-spin-reverse 24s linear infinite;
}

.brand-orbit-inner::before { top: 48%; left: -3px; }
.brand-orbit-inner::after { top: 2%; right: 31%; }

.brand-visual-core {
  position: absolute;
  inset: 29%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  box-shadow: inset 0 0 60px rgba(217,247,101,.03), 0 0 80px rgba(0,0,0,.3);
  backdrop-filter: blur(12px);
}

.brand-visual-core img {
  width: 58%;
  filter: invert(1);
  opacity: .88;
}

.brand-signal {
  position: absolute;
  padding: 5px 8px;
  color: rgba(255,255,255,.48);
  background: #090b0a;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 2px;
  font: 500 8px/1 "DM Mono", monospace;
  letter-spacing: .14em;
}

.brand-signal-human { top: 18%; right: 6%; }
.brand-signal-language { bottom: 19%; left: 1%; }
.brand-signal-intelligence { right: 5%; bottom: 11%; }

.brand-node {
  position: absolute;
  width: 3px;
  height: 3px;
  background: rgba(255,255,255,.72);
  border-radius: 50%;
}

.brand-node-one { top: 5%; left: 45%; }
.brand-node-two { top: 37%; left: 9%; }
.brand-node-three { right: 21%; bottom: 5%; }

.brand-hero-meta {
  position: absolute;
  right: max(48px, calc((100vw - 1440px) / 2));
  bottom: 42px;
  left: max(48px, calc((100vw - 1440px) / 2));
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.28);
  font: 500 8px/1 "DM Mono", monospace;
  letter-spacing: .16em;
}

.brand-thesis {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: clamp(40px, 8vw, 140px);
  padding: 150px max(48px, calc((100vw - 1320px) / 2)) 160px;
  color: #131613;
  background: var(--brand-paper);
}

.brand-section-label {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-content: start;
  gap: 13px;
}

.brand-section-label span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(9,11,10,.25);
  border-radius: 50%;
  font: 500 9px/1 "DM Mono", monospace;
}

.brand-section-label p {
  margin: 5px 0 0;
  color: rgba(9,11,10,.52);
  font: 500 9px/1.7 "DM Mono", monospace;
  letter-spacing: .1em;
}

.brand-thesis-copy {
  max-width: 930px;
}

.brand-thesis-lead {
  margin: 0;
  font-family: "Songti SC", "STSong", "Iowan Old Style", serif;
  font-size: clamp(38px, 4.2vw, 65px);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: -.045em;
}

.brand-thesis-lead strong {
  display: block;
  color: #526537;
  font-weight: 400;
}

.brand-thesis-detail {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 54px;
  max-width: 740px;
  margin: 72px 0 0 auto;
  padding-top: 28px;
  border-top: 1px solid rgba(9,11,10,.2);
}

.brand-thesis-detail p {
  margin: 0;
  color: rgba(9,11,10,.62);
  font-size: 13px;
  line-height: 2;
}

.brand-statement {
  min-height: 630px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 100px 40px;
  color: #111410;
  text-align: center;
  background: var(--brand-acid);
}

.brand-statement p,
.brand-statement span {
  font: 500 9px/1.5 "DM Mono", monospace;
  letter-spacing: .18em;
}

.brand-statement p { margin: 0 0 44px; }
.brand-statement span { margin-top: 49px; opacity: .55; }

.brand-statement h2 {
  margin: 0;
  font-family: "Songti SC", "STSong", "Iowan Old Style", serif;
  font-size: clamp(58px, 8vw, 118px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.07em;
}

.brand-principles {
  padding: 150px max(48px, calc((100vw - 1320px) / 2)) 160px;
  background: #111412;
}

.brand-section-heading {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: clamp(40px, 8vw, 140px);
}

.brand-section-label-light span { border-color: rgba(255,255,255,.22); }
.brand-section-label-light p { color: rgba(255,255,255,.43); }

.brand-section-heading > div:last-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 30px;
}

.brand-section-heading h2 {
  margin: -12px 0 0;
  font-family: "Songti SC", "STSong", "Iowan Old Style", serif;
  font-size: clamp(41px, 4.7vw, 70px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.05em;
}

.brand-principle-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 105px;
  border-top: 1px solid var(--brand-line);
  border-bottom: 1px solid var(--brand-line);
}

.brand-principle-grid article {
  min-height: 385px;
  padding: 28px 27px 36px;
  border-right: 1px solid var(--brand-line);
  transition: background .28s ease, transform .28s ease;
}

.brand-principle-grid article:first-child { border-left: 1px solid var(--brand-line); }

.brand-principle-grid article:hover {
  background: rgba(255,255,255,.035);
  transform: translateY(-4px);
}

.brand-principle-grid article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255,255,255,.3);
  font: 500 9px/1 "DM Mono", monospace;
}

.brand-principle-grid article > div i {
  width: 5px;
  height: 5px;
  background: var(--brand-acid);
  border-radius: 50%;
}

.brand-principle-grid h3 {
  margin: 112px 0 8px;
  font-family: "Songti SC", "STSong", serif;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: -.02em;
}

.brand-principle-grid small {
  color: var(--brand-acid);
  font: 400 9px/1.5 "DM Mono", monospace;
  letter-spacing: .08em;
}

.brand-principle-grid article > p {
  margin: 34px 0 0;
  color: rgba(255,255,255,.48);
  font-size: 12px;
  line-height: 1.95;
}

.brand-language {
  min-height: 770px;
  display: grid;
  grid-template-columns: minmax(300px, .76fr) minmax(500px, 1.24fr);
  color: #111410;
  background: var(--brand-paper);
}

.brand-language-mark {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-right: 1px solid rgba(9,11,10,.14);
  background:
    linear-gradient(rgba(9,11,10,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(9,11,10,.045) 1px, transparent 1px);
  background-size: 58px 58px;
}

.brand-language-mark::before,
.brand-language-mark::after {
  position: absolute;
  content: "";
  border: 1px solid rgba(9,11,10,.17);
  border-radius: 50%;
}

.brand-language-mark::before { width: 440px; height: 440px; }
.brand-language-mark::after { width: 260px; height: 260px; }

.brand-language-mark img {
  position: relative;
  z-index: 1;
  width: min(47%, 210px);
  opacity: .88;
}

.brand-language-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 100px clamp(55px, 8vw, 135px);
}

.brand-language-copy .brand-overline { color: #60713d; }

.brand-language blockquote {
  max-width: 780px;
  margin: 48px 0 0;
  font-family: "Songti SC", "STSong", "Iowan Old Style", serif;
  font-size: clamp(38px, 4.4vw, 68px);
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: -.045em;
}

.brand-language blockquote em {
  display: block;
  color: #60713d;
  font-style: normal;
}

.brand-language-note {
  max-width: 560px;
  margin: 62px 0 0;
  padding-top: 28px;
  color: rgba(9,11,10,.58);
  border-top: 1px solid rgba(9,11,10,.2);
  font-size: 13px;
  line-height: 2;
}

.brand-creation {
  padding: 150px max(48px, calc((100vw - 1320px) / 2)) 165px;
  color: #111410;
  background: #faf9f4;
}

.brand-creation .brand-overline { color: #60713d; }

.brand-creation-heading > div:last-child {
  grid-template-columns: 1fr 1.55fr;
}

.brand-creation-grid {
  margin-top: 100px;
  border-top: 1px solid rgba(9,11,10,.2);
}

.brand-creation-grid article {
  min-height: 240px;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: clamp(40px, 8vw, 140px);
  align-items: center;
  border-bottom: 1px solid rgba(9,11,10,.2);
}

.brand-roman {
  color: rgba(9,11,10,.28);
  font: 400 14px/1 "DM Mono", monospace;
}

.brand-creation-grid article > div {
  display: grid;
  grid-template-columns: 135px minmax(150px, .5fr) minmax(260px, 1fr);
  align-items: center;
  gap: 28px;
}

.brand-creation-grid small {
  color: #60713d;
  font: 500 9px/1.5 "DM Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.brand-creation-grid h3 {
  margin: 0;
  font-family: "Songti SC", "STSong", serif;
  font-size: 43px;
  font-weight: 400;
}

.brand-creation-grid p {
  max-width: 420px;
  margin: 0;
  color: rgba(9,11,10,.56);
  font-size: 13px;
  line-height: 1.95;
}

.brand-future {
  position: relative;
  min-height: 820px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 130px 40px;
  text-align: center;
  background:
    radial-gradient(circle at center, rgba(217,247,101,.08), transparent 32%),
    #090b0a;
}

.brand-future::before {
  position: absolute;
  inset: 12% auto auto 50%;
  width: min(76vw, 1030px);
  aspect-ratio: 1;
  content: "";
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  transform: translateX(-50%);
}

.brand-future-glow {
  position: absolute;
  top: 45%;
  left: 50%;
  width: 160px;
  height: 160px;
  background: rgba(217,247,101,.16);
  border-radius: 50%;
  filter: blur(80px);
  transform: translate(-50%, -50%);
}

.brand-future > *:not(.brand-future-glow) { position: relative; z-index: 1; }

.brand-future h2 {
  max-width: 1050px;
  margin: 45px 0 0;
  font-family: "Songti SC", "STSong", "Iowan Old Style", serif;
  font-size: clamp(46px, 6.5vw, 94px);
  font-weight: 400;
  line-height: 1.23;
  letter-spacing: -.06em;
}

.brand-future h2 span {
  display: block;
  color: var(--brand-acid);
}

.brand-future > p:not(.brand-overline) {
  max-width: 610px;
  margin: 45px 0 0;
  color: rgba(255,255,255,.49);
  font-size: 13px;
  line-height: 2;
}

.brand-future > a {
  width: 155px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 45px;
  color: var(--brand-acid);
  border: 1px solid rgba(217,247,101,.45);
  border-radius: 999px;
  font-size: 11px;
  transition: color .25s ease, background .25s ease;
}

.brand-future > a:hover {
  color: #0c0e0c;
  background: var(--brand-acid);
}

.brand-footer {
  min-height: 270px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 60px;
  padding: 70px max(48px, calc((100vw - 1440px) / 2)) 50px;
  background: #050605;
  border-top: 1px solid rgba(255,255,255,.1);
}

.brand-footer-wordmark {
  width: min(310px, 42vw);
  filter: invert(1);
}

.brand-footer > div:first-child p {
  margin: 23px 0 0;
  color: rgba(255,255,255,.38);
  font-size: 11px;
}

.brand-footer-meta {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 30px;
  align-items: center;
  color: rgba(255,255,255,.3);
  font: 500 8px/1.5 "DM Mono", monospace;
  letter-spacing: .1em;
}

.brand-footer-meta p { margin: 0; }
.brand-footer-meta a { color: rgba(255,255,255,.44); transition: color .2s ease; }
.brand-footer-meta a:hover { color: var(--brand-acid); }

@keyframes brand-spin { to { transform: rotate(360deg); } }
@keyframes brand-spin-reverse { to { transform: rotate(-360deg); } }

@media (max-width: 1100px) {
  .brand-header { width: calc(100% - 64px); }
  .brand-hero { padding-right: 32px; padding-left: 32px; }
  .brand-hero-copy { width: min(760px, 74vw); }
  .brand-hero-visual { right: -16%; width: 62vw; opacity: .7; }
  .brand-hero-meta { right: 32px; left: 32px; }
  .brand-thesis,
  .brand-section-heading,
  .brand-creation-grid article { grid-template-columns: 175px minmax(0, 1fr); gap: 50px; }
  .brand-principle-grid { grid-template-columns: repeat(2, 1fr); }
  .brand-principle-grid article:nth-child(3) { border-left: 1px solid var(--brand-line); }
  .brand-principle-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--brand-line); }
  .brand-language { grid-template-columns: .65fr 1.35fr; }
  .brand-language-copy { padding-right: 55px; padding-left: 55px; }
  .brand-creation-grid article > div { grid-template-columns: 100px .5fr 1fr; }
  .brand-footer { grid-template-columns: 1fr; }
  .brand-footer-meta { justify-content: space-between; }
}

@media (max-width: 760px) {
  .brand-site { font-size: 14px; }
  .brand-header {
    width: calc(100% - 34px);
    height: 78px;
    grid-template-columns: 1fr auto;
  }
  .brand-symbol { width: 25px; height: 19px; }
  .brand-wordmark { width: 91px; }
  .brand-nav { display: none; }
  .brand-nav-cta { font-size: 10px; }
  .brand-nav-cta span { width: 27px; height: 27px; }
  .brand-hero {
    min-height: 790px;
    align-items: start;
    padding: 143px 20px 88px;
  }
  .brand-hero::before { top: 78px; }
  .brand-hero-grid { background-size: 48px 48px; }
  .brand-hero-copy { width: 100%; padding: 0; }
  .brand-kicker { font-size: 8px; }
  .brand-hero h1 { margin: 33px 0 27px; font-size: clamp(48px, 15vw, 70px); line-height: 1.13; }
  .brand-hero-intro { max-width: 88%; font-size: 13px; line-height: 1.85; }
  .brand-hero-actions { gap: 22px; margin-top: 34px; }
  .brand-primary-link { min-width: 158px; height: 47px; padding-left: 18px; font-size: 11px; }
  .brand-text-link { font-size: 11px; }
  .brand-hero-visual { top: 69%; right: -28%; width: 86vw; opacity: .55; }
  .brand-signal { font-size: 6px; }
  .brand-hero-meta { right: 20px; bottom: 24px; left: 20px; font-size: 6px; }
  .brand-hero-meta span:last-child { display: none; }

  .brand-thesis,
  .brand-section-heading,
  .brand-creation-grid article {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .brand-thesis { padding: 90px 22px 100px; }
  .brand-section-label { grid-template-columns: 36px 1fr; }
  .brand-section-label span { width: 36px; height: 36px; }
  .brand-thesis-lead { font-size: 38px; line-height: 1.5; }
  .brand-thesis-detail { grid-template-columns: 1fr; gap: 25px; margin-top: 48px; }

  .brand-statement { min-height: 480px; padding: 70px 20px; }
  .brand-statement p { margin-bottom: 32px; font-size: 7px; }
  .brand-statement span { margin-top: 34px; font-size: 7px; }
  .brand-statement h2 { font-size: 55px; }

  .brand-principles { padding: 90px 22px 105px; }
  .brand-section-heading > div:last-child { grid-template-columns: 1fr; gap: 25px; }
  .brand-section-heading h2 { margin: 0; font-size: 43px; }
  .brand-principle-grid { grid-template-columns: 1fr; margin-top: 64px; }
  .brand-principle-grid article,
  .brand-principle-grid article:nth-child(3) { min-height: 310px; border: 0; border-right: 1px solid var(--brand-line); border-bottom: 1px solid var(--brand-line); border-left: 1px solid var(--brand-line); }
  .brand-principle-grid article:last-child { border-bottom: 0; }
  .brand-principle-grid h3 { margin-top: 77px; }

  .brand-language { min-height: 0; grid-template-columns: 1fr; }
  .brand-language-mark { min-height: 390px; border-right: 0; border-bottom: 1px solid rgba(9,11,10,.14); }
  .brand-language-mark::before { width: 320px; height: 320px; }
  .brand-language-mark::after { width: 190px; height: 190px; }
  .brand-language-copy { padding: 85px 22px 95px; }
  .brand-language blockquote { margin-top: 36px; font-size: 39px; line-height: 1.52; }
  .brand-language-note { margin-top: 45px; }

  .brand-creation { padding: 90px 22px 105px; }
  .brand-creation-heading > div:last-child { grid-template-columns: 1fr; }
  .brand-creation-grid { margin-top: 65px; }
  .brand-creation-grid article { min-height: 0; padding: 42px 0; }
  .brand-creation-grid article > div { grid-template-columns: 1fr; gap: 13px; }
  .brand-creation-grid h3 { font-size: 37px; }
  .brand-creation-grid p { margin-top: 12px; }

  .brand-future { min-height: 690px; padding: 100px 22px; }
  .brand-future::before { top: 22%; width: 125vw; }
  .brand-future h2 { margin-top: 35px; font-size: 48px; line-height: 1.3; }
  .brand-future > p:not(.brand-overline) { margin-top: 35px; }

  .brand-footer { min-height: 310px; gap: 52px; padding: 65px 22px 35px; }
  .brand-footer-wordmark { width: 220px; }
  .brand-footer-meta { grid-template-columns: 1fr; gap: 13px; justify-content: start; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-site { scroll-behavior: auto; }
  .brand-orbit { animation: none; }
  .brand-primary-link,
  .brand-principle-grid article { transition: none; }
}

/* Everdrift fused brand direction */
@property --era-ring-x {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 50%;
}

@property --era-ring-y {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 50%;
}

@property --era-cursor-x {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 50%;
}

@property --era-cursor-y {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 50%;
}

@property --era-ring-gap {
  syntax: "<length>";
  inherits: true;
  initial-value: 56px;
}

@property --era-ring-alpha {
  syntax: "<number>";
  inherits: true;
  initial-value: .24;
}

.ed-site {
  --ed-page-title-size: clamp(30px,4vw,40px);
  --ed-page-title-weight: 400;
  --ed-bg: #0a0b0e;
  --ed-bg-soft: #0e1015;
  --ed-ink: #eae5da;
  --ed-ink-dim: #a29d91;
  --ed-ink-faint: #6f6b61;
  --ed-hair: rgba(234,229,218,.13);
  --ed-blue: #93aac9;
  --ed-gold: #d3b888;
  --ed-surface: rgba(14,16,21,.94);
  --ed-surface-hover: rgba(147,170,201,.09);
  --ed-popover: rgba(12,14,18,.97);
  --ed-serif-en: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ed-serif-cn: "Noto Serif SC", "Songti SC", STSong, serif;
  --ed-sans: "PingFang SC", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
  --pointer-x: 50vw;
  --pointer-y: 30vh;
  position: relative;
  min-height: 100vh;
  overflow-x: clip;
  color: var(--ed-ink);
  background: var(--ed-bg);
  font-family: var(--ed-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.85;
  -webkit-font-smoothing: auto;
  text-rendering: optimizeLegibility;
  isolation: isolate;
}

.ed-site::selection,
.ed-site *::selection {
  color: #fff;
  background: rgba(211,184,136,.28);
}

.ed-site a:focus-visible {
  outline: 1px solid var(--ed-gold);
  outline-offset: 6px;
}

.ed-atmosphere,
.ed-pointer-light,
.ed-grain {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ed-atmosphere {
  background:
    radial-gradient(1100px 620px at 78% -8%, rgba(147,170,201,.1), transparent 62%),
    radial-gradient(900px 700px at 12% 108%, rgba(211,184,136,.07), transparent 60%);
}

.ed-pointer-light {
  opacity: .35;
  background: radial-gradient(360px circle at var(--pointer-x) var(--pointer-y), rgba(147,170,201,.08), transparent 68%);
  transition: opacity .4s ease;
}

.ed-grain {
  z-index: 80;
  inset: -100px;
  opacity: .045;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}

.ed-nav,
.ed-hero,
.ed-section,
.ed-interlude,
.ed-era-statement,
.ed-wave-divider,
.ed-coda,
.ed-footer {
  position: relative;
  z-index: 1;
}

.ed-nav {
  position: fixed;
  z-index: 60;
  top: 0;
  right: 0;
  left: 0;
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px clamp(24px,5vw,64px);
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: min-height .5s ease, padding .5s ease, background .5s ease, border-color .5s ease, backdrop-filter .5s ease;
}

.ed-nav.is-scrolled {
  min-height: 64px;
  padding-top: 12px;
  padding-bottom: 12px;
  background: rgba(10,11,14,.94);
  border-bottom-color: rgba(234,229,218,.13);
  backdrop-filter: blur(16px);
}

.ed-nav.is-scrolled .ed-nav-brand img {
  opacity: .92;
  filter: invert(91%) sepia(10%) saturate(290%);
}

.ed-nav.is-scrolled .ed-nav-links > a,
.ed-nav.is-scrolled .ed-product-switcher-trigger,
.ed-nav.is-scrolled .ed-theme-trigger {
  color: #a29d91;
}

.ed-nav.is-scrolled .ed-nav-links > a:hover,
.ed-nav.is-scrolled .ed-product-switcher-trigger:hover,
.ed-nav.is-scrolled .ed-product-switcher.is-open .ed-product-switcher-trigger,
.ed-nav.is-scrolled .ed-theme-trigger:hover,
.ed-nav.is-scrolled .ed-theme-trigger:focus-visible,
.ed-nav.is-scrolled .ed-theme-menu.is-open .ed-theme-trigger {
  color: #eae5da;
}

.ed-nav-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ed-nav-brand img {
  object-fit: contain;
  opacity: .92;
  filter: invert(91%) sepia(10%) saturate(290%);
}

.ed-nav-brand-wordmark {
  width: 132px;
  height: auto;
}

.ed-nav-links {
  display: flex;
  align-items: center;
  gap: clamp(18px,3vw,40px);
}

.ed-nav-actions {
  display: flex;
  align-items: center;
  gap: clamp(18px,2.3vw,30px);
}

.ed-nav-links > a,
.ed-product-switcher-trigger {
  position: relative;
  min-height: 34px;
  display: flex;
  align-items: center;
  padding: 0;
  color: var(--ed-ink-dim);
  font-size: 12px;
  line-height: 1;
  letter-spacing: .3em;
  text-indent: .3em;
  text-shadow: none;
  transition: color .35s ease;
}

.ed-nav-links > a::after,
.ed-product-switcher-trigger::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, var(--ed-blue), var(--ed-gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}

.ed-nav-links > a:hover,
.ed-product-switcher-trigger:hover,
.ed-product-switcher.is-open .ed-product-switcher-trigger { color: var(--ed-ink); }
.ed-nav-links > a:hover::after,
.ed-product-switcher-trigger:hover::after,
.ed-product-switcher.is-open .ed-product-switcher-trigger::after { transform: scaleX(1); }

.ed-theme-menu {
  position: relative;
  display: flex;
  align-items: center;
  transform: translateY(-2px);
}

.ed-theme-trigger {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--ed-ink-dim);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: color .3s ease, border-color .3s ease, background .3s ease, transform .35s cubic-bezier(.16,1,.3,1);
}

.ed-theme-trigger:hover,
.ed-theme-trigger:focus-visible,
.ed-theme-menu.is-open .ed-theme-trigger {
  color: var(--ed-ink);
  background: rgba(234,229,218,.08);
  border-color: rgba(234,229,218,.26);
  transform: rotate(7deg);
}

.ed-theme-trigger svg,
.ed-theme-popover svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ed-theme-popover {
  position: absolute;
  z-index: 4;
  top: calc(100% + 13px);
  right: 0;
  width: 166px;
  display: grid;
  gap: 3px;
  padding: 7px;
  visibility: hidden;
  opacity: 0;
  color: var(--ed-ink-dim);
  background: rgba(12,14,18,.97);
  border: 1px solid rgba(234,229,218,.14);
  box-shadow: 0 20px 55px rgba(0,0,0,.35);
  backdrop-filter: blur(18px);
  transform: translateY(-7px) scale(.97);
  transform-origin: top right;
  transition: opacity .22s ease, transform .3s cubic-bezier(.16,1,.3,1), visibility .22s ease;
}

.ed-theme-menu.is-open .ed-theme-popover {
  visibility: visible;
  opacity: 1;
  transform: none;
}

.ed-theme-popover button {
  display: grid;
  grid-template-columns: 20px 1fr 14px;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 400 12px/1.3 var(--ed-sans);
  letter-spacing: .06em;
  text-align: left;
  transition: color .25s ease, background .25s ease;
}

.ed-theme-popover button:hover {
  color: var(--ed-ink);
  background: rgba(234,229,218,.06);
}

.ed-theme-popover button.is-selected {
  color: #d9f765;
  background: rgba(217,247,101,.07);
}

.ed-theme-popover button i {
  font-style: normal;
  text-align: right;
}

.ed-inner {
  width: min(100%, 1232px);
  margin: 0 auto;
  padding: 0 clamp(24px,5vw,56px);
}

.ed-hero {
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 120px 24px 100px;
  text-align: center;
}

.ed-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(180deg, rgba(10,11,14,.12), transparent 24%, transparent 70%, var(--ed-bg)),
    radial-gradient(circle at 50% 48%, rgba(14,16,21,.04), rgba(10,11,14,.66) 68%, rgba(10,11,14,.94));
  z-index: 1;
  pointer-events: none;
}

.ed-flow-canvas {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .62;
  pointer-events: none;
}

.ed-fluid-mark {
  position: relative;
  aspect-ratio: 768 / 528;
}

.ed-fluid-layer {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #829bbc 0%, #b2b3ac 50%, #d8b979 100%);
  -webkit-mask: url('/brand/everdrift-mark.svg') center / contain no-repeat;
  mask: url('/brand/everdrift-mark.svg') center / contain no-repeat;
  will-change: transform;
}

.ed-fluid-layer-1 {
  clip-path: inset(0 0 76% 0);
  animation: ed-drift-1 15s ease-in-out infinite alternate;
  opacity: .95;
}

.ed-fluid-layer-2 {
  clip-path: inset(24% 0 49% 0);
  animation: ed-drift-2 19s ease-in-out infinite alternate-reverse;
  opacity: .72;
}

.ed-fluid-layer-3 {
  clip-path: inset(49% 0 24% 0);
  animation: ed-drift-1 23s ease-in-out -6s infinite alternate;
  opacity: .5;
}

.ed-fluid-layer-4 {
  clip-path: inset(74% 0 0 0);
  animation: ed-drift-2 27s ease-in-out -9s infinite alternate-reverse;
  opacity: .35;
}

.ed-hero-mark {
  --mark-parallax: 0px;
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: min(1500px, 172vw);
  opacity: .9;
  transform: translate(-50%, calc(-52% + var(--mark-parallax)));
  transition: opacity .08s linear;
  pointer-events: none;
}

.ed-hero-mark::after {
  position: absolute;
  inset: 14% 10%;
  content: "";
  background: radial-gradient(ellipse, rgba(147,170,201,.11), transparent 68%);
  filter: blur(60px);
}

.ed-hero-content {
  position: relative;
  z-index: 3;
}

.ed-hero-kicker {
  margin: 0 0 clamp(30px,5vh,52px);
  color: var(--ed-ink-faint);
  font-size: 11px;
  letter-spacing: .5em;
  text-indent: .5em;
}

.ed-wordmark {
  width: clamp(270px,42vw,560px);
  height: auto;
  display: block;
  margin: 0 auto;
  opacity: .95;
  filter: invert(91%) sepia(10%) saturate(290%) drop-shadow(0 0 42px rgba(234,229,218,.1));
}

.ed-hero-divider {
  width: 64px;
  height: 1px;
  display: block;
  margin: clamp(30px,5vh,50px) auto;
  background: linear-gradient(90deg, transparent, var(--ed-gold), transparent);
}

.ed-hero-statement {
  margin: 0;
  font-family: var(--ed-serif-cn);
  font-size: clamp(31px,5.4vw,64px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .1em;
}

.ed-hero-sub {
  max-width: 560px;
  margin: clamp(20px,3.5vh,32px) auto 0;
  color: var(--ed-ink-dim);
  font-size: clamp(14px,1.2vw,16.5px);
  letter-spacing: .06em;
}

.ed-hero-sub > span {
  display: block;
  margin-top: 8px;
  font: italic 400 1.15em/1.6 var(--ed-serif-en);
  letter-spacing: .02em;
}

.ed-hero-values {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-top: 32px;
  color: rgba(234,229,218,.34);
  font: 400 8px/1 var(--ed-sans);
  letter-spacing: .2em;
}

.ed-hero-values i {
  width: 2px;
  height: 2px;
  background: var(--ed-gold);
  border-radius: 50%;
}

.ed-scroll-cue {
  position: absolute;
  z-index: 4;
  bottom: 30px;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
  color: var(--ed-ink-faint);
  font-size: 10px;
  letter-spacing: .42em;
  text-indent: .42em;
  transform: translateX(-50%);
}

.ed-scroll-cue > span {
  position: relative;
  width: 1px;
  height: 48px;
  overflow: hidden;
  background: var(--ed-hair);
}

.ed-scroll-cue > span::after {
  position: absolute;
  top: -40%;
  left: 0;
  width: 1px;
  height: 40%;
  content: "";
  background: linear-gradient(180deg, transparent, var(--ed-gold));
  animation: ed-scroll-cue 2.6s cubic-bezier(.65,0,.35,1) infinite;
}

.ed-wave-divider {
  height: 120px;
  overflow: hidden;
  margin: -34px 0;
}

.ed-wave-divider svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: url('#ed-line-gradient');
  stroke: var(--ed-blue);
  stroke-width: 1;
}

.ed-wave-divider path { stroke: url('#unused'); }
.ed-wave-divider path {
  stroke: color-mix(in srgb, var(--ed-blue) 58%, var(--ed-gold));
  vector-effect: non-scaling-stroke;
  will-change: opacity;
}
.ed-wave-line-1 { opacity: .42; animation: ed-wave-pulse-one 7s ease-in-out infinite alternate; }
.ed-wave-line-2 { opacity: .26; animation: ed-wave-pulse-two 9s ease-in-out -3s infinite alternate; }
.ed-wave-line-3 { opacity: .15; animation: ed-wave-pulse-three 12s ease-in-out -6s infinite alternate; }
.ed-wave-divider-reverse svg { transform: scaleX(-1); }

.ed-section {
  padding: clamp(110px,16vh,190px) 0;
}

.ed-kicker {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: clamp(28px,4vh,44px);
  color: var(--ed-ink-faint);
  font-size: 11px;
  letter-spacing: .4em;
  text-indent: .4em;
}

.ed-kicker-number {
  color: var(--ed-gold);
  font: italic 400 16px/1 var(--ed-serif-en);
  letter-spacing: .08em;
  opacity: .85;
}

.ed-kicker-line {
  width: 54px;
  height: 1px;
  flex: 0 0 54px;
  background: linear-gradient(90deg, var(--ed-hair), transparent);
}

.ed-kicker-centered { justify-content: center; }
.ed-kicker-centered .ed-kicker-line:first-child { background: linear-gradient(270deg, var(--ed-hair), transparent); }

.ed-manifesto {
  background: linear-gradient(180deg, transparent, rgba(14,16,21,.52) 18%, rgba(14,16,21,.52) 82%, transparent);
}

.ed-manifesto-lede {
  width: fit-content;
  max-width: 810px;
  margin: 0;
  font-family: var(--ed-serif-cn);
  font-size: var(--ed-page-title-size);
  font-weight: var(--ed-page-title-weight);
  line-height: 2;
  letter-spacing: .05em;
  white-space: nowrap;
  clip-path: none;
}

.ed-manifesto-lede > span,
.ed-manifesto-lede em,
.ed-manifesto-lede em > span {
  font-family: var(--ed-serif-cn);
}

.ed-manifesto-lede > span,
.ed-manifesto-lede em > span {
  display: inline-block;
}

.ed-manifesto-lede.is-visible > span,
.ed-manifesto-lede.is-visible em > span {
  animation: ed-manifesto-type-character .38s cubic-bezier(.16,1,.3,1) both;
}

.ed-manifesto-lede em {
  color: var(--ed-gold);
  font-style: normal;
}

.ed-prose {
  max-width: 700px;
  color: var(--ed-ink-dim);
  font-size: clamp(15px,1.25vw,17px);
  letter-spacing: .02em;
}

.ed-prose p { margin: 0; }
.ed-prose p + p { margin-top: 1.4em; }
.ed-prose strong { color: var(--ed-ink); font-weight: 500; }
.ed-manifesto-prose { margin-top: clamp(30px,5vh,46px); }

.ed-signature {
  display: block;
  margin: 0 0 18px;
  color: var(--ed-ink-faint);
  font: 500 11px/1.4 var(--ed-sans);
  letter-spacing: .16em;
}

.ed-signature::before {
  display: none;
}

.ed-interlude {
  min-height: 560px;
  height: 74vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  text-align: center;
}

.ed-interlude > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .88;
  animation: ed-image-breathe 16s ease-in-out infinite alternate;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
}

.ed-interlude-shade {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent, rgba(10,11,14,.15) 50%, rgba(10,11,14,.62));
}

.ed-interlude > p {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0 24px;
  text-shadow: 0 2px 34px rgba(0,0,0,.75);
}

.ed-interlude > p span {
  display: block;
  font-family: var(--ed-serif-cn);
  font-size: clamp(21px,2.8vw,34px);
  font-weight: 400;
  letter-spacing: .24em;
  text-indent: .24em;
}

.ed-interlude > p small {
  display: block;
  margin-top: 15px;
  color: var(--ed-ink-dim);
  font: italic 400 clamp(14px,1.3vw,18px)/1.6 var(--ed-serif-en);
  letter-spacing: .06em;
}

.ed-section-title {
  margin: 0 0 clamp(28px,4vh,42px);
  font-family: var(--ed-serif-cn);
  font-size: clamp(30px,4.2vw,48px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
}

.ed-section-title em {
  color: var(--ed-gold);
  font-style: normal;
}

.ed-principles {
  --principles-dust-x: 0px;
  --principles-dust-y: 0px;
  --principles-glow-x: 0px;
  --principles-glow-y: 0px;
  overflow: hidden;
  isolation: isolate;
  min-height: clamp(780px,94svh,900px);
  padding-top: clamp(96px,12vh,132px);
  padding-bottom: clamp(92px,12vh,132px);
  background:
    radial-gradient(circle at 72% 18%, rgba(145,169,199,.055), transparent 31%),
    radial-gradient(circle at 20% 84%, rgba(211,184,136,.045), transparent 27%),
    #090c10;
}

.ed-principles::before,
.ed-principles::after {
  position: absolute;
  z-index: 0;
  content: "";
  pointer-events: none;
}

.ed-principles::before {
  content: none;
}

.ed-principles::after {
  inset: 0;
  opacity: .28;
  background:
    radial-gradient(circle at 31% 32%, rgba(211,184,136,.22) 0 1.5px, transparent 2.8px),
    radial-gradient(circle at 77% 57%, rgba(145,169,199,.2) 0 1.6px, transparent 3px),
    radial-gradient(circle at 57% 85%, rgba(217,247,101,.14) 0 1.2px, transparent 2.5px);
  filter: blur(.2px);
  will-change: transform, opacity;
  animation: ed-principles-dust-breathe 9s ease-in-out infinite alternate;
}

.ed-principles .ed-inner {
  position: relative;
  z-index: 2;
  transform: translateY(clamp(38px,5vh,52px));
}

.ed-principles-dust {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.ed-principles .ed-section-title {
  margin-bottom: 0;
  font-size: clamp(28px,3.6vw,42px);
}

.ed-principles-grid {
  display: grid;
  grid-template-columns: 1.08fr .94fr 1.02fr .96fr;
  gap: clamp(13px,1.7vw,22px);
  align-items: start;
  margin-top: clamp(24px,3vh,34px);
}

.ed-principle {
  --principle-accent: #d3b888;
  position: relative;
  min-height: 0;
  overflow: hidden;
  padding: clamp(22px,2.2vw,30px);
  background:
    radial-gradient(circle at 88% 12%, rgba(211,184,136,.08), transparent 31%),
    linear-gradient(145deg, rgba(20,28,35,.98), rgba(8,11,14,.99));
  border: 1px solid rgba(234,229,218,.12);
  border-radius: 3px 24px 3px 18px;
  box-shadow: 0 16px 44px rgba(0,0,0,.16);
  transition: border-color .5s ease, box-shadow .5s ease, transform .6s cubic-bezier(.16,1,.3,1);
}

.ed-principle::before {
  position: absolute;
  top: -86px;
  right: -72px;
  width: 225px;
  height: 225px;
  content: "";
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--principle-accent);
  opacity: .12;
  transform: scale(.78);
  transition: opacity .55s ease, transform .9s cubic-bezier(.16,1,.3,1);
}

.ed-principle:nth-child(1) {
  grid-column: auto;
  min-height: 0;
  margin-top: 44px;
}

.ed-principle:nth-child(2) {
  --principle-accent: #91a9c7;
  grid-column: auto;
  min-height: 0;
  margin-top: 108px;
  border-radius: 32px 3px 24px 3px;
  background:
    radial-gradient(circle at 86% 14%, rgba(145,169,199,.1), transparent 33%),
    linear-gradient(155deg, rgba(10,14,19,.99), rgba(16,22,28,.98));
}

.ed-principle:nth-child(3) {
  --principle-accent: #a5b77e;
  grid-column: auto;
  min-height: 0;
  margin-top: 0;
  border-radius: 28px 3px 28px 3px;
  background:
    radial-gradient(circle at 86% 14%, rgba(165,183,126,.09), transparent 33%),
    linear-gradient(145deg, rgba(16,21,17,.99), rgba(8,11,14,.99));
}

.ed-principle:nth-child(4) {
  --principle-accent: #c9c4b8;
  grid-column: auto;
  min-height: 0;
  margin-top: 74px;
  border-radius: 3px 30px 3px 30px;
  background:
    radial-gradient(circle at 88% 12%, rgba(201,196,184,.08), transparent 32%),
    linear-gradient(155deg, rgba(17,20,22,.99), rgba(8,11,14,.99));
}

.ed-principle:hover {
  border-color: rgba(234,229,218,.24);
  box-shadow: 0 28px 72px rgba(0,0,0,.28);
  transform: translateY(-7px) rotate(-.18deg);
}

.ed-principle:nth-child(even):hover { transform: translateY(-7px) rotate(.18deg); }
.ed-principle:hover::before { opacity: .22; transform: scale(1); }

.ed-principle-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ed-ink-faint);
  font: italic 400 15px/1 var(--ed-serif-en);
  letter-spacing: .12em;
}

.ed-principle-top i {
  width: 4px;
  height: 4px;
  background: var(--principle-accent);
  border-radius: 50%;
  box-shadow: 0 0 16px currentColor;
  color: var(--principle-accent);
}

.ed-principle-glyph {
  position: absolute;
  z-index: 1;
  top: 42px;
  right: clamp(12px,1.8vw,24px);
  width: clamp(88px,9vw,112px);
  height: auto;
  overflow: visible;
  color: var(--principle-accent);
  opacity: .72;
  pointer-events: none;
}

.ed-sigil-line {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.05;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  opacity: .66;
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity .55s ease, stroke-dashoffset 1s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}

.ed-principle-glyph path.ed-sigil-line {
  stroke-dasharray: 1;
  stroke-dashoffset: .16;
}

.ed-sigil-point {
  fill: currentColor;
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity .55s ease, transform .8s cubic-bezier(.16,1,.3,1);
}

.ed-principle:hover .ed-sigil-line { opacity: 1; stroke-dashoffset: 0; }
.ed-principle:hover .ed-sigil-point { transform: scale(1.45); }

.ed-principle:hover .ed-principle-glyph-safety .ed-sigil-outer { transform: scale(1.055); }
.ed-principle:hover .ed-principle-glyph-safety .ed-sigil-middle { transform: scale(.965); }
.ed-principle:hover .ed-principle-glyph-safety .ed-sigil-core { transform: scale(1.08); }
.ed-principle:hover .ed-principle-glyph-privacy .ed-sigil-shutter { transform: rotate(8deg) scale(.94); }
.ed-principle:hover .ed-principle-glyph-privacy .ed-sigil-core { transform: scale(1.2); }
.ed-principle:hover .ed-principle-glyph-reliability .ed-sigil-track-one { transform: translateX(8px); }
.ed-principle:hover .ed-principle-glyph-reliability .ed-sigil-track-two { transform: translateX(-8px); }
.ed-principle:hover .ed-principle-glyph-reliability .ed-sigil-track-three { transform: translateX(4px); }
.ed-principle:hover .ed-principle-glyph-convenience .ed-sigil-branch-one { transform: translateY(7px); }
.ed-principle:hover .ed-principle-glyph-convenience .ed-sigil-branch-two { transform: translateY(3px); }
.ed-principle:hover .ed-principle-glyph-convenience .ed-sigil-branch-three { transform: translateY(-3px); }
.ed-principle:hover .ed-principle-glyph-convenience .ed-sigil-branch-four { transform: translateY(-7px); }

.ed-principle h3 {
  position: relative;
  z-index: 2;
  margin: clamp(104px,9.4vw,118px) 0 17px;
  color: var(--principle-accent);
  font-family: var(--ed-serif-cn);
  font-size: clamp(16px,1.5vw,20px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .2em;
}

.ed-principle > p {
  position: relative;
  z-index: 2;
  max-width: 39em;
  margin: 0;
  color: var(--ed-ink-dim);
  font-size: 12px;
  line-height: 1.75;
}

.ed-era-statement {
  min-height: clamp(720px,92svh,900px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(34px,4.5vh,46px);
  overflow: hidden;
  padding: 100px 30px;
  color: #d9f765;
  text-align: center;
  background:
    radial-gradient(circle at 18% 8%, rgba(217,247,101,.07), transparent 28%),
    radial-gradient(circle at 82% 90%, rgba(147,170,201,.055), transparent 30%),
    #0a0b0e;
}

.ed-era-statement::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(10,11,14,.3), transparent 18%, transparent 82%, rgba(10,11,14,.45)),
    radial-gradient(ellipse at 50% 50%, transparent 25%, rgba(10,11,14,.18) 70%, rgba(10,11,14,.52));
}

.ed-era-statement::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  content: "";
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 52%, rgba(217,247,101,.075), rgba(217,247,101,.018) 34%, transparent 67%);
  animation: ed-era-aura-breathe 7.5s ease-in-out infinite;
}

.ed-era-statement > :not(.ed-era-flow) { position: relative; z-index: 2; }

.ed-era-flow {
  position: absolute;
  z-index: 0;
  inset: -3%;
  width: 106%;
  height: 106%;
  overflow: visible;
  opacity: 1;
  pointer-events: none;
}

.ed-era-wave {
  --wave-opacity-low: .12;
  --wave-opacity-high: .27;
  fill: none;
  stroke: #b9d071;
  stroke-width: 1.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  shape-rendering: geometricPrecision;
  animation: ed-era-wave-breathe 8s ease-in-out infinite;
}

.ed-era-wave-main {
  --wave-opacity-low: .17;
  --wave-opacity-high: .35;
  stroke-width: 1.45;
}

.ed-era-wave-echo {
  --wave-opacity-low: .07;
  --wave-opacity-high: .18;
  stroke-width: .85;
}

.ed-era-wave-1 { animation-duration: 7.2s; }
.ed-era-wave-2 { animation-duration: 8.6s; animation-delay: -2.4s; }
.ed-era-wave-3 { animation-duration: 9.4s; animation-delay: -4.6s; }
.ed-era-wave-4 { animation-duration: 7.8s; animation-delay: -1.2s; }
.ed-era-wave-5 { animation-duration: 10.2s; animation-delay: -6.8s; }
.ed-era-wave-6 { animation-duration: 8.9s; animation-delay: -3.7s; }
.ed-era-wave-7 { animation-duration: 9.7s; animation-delay: -5.2s; }
.ed-era-wave-8 { animation-duration: 7.6s; animation-delay: -1.9s; }
.ed-era-wave-9 { animation-duration: 10.8s; animation-delay: -7.1s; }
.ed-era-wave-10 { animation-duration: 8.4s; animation-delay: -3.3s; }

.ed-era-statement > p,
.ed-era-statement > small {
  width: min(84vw,880px);
  margin: 0;
  font: 500 9px/1.5 var(--ed-sans);
  letter-spacing: .2em;
  text-align: center;
}

.ed-era-translation {
  display: inline-block;
  animation: ed-era-translation-arrive .85s cubic-bezier(.16,1,.3,1) both;
}

.ed-era-translation-bottom { animation-name: ed-era-translation-arrive-side; }

.ed-era-statement h2 {
  margin: 0;
  font-family: var(--ed-serif-cn);
  font-size: clamp(52px,7vw,102px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
}

.ed-era-statement h2 span {
  color: rgba(10,11,14,.58);
}

.ed-era-statement small { opacity: .55; }

.ed-work-split {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(46px,7vw,96px);
  align-items: start;
}

.ed-mind-card {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 10px;
  background: rgba(14,16,21,.5);
  border: 1px solid var(--ed-hair);
}

.ed-mind-card::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(10,11,14,.9), transparent 48%, rgba(10,11,14,.35));
  pointer-events: none;
}

.ed-mind-card > img {
  width: 100%;
  display: block;
  opacity: .88;
  transform: scale(1.01);
  transition: opacity 1s ease, transform 1.6s cubic-bezier(.16,1,.3,1);
}

.ed-mind-card:hover > img { opacity: 1; transform: scale(1.045); }

.ed-mind-copy {
  position: absolute;
  z-index: 2;
  top: 35px;
  right: 35px;
  left: 35px;
}

.ed-mind-copy blockquote {
  max-width: 400px;
  margin: 0;
  color: rgba(234,229,218,.82);
  font: italic 300 clamp(18px,2vw,27px)/1.5 var(--ed-serif-en);
}

.ed-mind-copy p {
  margin: 20px 0 4px;
  color: var(--ed-gold);
  font-family: var(--ed-serif-cn);
  font-size: 14px;
  letter-spacing: .08em;
}

.ed-mind-copy small {
  color: var(--ed-ink-faint);
  font-size: 10px;
  letter-spacing: .08em;
}

.ed-mind-card figcaption {
  position: relative;
  z-index: 2;
  padding: 13px 4px 4px;
  color: var(--ed-ink-faint);
  font-size: 10px;
  letter-spacing: .34em;
  text-align: center;
}

.ed-faculties {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: clamp(20px,3vw,36px);
  margin-top: clamp(52px,8vh,82px);
}

.ed-faculty {
  padding-top: 23px;
  border-top: 1px solid var(--ed-hair);
}

.ed-faculty > span {
  display: block;
  margin-bottom: 15px;
  font-family: var(--ed-serif-cn);
  font-size: clamp(35px,3.4vw,49px);
  font-weight: 200;
  line-height: 1;
}

.ed-faculty > small {
  display: block;
  margin-bottom: 12px;
  color: var(--ed-ink-faint);
  font-size: 10px;
  letter-spacing: .38em;
  text-transform: uppercase;
}

.ed-faculty > p {
  margin: 0;
  color: var(--ed-ink-dim);
  font-size: 13px;
  line-height: 1.8;
}

.ed-name { text-align: center; }

.ed-name-mark {
  width: clamp(190px,27vw,315px);
  margin: 0 auto clamp(36px,5vh,56px);
}

.ed-name-line {
  margin: 0;
  font-family: var(--ed-serif-cn);
  font-size: clamp(23px,3.2vw,37px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .13em;
}

.ed-name-line em {
  color: var(--ed-gold);
  font: italic 400 1.08em/1.8 var(--ed-serif-en);
  letter-spacing: .04em;
}

.ed-name-prose {
  margin: clamp(32px,4.5vh,46px) auto 0;
}

.ed-coda {
  min-height: 780px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(120px,18vh,190px) 0;
  text-align: center;
}

.ed-coda-image,
.ed-coda-vignette {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ed-coda-image {
  object-fit: cover;
  opacity: .65;
  animation: ed-horizon-breathe 20s ease-in-out infinite alternate;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 22%, #000 82%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 22%, #000 82%, transparent);
}

.ed-coda-vignette {
  background: radial-gradient(ellipse at 50% 52%, transparent 14%, rgba(10,11,14,.22) 54%, rgba(10,11,14,.75));
}

.ed-coda .ed-inner { position: relative; z-index: 2; }

.ed-coda-quote {
  max-width: 900px;
  margin: 0 auto;
  font-family: var(--ed-serif-cn);
  font-size: clamp(25px,3.8vw,45px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: .08em;
  text-shadow: 0 2px 36px rgba(0,0,0,.75);
}

.ed-coda-quote span { color: var(--ed-ink-dim); }

.ed-coda-attr {
  margin: clamp(32px,5vh,50px) 0 0;
  color: var(--ed-ink-faint);
  font-size: 11px;
  letter-spacing: .4em;
  text-indent: .4em;
}

.ed-coda-mark {
  width: min(560px,80vw);
  height: 150px;
  object-fit: contain;
  margin-top: clamp(52px,8vh,82px);
  opacity: .14;
  filter: invert(91%) sepia(10%) saturate(290%);
}

.ed-footer {
  padding: 0;
  background:
    radial-gradient(circle at 8% 0, rgba(217,247,101,.04), transparent 28%),
    #07080a;
  border-top: 1px solid var(--ed-hair);
}

.ed-footer-inner {
  display: block;
  padding-top: clamp(58px,8vh,92px);
  padding-bottom: clamp(28px,4vh,44px);
}

.ed-footer-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 52px;
  padding-bottom: clamp(54px,7vh,82px);
  border-bottom: 1px solid var(--ed-hair);
}

.ed-footer-brand > img {
  width: clamp(168px,17vw,224px);
  display: block;
  opacity: .9;
  filter: invert(91%) sepia(10%) saturate(290%);
}

.ed-footer-brand > p {
  margin: 25px 0 0;
  color: var(--ed-ink);
  font-family: var(--ed-serif-cn);
  font-size: clamp(21px,2.1vw,31px);
  letter-spacing: .08em;
}

.ed-footer-brand > small {
  display: block;
  margin-top: 10px;
  color: var(--ed-ink-faint);
  font-size: 8px;
  letter-spacing: .28em;
}

.ed-footer-entry {
  min-width: min(100%,320px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 38px;
  padding: 22px 24px;
  color: #10130c;
  background: #d9f765;
  border: 1px solid #d9f765;
  transition: color .35s ease, background .35s ease, transform .45s cubic-bezier(.16,1,.3,1);
}

.ed-footer-entry:hover {
  color: #d9f765;
  background: transparent;
  transform: translateY(-4px);
}

.ed-footer-entry > span {
  font: 500 13px/1.3 var(--ed-sans);
  letter-spacing: .08em;
}

.ed-footer-entry small {
  display: block;
  margin-bottom: 7px;
  font-size: 7px;
  letter-spacing: .2em;
  opacity: .62;
}

.ed-footer-entry i { font-size: 21px; font-style: normal; }

.ed-footer-directory {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: clamp(28px,5vw,78px);
  padding: clamp(52px,7vh,80px) 0 clamp(62px,8vh,92px);
}

.ed-footer-products { grid-column: span 2; }
.ed-footer-product-links {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: clamp(28px,5vw,78px);
}

.ed-footer-column h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 28px;
  color: rgba(234,229,218,.48);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .17em;
}

.ed-footer-column h3 span {
  color: var(--ed-gold);
  font-family: var(--ed-serif-en);
  font-style: italic;
}

.ed-footer-column > a,
.ed-footer-product-links > a {
  width: fit-content;
  display: block;
  margin-top: 15px;
  color: rgba(234,229,218,.82);
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: .04em;
  transition: color .3s ease, translate .35s cubic-bezier(.16,1,.3,1);
}

.ed-footer-column > a:hover,
.ed-footer-product-links > a:hover {
  color: #d9f765;
  translate: 4px 0;
}

.ed-footer-column > a i,
.ed-footer-product-links > a i {
  margin-left: 4px;
  color: #d9f765;
  font-style: normal;
}

.ed-footer-column > a small,
.ed-footer-product-links > a small {
  margin-left: 6px;
  color: rgba(234,229,218,.22);
  font-size: 7px;
  letter-spacing: .12em;
}

.ed-footer .is-coming { cursor: default; }

.ed-footer .is-coming:hover {
  color: rgba(234,229,218,.82);
  translate: 0;
}

.ed-footer-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 34px;
  padding-top: 27px;
  border-top: 1px solid var(--ed-hair);
  color: rgba(234,229,218,.28);
  font-size: 8px;
  line-height: 1.8;
  letter-spacing: .08em;
}

.ed-footer-company {
  display: flex;
  align-items: center;
  gap: 13px;
}

.ed-footer-company-mark {
  width: auto;
  max-width: 56px;
  height: 23px;
  flex: 0 0 auto;
  opacity: .48;
  object-fit: contain;
  filter: brightness(0) saturate(100%);
  transition: opacity .25s ease, filter .5s ease;
}

.ed-footer-company > div { display: grid; gap: 1px; }
.ed-footer-company p { margin: 0; line-height: 1.3; }
.ed-footer-en {
  font-family: var(--ed-sans);
  font-size: 9px;
  font-style: normal;
  letter-spacing: .04em;
}

.ed-footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px 15px;
  text-align: right;
}

.ed-footer-legal a { color: inherit; }
.ed-footer-legal a:hover { color: var(--ed-gold); }
.ed-footer-legal .ed-footer-mps-beian {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.ed-footer-mps-beian img {
  width: auto;
  height: 14px;
  flex: 0 0 auto;
  opacity: .56;
  filter: saturate(.62);
  transition: opacity .25s ease, filter .25s ease;
}
.ed-footer-mps-beian:hover img {
  opacity: .78;
  filter: saturate(.82);
}

.ed-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease, transform 1.1s cubic-bezier(.16,1,.3,1);
}

.ed-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.ed-delay-1 { transition-delay: .12s; }
.ed-delay-2 { transition-delay: .24s; }
.ed-delay-3 { transition-delay: .3s; }
.ed-delay-4 { transition-delay: .42s; }

@keyframes ed-drift-1 {
  from { transform: translateX(-26px) translateY(2px); }
  to { transform: translateX(26px) translateY(-2px); }
}

@keyframes ed-drift-2 {
  from { transform: translateX(24px) translateY(-2px); }
  to { transform: translateX(-24px) translateY(2px); }
}

@keyframes ed-principles-dust-drift {
  from {
    background-position: 0 0, 0 0, 0 0, 0 0;
    transform: translate3d(calc(-1.5% + var(--principles-dust-x)), calc(-1% + var(--principles-dust-y)), 0) scale(1.015);
  }
  to {
    background-position: 173px 181px, -257px 233px, 211px -269px, -307px 197px;
    transform: translate3d(calc(1.5% + var(--principles-dust-x)), calc(1% + var(--principles-dust-y)), 0) scale(1.045);
  }
}

@keyframes ed-principles-dust-breathe {
  from { opacity: .18; transform: translate3d(var(--principles-glow-x), calc(4px + var(--principles-glow-y)), 0); }
  to { opacity: .42; transform: translate3d(var(--principles-glow-x), calc(-7px + var(--principles-glow-y)), 0) scale(1.035); }
}

@keyframes ed-scroll-cue { to { top: 110%; } }

@keyframes ed-wave-pulse-one {
  from { opacity: .28; }
  to { opacity: .48; }
}

@keyframes ed-wave-pulse-two {
  from { opacity: .16; }
  to { opacity: .34; }
}

@keyframes ed-wave-pulse-three {
  from { opacity: .09; }
  to { opacity: .22; }
}

@keyframes ed-era-translation-arrive {
  from { opacity: 0; filter: blur(5px); translate: 0 5px; }
  to { opacity: 1; filter: blur(0); translate: 0 0; }
}

@keyframes ed-era-translation-arrive-side {
  from { opacity: 0; filter: blur(4px); translate: -7px 0; }
  to { opacity: 1; filter: blur(0); translate: 0 0; }
}

@keyframes ed-era-wave-breathe {
  0%,100% {
    opacity: var(--wave-opacity-low);
    stroke: #a6b872;
    filter: drop-shadow(0 0 0 rgba(217,247,101,0));
  }
  50% {
    opacity: var(--wave-opacity-high);
    stroke: #d9f765;
    filter: drop-shadow(0 0 5px rgba(217,247,101,.18));
  }
}

@keyframes ed-era-aura-breathe {
  0%,100% { opacity: .38; transform: scale(.96); }
  50% { opacity: .9; transform: scale(1.04); }
}

@keyframes ed-image-breathe {
  from { transform: scale(1.02) translateX(-1%); filter: saturate(.92); }
  to { transform: scale(1.08) translateX(1%); filter: saturate(1.12); }
}

@keyframes ed-era-breathe {
  from {
    --era-ring-gap: 48px;
    --era-ring-alpha: .1;
  }
  to {
    --era-ring-gap: 68px;
    --era-ring-alpha: .2;
  }
}

@keyframes ed-horizon-breathe {
  from { transform: scale(1.02); filter: brightness(.86); }
  to { transform: scale(1.08); filter: brightness(1.08); }
}

@media (max-width: 900px) {
  .ed-nav-links { gap: 20px; }
  .ed-work-split { grid-template-columns: 1fr; }
  .ed-mind-card { max-width: 620px; }
  .ed-faculties { grid-template-columns: repeat(2,1fr); gap: 42px 28px; }
  .ed-footer-directory { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 48px; }
  .ed-footer-bottom { align-items: flex-start; flex-direction: column; }
  .ed-footer-legal { justify-content: flex-start; text-align: left; }
}

@media (max-width: 680px) {
  .ed-site { font-size: 14px; }
  .ed-nav { min-height: 68px; padding: 15px 20px; }
  .ed-nav-brand-wordmark { width: 112px; }
  .ed-nav-links > a:not(:last-child):not(.ed-nav-home):not([href="/contact"]) { display: none; }
  .ed-nav-links > a, .ed-product-switcher-trigger { font-size: 10px; }
  .ed-hero { min-height: 820px; padding-right: 18px; padding-left: 18px; }
  .ed-hero-mark { width: 220vw; }
  .ed-hero-kicker { font-size: 8px; line-height: 1.8; letter-spacing: .32em; }
  .ed-wordmark { width: min(76vw,360px); }
  .ed-hero-statement { font-size: clamp(32px,10vw,46px); letter-spacing: .07em; }
  .ed-hero-sub { font-size: 13px; }
  .ed-hero-values { gap: 8px; font-size: 6px; letter-spacing: .12em; }
  .ed-scroll-cue { bottom: 20px; font-size: 8px; }
  .ed-scroll-cue > span { height: 38px; }
  .ed-wave-divider { height: 86px; margin: -25px 0; }
  .ed-section { padding: 100px 0; }
  .ed-kicker { gap: 10px; font-size: 9px; letter-spacing: .25em; }
  .ed-kicker-line { width: 34px; flex-basis: 34px; }
  .ed-manifesto-lede { line-height: 1.9; }
  .ed-prose { font-size: 15px; line-height: 1.9; }
  .ed-interlude { min-height: 460px; height: 62vh; }
  .ed-interlude > img { width: 190%; left: -45%; max-width: none; }
  .ed-interlude > p span { font-size: 22px; }
  .ed-section-title { font-size: 31px; }
  .ed-principles-grid { grid-template-columns: 1fr; gap: 18px; }
  .ed-principles-grid .ed-principle {
    grid-column: 1;
    min-height: 350px;
    margin-top: 0;
  }
  .ed-principle-glyph { width: 158px; }
  .ed-principle h3 { margin-top: 132px; font-size: 20px; letter-spacing: .18em; }
  .ed-era-statement { min-height: 500px; }
  .ed-era-statement h2 { font-size: 54px; }
  .ed-mind-copy { top: 24px; right: 24px; left: 24px; }
  .ed-mind-copy blockquote { font-size: 19px; }
  .ed-mind-copy p { font-size: 12px; }
  .ed-faculties { gap: 36px 20px; }
  .ed-faculty > span { font-size: 35px; }
  .ed-name-mark { width: 220px; }
  .ed-name-line { font-size: 25px; letter-spacing: .08em; }
  .ed-coda { min-height: 690px; padding: 110px 0; }
  .ed-coda-image { width: 180%; left: -40%; max-width: none; }
  .ed-coda-quote { font-size: 25px; letter-spacing: .05em; }
  .ed-coda-attr { font-size: 9px; letter-spacing: .24em; }
  .ed-footer-head { align-items: flex-start; flex-direction: column; }
  .ed-footer-entry { width: 100%; }
  .ed-footer-directory { grid-template-columns: 1fr 1fr; gap: 42px 22px; }
  .ed-footer-brand > img { width: 150px; }
  .ed-footer-column h3 { margin-bottom: 22px; font-size: 8px; }
  .ed-footer-column > a, .ed-footer-product-links > a { font-size: 11px; }
  .ed-footer-bottom { font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .ed-site { scroll-behavior: auto; }
  .ed-site *,
  .ed-site *::before,
  .ed-site *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .ed-reveal { opacity: 1; transform: none; }
}

/* Rebalanced direction: first concept structure + literary reference copy */
.ed-hero {
  min-height: 940px;
  padding: 150px clamp(28px,5vw,72px) 110px;
  text-align: left;
  background:
    radial-gradient(circle at 78% 46%, rgba(217,247,101,.08), transparent 22%),
    radial-gradient(circle at 62% 12%, rgba(147,170,201,.08), transparent 28%),
    var(--ed-bg);
}

.ed-hero::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  opacity: .26;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 70px 70px;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 88%);
  mask-image: linear-gradient(180deg, #000, transparent 88%);
}

.ed-hero-layout {
  position: relative;
  z-index: 3;
  width: min(100%, 1360px);
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(460px,.92fr);
  gap: clamp(45px,6vw,100px);
  align-items: center;
  margin: 0 auto;
}

.ed-hero-content {
  max-width: 760px;
  text-align: left;
}

.ed-wordmark {
  width: clamp(225px,23vw,360px);
  margin: 0;
}

.ed-hero-divider {
  margin-right: 0;
  margin-left: 0;
}

.ed-hero-statement {
  max-width: 800px;
  font-size: clamp(58px,6.1vw,94px);
  line-height: 1.16;
  letter-spacing: -.045em;
}

.ed-hero-statement > span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px rgba(234,229,218,.65);
}

.ed-forming-word {
  position: relative;
  width: fit-content;
  isolation: isolate;
}

.ed-forming-word-base,
.ed-forming-fragment {
  display: block;
  color: transparent;
  font: inherit;
  font-style: normal;
  letter-spacing: inherit;
  white-space: nowrap;
  -webkit-text-stroke: 1px rgba(234,229,218,.7);
}

.ed-forming-word-base { opacity: .18; }

.ed-forming-fragment {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  filter: blur(2.4px);
  transform: translate3d(var(--fragment-x),var(--fragment-y),0) rotate(var(--fragment-r));
  will-change: transform, filter, opacity;
}

.ed-hero-statement.is-visible .ed-forming-word-base {
  animation: ed-forming-base-breathe 3.8s ease-out forwards;
}

.ed-hero-statement.is-visible .ed-forming-fragment {
  animation: ed-forming-fragment 3.8s cubic-bezier(.2,.72,.16,1) forwards;
}

.ed-forming-fragment-one {
  --fragment-x: -17px;
  --fragment-y: -11px;
  --fragment-r: -1.4deg;
  --fragment-end-x: 8px;
  --fragment-end-y: 5px;
  --fragment-end-r: .5deg;
  clip-path: polygon(0 0, 54% 0, 45% 52%, 0 48%);
}

.ed-forming-fragment-two {
  --fragment-x: 14px;
  --fragment-y: -8px;
  --fragment-r: 1deg;
  --fragment-end-x: -6px;
  --fragment-end-y: 4px;
  --fragment-end-r: -.4deg;
  clip-path: polygon(54% 0, 100% 0, 100% 48%, 45% 52%);
  animation-delay: .22s;
}

.ed-forming-fragment-three {
  --fragment-x: -12px;
  --fragment-y: 10px;
  --fragment-r: .8deg;
  --fragment-end-x: 5px;
  --fragment-end-y: -5px;
  --fragment-end-r: -.3deg;
  clip-path: polygon(0 48%, 45% 52%, 54% 100%, 0 100%);
  animation-delay: .44s;
}

.ed-forming-fragment-four {
  --fragment-x: 18px;
  --fragment-y: 12px;
  --fragment-r: -1deg;
  --fragment-end-x: -8px;
  --fragment-end-y: -5px;
  --fragment-end-r: .4deg;
  clip-path: polygon(45% 52%, 100% 48%, 100% 100%, 54% 100%);
  animation-delay: .66s;
}

.ed-hero-sub {
  max-width: 580px;
  margin-right: 0;
  margin-left: 0;
}

.ed-hero-values { justify-content: flex-start; }

.ed-hero-orbit {
  position: relative;
  z-index: 1;
  width: min(42vw,600px);
  aspect-ratio: 1;
  justify-self: end;
  border-radius: 50%;
  filter: drop-shadow(0 0 70px rgba(147,170,201,.08));
}

.ed-orbit-field-ring {
  --orbit-field-x: 0px;
  --orbit-field-y: 0px;
  --orbit-field-scale-x: 1;
  --orbit-field-scale-y: 1;
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: var(--orbit-field-size);
  aspect-ratio: 1;
  translate: calc(-50% + var(--orbit-field-x)) calc(-50% + var(--orbit-field-y));
  scale: var(--orbit-field-scale-x) var(--orbit-field-scale-y);
  border: 1px solid rgba(21,24,21,var(--orbit-field-opacity));
  border-radius: 49% 51% 47% 53% / 52% 48% 54% 46%;
  pointer-events: none;
  will-change: transform, translate, scale, opacity;
  transition: translate .72s cubic-bezier(.16,1,.3,1), scale .9s cubic-bezier(.16,1,.3,1);
  animation: ed-orbit-field-drift var(--orbit-field-speed) linear infinite;
}

.ed-orbit-field-ring-one {
  --orbit-field-size: 128%;
  --orbit-field-opacity: .16;
  --orbit-field-speed: 42s;
}

.ed-orbit-field-ring-two {
  --orbit-field-size: 164%;
  --orbit-field-opacity: .13;
  --orbit-field-speed: 56s;
  border-style: dashed;
  border-radius: 53% 47% 51% 49% / 47% 55% 45% 53%;
  animation-direction: reverse;
}

.ed-orbit-field-ring-three {
  --orbit-field-size: 204%;
  --orbit-field-opacity: .1;
  --orbit-field-speed: 66s;
  border-radius: 46% 54% 49% 51% / 55% 45% 52% 48%;
}

.ed-orbit-field-ring-four {
  --orbit-field-size: 252%;
  --orbit-field-opacity: .075;
  --orbit-field-speed: 78s;
  border-style: dashed;
  border-radius: 52% 48% 55% 45% / 48% 53% 47% 52%;
  animation-direction: reverse;
}

.ed-orbit-field-ring-five {
  --orbit-field-size: 312%;
  --orbit-field-opacity: .055;
  --orbit-field-speed: 92s;
  border-radius: 47% 53% 46% 54% / 54% 46% 51% 49%;
}

.ed-hero-orbit::before,
.ed-hero-orbit::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  pointer-events: none;
}

.ed-hero-orbit::before {
  inset: 13%;
  background: radial-gradient(circle, rgba(217,247,101,.07), rgba(147,170,201,.025) 50%, transparent 70%);
  filter: blur(18px);
}

.ed-hero-orbit::after {
  inset: 5%;
  border: 1px solid rgba(255,255,255,.045);
  box-shadow: inset 0 0 70px rgba(255,255,255,.018);
}

.ed-orbit-ring {
  position: absolute;
  border: 1px solid rgba(234,229,218,.19);
  will-change: transform;
}

.ed-orbit-ring::before {
  position: absolute;
  width: 5px;
  height: 5px;
  content: "";
  background: #d9f765;
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(217,247,101,.8);
}

.ed-orbit-ring-one {
  inset: 1%;
  border-radius: 49% 51% 47% 53% / 52% 46% 54% 48%;
  animation: ed-orbit-turn 28s linear infinite;
}

.ed-orbit-ring-one::before { top: 14%; left: 16%; }

.ed-orbit-ring-two {
  inset: 17%;
  border-style: dashed;
  border-radius: 54% 46% 52% 48% / 46% 55% 45% 54%;
  opacity: .68;
  animation: ed-orbit-turn-reverse 21s linear infinite;
}

.ed-orbit-ring-two::before { right: -3px; bottom: 30%; background: var(--ed-gold); }

.ed-orbit-ring-three {
  inset: 32%;
  border-color: rgba(147,170,201,.32);
  border-radius: 46% 54% 48% 52% / 55% 43% 57% 45%;
  animation: ed-orbit-wobble 9s ease-in-out infinite alternate;
}

.ed-orbit-ring-three::before { bottom: 2%; left: 29%; background: var(--ed-blue); }

.ed-orbit-center {
  position: absolute;
  z-index: 3;
  inset: 36%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(17,20,18,.74);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 46% 54% 50% 50% / 53% 47% 55% 45%;
  box-shadow: inset 0 0 48px rgba(147,170,201,.045), 0 18px 70px rgba(0,0,0,.28);
  backdrop-filter: blur(15px);
  animation: ed-center-float 7s ease-in-out infinite;
}

.ed-orbit-center i {
  width: 6px;
  height: 6px;
  margin-bottom: 14px;
  background: #d9f765;
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(217,247,101,.8);
}

.ed-orbit-center-term,
.ed-orbit-center-echo {
  appearance: none;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  text-align: center;
  transition: color .28s ease, opacity .28s ease, text-shadow .28s ease;
}

.ed-orbit-center-term {
  font: 500 10px/1 var(--ed-sans);
  letter-spacing: .22em;
  text-indent: .22em;
}

.ed-orbit-center-echo {
  margin-top: 9px;
  color: rgba(234,229,218,.5);
  font-family: var(--ed-serif-cn);
  font-size: 11px;
  letter-spacing: .28em;
  text-indent: .28em;
}

.ed-orbit-node {
  position: absolute;
  z-index: 4;
  appearance: none;
  padding: 6px 9px;
  color: rgba(234,229,218,.52);
  background: rgba(10,11,14,.82);
  border: 1px solid rgba(234,229,218,.14);
  border-radius: 2px;
  font: 500 8px/1 var(--ed-sans);
  letter-spacing: .16em;
  white-space: nowrap;
  transition: color .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ed-orbit-node:hover,
.ed-orbit-node:focus-visible {
  color: rgba(234,229,218,.78);
  background: rgba(15,17,18,.9);
  border-color: rgba(234,229,218,.28);
  box-shadow: 0 7px 20px rgba(0,0,0,.18);
  outline: none;
}

.ed-orbit-node.is-active {
  color: #afc276;
  background: rgba(17,20,18,.94);
  border-color: rgba(175,194,118,.38);
  box-shadow: 0 7px 22px rgba(0,0,0,.2);
  outline: none;
}

.ed-orbit-center-term:hover,
.ed-orbit-center-term:focus-visible,
.ed-orbit-center-echo:hover,
.ed-orbit-center-echo:focus-visible {
  color: rgba(234,229,218,.76);
  opacity: .9;
  text-shadow: 0 0 10px rgba(234,229,218,.08);
  outline: none;
}

.ed-orbit-center-term.is-active,
.ed-orbit-center-echo.is-active {
  color: #afc276;
  opacity: .92;
  text-shadow: 0 0 11px rgba(175,194,118,.1);
  outline: none;
}

.ed-orbit-node-one {
  top: 14%;
  right: 12%;
  animation: ed-orbit-node-drift-one 14s ease-in-out infinite alternate;
}
.ed-orbit-node-two {
  right: 0;
  bottom: 20%;
  animation: ed-orbit-node-drift-two 17s ease-in-out -5s infinite alternate;
}
.ed-orbit-node-three {
  bottom: 12%;
  left: 7%;
  animation: ed-orbit-node-drift-three 19s ease-in-out -9s infinite alternate;
}

.ed-orbit-node > span,
.ed-orbit-center-term,
.ed-orbit-center-echo {
  display: block;
  animation: ed-lexicon-arrive .9s cubic-bezier(.16,1,.3,1) both;
}

.ed-orbit-lexicon-card {
  position: absolute;
  right: auto;
  bottom: auto;
  z-index: 14;
  width: min(250px,66%);
  padding: 17px 18px 16px;
  color: rgba(21,24,21,.82);
  background: rgba(250,248,241,.97);
  border: 1px solid rgba(82,101,55,.28);
  box-shadow: 0 22px 58px rgba(21,24,21,.16);
  backdrop-filter: blur(18px);
  animation: ed-orbit-note-arrive .38s cubic-bezier(.16,1,.3,1) both;
}

.ed-orbit-lexicon-close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 22px;
  height: 22px;
  padding: 0;
  color: rgba(21,24,21,.5);
  background: transparent;
  border: 0;
  font: 300 18px/1 var(--ed-sans);
}

.ed-orbit-lexicon-close:hover,
.ed-orbit-lexicon-close:focus-visible {
  color: #526537;
  outline: none;
}

.ed-orbit-lexicon-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-right: 0;
  margin: 0 0 10px;
  color: rgba(21,24,21,.5);
  font: 500 8px/1.35 var(--ed-sans);
  letter-spacing: .12em;
}

.ed-orbit-lexicon-meta i {
  color: #526537;
  font-family: var(--ed-serif-en);
  font-size: 10px;
  letter-spacing: .04em;
}

.ed-orbit-lexicon-card h3 {
  margin: 0 0 12px;
  color: #151815;
  font: 500 22px/1.15 var(--ed-serif-cn);
}

.ed-orbit-lexicon-card dl,
.ed-orbit-lexicon-card dl div {
  margin: 0;
}

.ed-orbit-lexicon-card dl {
  display: grid;
  gap: 9px;
}

.ed-orbit-lexicon-card dl div {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 8px;
}

.ed-orbit-lexicon-card dt {
  color: #526537;
  font: 600 9px/1.7 var(--ed-sans);
  letter-spacing: .12em;
}

.ed-orbit-lexicon-card dd {
  margin: 0;
  color: rgba(21,24,21,.72);
  font: 400 10px/1.7 var(--ed-sans);
  letter-spacing: .025em;
}

.ed-orbit-spark {
  position: absolute;
  z-index: 5;
  width: 3px;
  height: 3px;
  background: rgba(234,229,218,.78);
  border-radius: 50%;
}

.ed-orbit-spark-one { top: 5%; left: 45%; box-shadow: 0 0 12px #fff; }
.ed-orbit-spark-two { top: 39%; left: 7%; background: var(--ed-blue); }
.ed-orbit-spark-three { right: 19%; bottom: 5%; background: var(--ed-gold); }

.ed-hero-orbit:hover .ed-orbit-ring-one { animation-duration: 14s; }
.ed-hero-orbit:hover .ed-orbit-ring-two { animation-duration: 11s; }

.ed-ending {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 30%, rgba(82,101,55,.08), transparent 25%),
    radial-gradient(circle at 58% 8%, rgba(145,169,199,.09), transparent 31%),
    linear-gradient(180deg, #f2f1ea, #eeede6 58%, #f2f1ea);
}

.ed-ending::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  opacity: .3;
  background: radial-gradient(circle at 74% 28%, rgba(82,101,55,.08), transparent 54%);
  pointer-events: none;
}

.ed-ending .ed-hero {
  position: relative;
  z-index: 1;
  min-height: clamp(520px,64svh,580px);
  padding-top: clamp(44px,6vh,66px);
  padding-bottom: clamp(36px,5vh,56px);
  overflow: visible;
  color: #151815;
  background: transparent;
}

.ed-ending .ed-hero::before {
  background:
    linear-gradient(180deg, rgba(246,244,237,.2), transparent 22%, transparent 78%, rgba(220,221,211,.28)),
    radial-gradient(circle at 50% 48%, rgba(246,244,237,.08), rgba(238,237,230,.24) 70%, rgba(231,231,223,.38));
}

.ed-ending .ed-hero::after {
  opacity: .34;
  background-image:
    linear-gradient(rgba(21,24,21,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21,24,21,.065) 1px, transparent 1px);
}

.ed-ending .ed-flow-canvas {
  opacity: .34;
  mix-blend-mode: multiply;
}

.ed-ending .ed-hero-statement { color: #151815; }
.ed-ending .ed-hero-statement > span {
  -webkit-text-stroke-color: rgba(21,24,21,.58);
}
.ed-ending .ed-forming-word-base {
  -webkit-text-stroke-color: rgba(21,24,21,.42);
}
.ed-ending .ed-forming-fragment {
  -webkit-text-stroke-color: rgba(21,24,21,.72);
}

.ed-ending .ed-hero-orbit {
  filter: drop-shadow(0 20px 50px rgba(82,101,55,.08));
}

.ed-ending .ed-orbit-field-ring {
  display: block;
  border-color: rgba(21,24,21,var(--orbit-field-opacity));
}

.ed-ending .ed-hero-orbit::after {
  border-color: rgba(21,24,21,.08);
  box-shadow: inset 0 0 70px rgba(82,101,55,.035);
}

.ed-ending .ed-orbit-ring { border-color: rgba(21,24,21,.22); }
.ed-ending .ed-orbit-ring-three { border-color: rgba(83,104,124,.38); }
.ed-ending .ed-orbit-center {
  color: #151815;
  background: rgba(243,242,234,.78);
  border-color: rgba(21,24,21,.16);
  box-shadow: inset 0 0 46px rgba(82,101,55,.05), 0 18px 55px rgba(82,101,55,.1);
}
.ed-ending .ed-orbit-center-echo { color: rgba(21,24,21,.5); }
.ed-ending .ed-orbit-node {
  color: rgba(21,24,21,.62);
  background: rgba(246,244,237,.84);
  border-color: rgba(21,24,21,.18);
}
.ed-ending .ed-orbit-node:hover,
.ed-ending .ed-orbit-node:focus-visible {
  color: rgba(21,24,21,.78);
  background: rgba(250,248,241,.94);
  border-color: rgba(82,101,55,.34);
  box-shadow: 0 7px 20px rgba(21,24,21,.1);
}
.ed-ending .ed-orbit-node.is-active {
  color: #526537;
  background: rgba(250,248,241,.97);
  border-color: rgba(82,101,55,.42);
  box-shadow: 0 7px 22px rgba(21,24,21,.11);
}
.ed-ending .ed-orbit-center-term:hover,
.ed-ending .ed-orbit-center-term:focus-visible,
.ed-ending .ed-orbit-center-echo:hover,
.ed-ending .ed-orbit-center-echo:focus-visible {
  color: rgba(82,101,55,.78);
  text-shadow: 0 0 9px rgba(82,101,55,.08);
}
.ed-ending .ed-orbit-center-term.is-active,
.ed-ending .ed-orbit-center-echo.is-active {
  color: #526537;
  text-shadow: 0 0 10px rgba(82,101,55,.1);
}
.ed-ending .ed-orbit-spark-one {
  background: #526537;
  box-shadow: 0 0 10px rgba(82,101,55,.35);
}

.ed-public-footer {
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: hidden;
  color: #20241e;
  background: linear-gradient(180deg, rgba(242,241,234,.42), rgba(242,241,234,.82));
  border-top-color: rgba(21,24,21,.12);
}

.ed-public-footer::before {
  content: none;
}

.ed-public-footer .ed-footer-inner {
  position: relative;
  z-index: 1;
  padding-top: 0;
  padding-bottom: clamp(24px,3vh,34px);
}

.ed-public-footer .ed-footer-directory {
  gap: clamp(34px,5vw,66px);
  padding: clamp(34px,4.5vh,46px) 0 clamp(36px,4.8vh,50px);
}

.ed-public-footer .ed-footer-column h3 {
  margin-bottom: 21px;
  color: rgba(21,24,21,.58);
  font-size: 10px;
}

.ed-public-footer .ed-footer-column h3 span {
  color: #718348;
}

.ed-public-footer .ed-footer-column > a,
.ed-public-footer .ed-footer-product-links > a {
  margin-top: 13px;
  color: rgba(21,24,21,.78);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
}

.ed-public-footer .ed-footer-column > a:hover,
.ed-public-footer .ed-footer-product-links > a:hover {
  color: #526537;
}

.ed-public-footer .ed-footer-column > a i,
.ed-public-footer .ed-footer-product-links > a i {
  color: #718348;
}

.ed-public-footer .ed-footer-column > a small,
.ed-public-footer .ed-footer-product-links > a small {
  color: rgba(21,24,21,.46);
  font-size: 9px;
}

.ed-public-footer .is-coming:hover {
  color: rgba(21,24,21,.78);
}

.ed-public-footer .ed-footer-bottom {
  padding-top: 20px;
  border-top-color: rgba(21,24,21,.14);
  color: rgba(21,24,21,.5);
  font-size: 10px;
}

.ed-public-footer .ed-footer-en {
  font-size: 10px;
}

.ed-public-footer .ed-footer-legal a:hover {
  color: #526537;
}

.ed-legal-site { min-height: 100vh; padding-top: 0; }
.ed-legal-document { position: relative; z-index: 1; width: min(100%,1030px); margin: 0 auto; padding: clamp(38px,5vw,64px) clamp(24px,5vw,56px) clamp(72px,9vw,112px); }
.ed-legal-document > header { padding-bottom: 0; border-bottom: 0; }
.ed-legal-eyebrow { margin: 0 0 16px; color: var(--ed-gold); font-size: 9px; letter-spacing: .24em; }
.ed-legal-document h1 { max-width: 820px; margin: 0; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: var(--ed-page-title-size); font-weight: var(--ed-page-title-weight); letter-spacing: .04em; line-height: 1.2; }
.ed-legal-summary { max-width: 720px; margin: 25px 0 0; color: var(--ed-ink-dim); font-size: 15px; line-height: 1.85; }
.ed-legal-meta { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; margin: 28px 0 0; overflow: hidden; border: 1px solid var(--ed-hair); background: var(--ed-hair); }
.ed-legal-meta > div { min-width: 0; padding: 14px 16px; background: var(--ed-surface); }
.ed-legal-meta dt { margin-bottom: 5px; color: var(--ed-ink-faint); font-size: 8px; }
.ed-legal-meta dd { margin: 0; color: var(--ed-ink); font-size: 10px; line-height: 1.55; }
.ed-legal-notice { display: grid; grid-template-columns: 100px 1fr; gap: 22px; margin: 34px 0 0; padding: 17px 19px; background: rgba(211,184,136,.07); border-left: 2px solid var(--ed-gold); }
.ed-legal-notice strong { color: var(--ed-gold); font-size: 10px; }
.ed-legal-notice p { margin: 0; color: var(--ed-ink-dim); font-size: 12px; line-height: 1.8; }
.ed-legal-content { max-width: 780px; margin: 42px auto 0; }
.ed-legal-content.has-toc { max-width: 900px; display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 42px; align-items: start; }
.ed-legal-body { min-width: 0; }
.ed-legal-toc { position: sticky; top: 88px; display: grid; gap: 14px; padding-top: 3px; }
.ed-legal-toc > strong { color: var(--ed-gold); font-size: 9px; font-weight: 400; letter-spacing: .18em; }
.ed-legal-toc nav { display: grid; gap: 2px; }
.ed-legal-toc a { padding: 6px 0; color: var(--ed-ink-faint); font-size: 11px; line-height: 1.5; }
.ed-legal-toc a:hover { color: var(--ed-ink); }
.ed-legal-section { margin-top: 60px; scroll-margin-top: 88px; }
.ed-legal-section:first-child { margin-top: 0; }
.ed-legal-section h2, .ed-legal-release h2 { margin: 0 0 20px; padding-bottom: 13px; color: var(--ed-ink); border-bottom: 1px solid var(--ed-hair); font-family: var(--ed-serif-cn); font-size: 25px; font-weight: 400; letter-spacing: .04em; }
.ed-legal-section p, .ed-legal-section li, .ed-legal-release li { color: var(--ed-ink-dim); font-size: 14px; line-height: 1.9; }
.ed-legal-section p { margin: 0 0 17px; }
.ed-legal-section p:last-child { margin-bottom: 0; }
.ed-legal-section ul, .ed-legal-release ol { margin: 0; padding-left: 22px; }
.ed-legal-section li + li, .ed-legal-release li + li { margin-top: 6px; }
.ed-legal-table { margin: 2px 0 22px; overflow-x: auto; border: 1px solid var(--ed-hair); }
.ed-legal-table table { width: 100%; min-width: 580px; border-collapse: collapse; }
.ed-legal-table th, .ed-legal-table td { padding: 13px 15px; border-bottom: 1px solid var(--ed-hair); color: var(--ed-ink-dim); font-size: 12px; line-height: 1.7; text-align: left; vertical-align: top; }
.ed-legal-table th { color: var(--ed-ink-faint); font-weight: 500; }
.ed-legal-table tr:last-child td { border-bottom: 0; }
.ed-legal-links a { color: var(--ed-gold); text-decoration: underline; text-decoration-color: rgba(211,184,136,.3); text-underline-offset: 4px; }
.ed-legal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid var(--ed-hair); background: var(--ed-hair); }
.ed-legal-grid > a { min-height: 280px; display: flex; flex-direction: column; padding: 25px; background: var(--ed-surface); transition: background .3s ease; }
.ed-legal-grid > a:hover { background: var(--ed-surface-hover); }
.ed-legal-grid small { color: var(--ed-gold); font-size: 8px; letter-spacing: .15em; }
.ed-legal-grid h2 { margin: 38px 0 12px; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 24px; font-weight: 400; }
.ed-legal-grid p { margin: 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.75; }
.ed-legal-grid span { margin-top: auto; color: var(--ed-blue); font-size: 10px; }
.ed-legal-release { margin-top: 58px; }
.ed-products-site { min-height: 100vh; padding-top: 82px; transition: color .35s ease, background .35s ease; }
html[data-theme="light"] .ed-products-site {
  --ed-bg: #f2f1ea;
  --ed-bg-soft: #f8f6ef;
  --ed-ink: #20241e;
  --ed-ink-dim: #62675e;
  --ed-ink-faint: #85897f;
  --ed-hair: rgba(21,24,21,.14);
  --ed-blue: #586e89;
  --ed-gold: #725c35;
  --ed-surface: rgba(250,248,241,.97);
  --ed-surface-hover: rgba(88,110,137,.08);
  --ed-popover: rgba(250,248,241,.98);
}
html[data-theme="light"] .ed-products-site .ed-nav .ed-nav-brand img {
  filter: none;
  opacity: .92;
}
html[data-theme="light"] .ed-products-site .ed-nav .ed-nav-links > a,
html[data-theme="light"] .ed-products-site .ed-nav .ed-product-switcher-trigger,
html[data-theme="light"] .ed-products-site .ed-nav .ed-theme-trigger {
  color: var(--ed-ink-dim);
}
html[data-theme="light"] .ed-products-site .ed-nav .ed-nav-links > a:hover,
html[data-theme="light"] .ed-products-site .ed-nav .ed-product-switcher-trigger:hover,
html[data-theme="light"] .ed-products-site .ed-nav .ed-product-switcher.is-open .ed-product-switcher-trigger,
html[data-theme="light"] .ed-products-site .ed-nav .ed-theme-trigger:hover,
html[data-theme="light"] .ed-products-site .ed-nav .ed-theme-trigger:focus-visible,
html[data-theme="light"] .ed-products-site .ed-nav .ed-theme-menu.is-open .ed-theme-trigger {
  color: var(--ed-ink);
}
html[data-theme="light"] .ed-products-site .ed-atmosphere {
  background:
    radial-gradient(950px 580px at 78% -8%, rgba(88,110,137,.09), transparent 62%),
    radial-gradient(850px 650px at 12% 108%, rgba(114,92,53,.07), transparent 60%);
}
html[data-theme="light"] .ed-products-site .ed-theme-trigger:hover,
html[data-theme="light"] .ed-products-site .ed-theme-trigger:focus-visible,
html[data-theme="light"] .ed-products-site .ed-theme-menu.is-open .ed-theme-trigger { background: rgba(21,24,21,.05); border-color: rgba(21,24,21,.18); }
html[data-theme="light"] .ed-products-site .ed-theme-popover { color: var(--ed-ink-dim); background: var(--ed-popover); border-color: var(--ed-hair); box-shadow: 0 20px 55px rgba(21,24,21,.14); }
html[data-theme="light"] .ed-products-site .ed-theme-popover button:hover { background: rgba(21,24,21,.05); }
html[data-theme="light"] .ed-products-site .ed-theme-popover button.is-selected { color: #526537; background: rgba(82,101,55,.08); }
.ed-product-switcher { position: relative; }
.ed-product-switcher-trigger { display: flex; align-items: center; background: transparent; border: 0; cursor: pointer; font-family: var(--ed-sans); }
.ed-product-switcher-popover { position: absolute; z-index: 20; top: calc(100% + 12px); right: 0; width: min(350px,calc(100vw - 32px)); display: grid; gap: 2px; padding: 7px; visibility: hidden; opacity: 0; color: var(--ed-ink-dim); background: var(--ed-popover); border: 1px solid var(--ed-hair); box-shadow: 0 20px 55px rgba(0,0,0,.3); backdrop-filter: blur(18px); transform: translateY(-7px) scale(.98); transform-origin: top right; transition: opacity .2s ease, transform .25s ease, visibility .2s ease; }
.ed-product-switcher.is-open .ed-product-switcher-popover { visibility: visible; opacity: 1; transform: none; }
.ed-product-switcher-popover > a { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr) 16px; align-items: center; gap: 12px; padding: 9px; color: var(--ed-ink-dim); letter-spacing: 0; }
.ed-product-switcher-popover > a::after { content: none; }
.ed-product-switcher-popover > a:hover, .ed-product-switcher-popover > a[aria-current="page"] { color: var(--ed-ink); background: var(--ed-surface-hover); }
.ed-product-switcher-popover .ed-product-icon { width: 42px; height: 42px; }
.ed-product-switcher-popover span { min-width: 0; display: block; background: transparent; }
.ed-product-switcher-popover strong, .ed-product-switcher-popover small { display: block; overflow: hidden; background: transparent; box-shadow: none; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.ed-product-switcher-popover strong { color: var(--ed-ink); font-size: 13px; font-weight: 500; }
.ed-product-switcher-popover small { margin-top: 1px; color: var(--ed-ink-faint); font-size: 11px; }
.ed-product-switcher-popover i { color: var(--ed-blue); font-style: normal; text-align: right; }
.ed-product-switcher-popover > .ed-product-switcher-all { grid-template-columns: minmax(0,1fr) 16px; margin-top: 3px; padding-top: 12px; border-top: 1px solid var(--ed-hair); }
html[data-theme="light"] .ed-products-site .ed-product-switcher-popover { box-shadow: 0 20px 55px rgba(21,24,21,.14); }
.ed-products-index, .ed-product-detail { position: relative; z-index: 1; width: min(100%,1030px); margin: 0 auto; padding: clamp(44px,6vw,76px) clamp(24px,5vw,56px) clamp(76px,10vw,124px); }
.ed-products-index > header p { margin: 0 0 15px; color: var(--ed-gold); font-size: 9px; letter-spacing: .22em; }
.ed-products-index > header h1 { margin: 0; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: var(--ed-page-title-size); font-weight: var(--ed-page-title-weight); letter-spacing: .04em; }
.ed-products-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 42px; border: 1px solid var(--ed-hair); background: var(--ed-hair); }
.ed-products-grid > a { min-width: 0; min-height: 390px; display: flex; flex-direction: column; padding: 30px; background: var(--ed-surface); transition: background .3s ease; }
.ed-products-grid > a:hover { background: var(--ed-surface-hover); }
.ed-products-grid .ed-product-icon { width: 94px; height: 94px; margin-bottom: 44px; }
.ed-products-grid small { color: var(--ed-gold); font-size: 10px; letter-spacing: .12em; }
.ed-products-grid h2 { margin: 11px 0 14px; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 24px; font-weight: 400; }
.ed-products-grid p { margin: 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.8; }
.ed-products-grid span { margin-top: auto; padding-top: 28px; color: var(--ed-blue); font-size: 11px; }
.ed-product-menu { display: flex; align-items: center; gap: clamp(18px,3vw,34px); overflow-x: auto; padding: 0 0 16px; border-bottom: 1px solid var(--ed-hair); color: var(--ed-ink-faint); font-size: 10px; white-space: nowrap; }
.ed-product-menu a:hover { color: var(--ed-ink); }
.ed-product-hero { display: grid; grid-template-columns: 122px minmax(0,1fr); gap: 34px; align-items: center; padding: 24px 0 12px; }
.ed-product-hero > .ed-product-icon { width: 122px; height: 122px; }
.ed-product-kicker { margin: 0 0 4px; color: var(--ed-gold) !important; font-size: 12px !important; letter-spacing: .1em; line-height: 1.3; }
.ed-product-hero h1 { margin: 0; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: var(--ed-page-title-size); font-weight: var(--ed-page-title-weight); letter-spacing: .02em; line-height: 1.15; }
.ed-product-hero div > p:last-child { max-width: 650px; margin: 6px 0 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.5; }
.ed-product-section { max-width: 850px; margin: 52px auto 0; scroll-margin-top: 24px; }
.ed-product-section > p:not(.ed-product-section-label) { max-width: 720px; margin: 0; color: var(--ed-ink-dim); font-size: 14px; line-height: 2; }
.ed-product-section-label { margin: 0 0 18px; color: var(--ed-gold); font-size: 11px; letter-spacing: .13em; }
.ed-product-intro { padding-top: 8px; }
.ed-product-audience-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 34px; }
.ed-product-audience-grid article { padding: 18px 0 20px; border-top: 1px solid var(--ed-hair); }
.ed-product-audience-grid h2 { margin: 0 0 7px; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 17px; font-weight: 400; }
.ed-product-audience-grid p { margin: 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.75; }
.ed-product-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--ed-hair); background: var(--ed-hair); }
.ed-product-feature-grid article { min-height: 190px; padding: 24px; background: var(--ed-surface); }
.ed-product-feature-marker { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ed-product-feature-marker svg { width: 23px; height: 23px; color: var(--ed-blue); stroke-width: 1.35; }
.ed-product-feature-grid small { color: var(--ed-ink-faint); font-size: 10px; letter-spacing: .08em; }
.ed-product-feature-grid h2 { margin: 22px 0 9px; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 20px; font-weight: 400; }
.ed-product-feature-grid article > p { max-width: 310px; margin: 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.75; }
.ed-product-workflow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.ed-product-workflow article { position: relative; min-width: 0; padding: 18px 14px 0 0; border-top: 1px solid var(--ed-hair); }
.ed-product-workflow small { color: var(--ed-blue); font-size: 10px; letter-spacing: .08em; }
.ed-product-workflow h2 { margin: 18px 0 8px; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 18px; font-weight: 400; }
.ed-product-workflow p { margin: 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.75; }
.ed-product-boundary-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.ed-product-boundary-list article { min-width: 0; padding: 20px; background: var(--ed-surface); }
.ed-product-boundary-list small { color: var(--ed-blue); font-size: 10px; letter-spacing: .08em; }
.ed-product-boundary-list h2 { margin: 20px 0 8px; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 17px; font-weight: 400; line-height: 1.5; }
.ed-product-boundary-list p { margin: 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.75; }
.ed-product-statement { display: grid; grid-template-columns: 210px minmax(0,1fr); align-items: baseline; gap: 34px; padding: 8px 0; }
.ed-product-statement strong { color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 20px; font-weight: 400; line-height: 1.5; }
.ed-product-statement p { margin: 0; color: var(--ed-ink-dim); font-size: 14px; line-height: 1.7; }
.ed-product-statement a { color: var(--ed-gold); }
.ed-product-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin: 24px 0 0; background: var(--ed-hair); }
.ed-product-facts > div { min-width: 0; padding: 16px; background: var(--ed-surface); }
.ed-product-facts dt { color: var(--ed-ink-faint); font-size: 10px; letter-spacing: .08em; }
.ed-product-facts dd { margin: 8px 0 0; overflow-wrap: anywhere; color: var(--ed-ink); font-size: 13px; line-height: 1.6; }
.ed-product-faq-list article { display: grid; grid-template-columns: minmax(210px,.7fr) minmax(0,1.3fr); gap: 34px; padding: 20px 0; border-top: 1px solid var(--ed-hair); }
.ed-product-faq-list article:last-child { border-bottom: 1px solid var(--ed-hair); }
.ed-product-faq-list h2 { margin: 0; color: var(--ed-ink); font-family: var(--ed-serif-cn); font-size: 17px; font-weight: 400; line-height: 1.55; }
.ed-product-faq-list p { margin: 0; color: var(--ed-ink-dim); font-size: 13px; line-height: 1.8; }
.ed-product-policy-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid var(--ed-hair); background: var(--ed-hair); }
.ed-product-policy-links a { min-height: 108px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; background: var(--ed-surface); color: var(--ed-ink); }
.ed-product-policy-links a:hover { background: var(--ed-surface-hover); }
.ed-product-policy-links a > div { display: flex; align-items: center; gap: 13px; }
.ed-product-policy-links a svg { width: 22px; height: 22px; color: var(--ed-blue); stroke-width: 1.35; }
.ed-product-policy-links span { font-family: var(--ed-serif-cn); font-size: 18px; }
.ed-product-policy-links i { color: var(--ed-blue); font-style: normal; }
.ed-product-legal-index .ed-product-hero { padding-bottom: 10px; }
.ed-product-policy-links--large { margin-top: 46px; }
.ed-product-policy-links--large a { min-height: 180px; }
.ed-product-icon { flex: 0 0 auto; display: block; }
.ed-product-icon img { width: 100%; height: 100%; display: block; object-fit: contain; }
.ed-product-icon-light { display: none !important; }
.ed-product-icon-dark { display: block !important; }
html[data-theme="light"] .ed-products-site .ed-product-icon-light { display: block !important; }
html[data-theme="light"] .ed-products-site .ed-product-icon-dark { display: none !important; }

@media (max-width: 760px) {
  .ed-products-grid { grid-template-columns: 1fr; }
  .ed-products-grid > a { min-height: 300px; }
  .ed-product-hero { grid-template-columns: 82px minmax(0,1fr); gap: 20px; }
  .ed-product-hero > .ed-product-icon { width: 82px; height: 82px; }
  .ed-product-feature-grid, .ed-product-policy-links, .ed-product-boundary-list { grid-template-columns: 1fr; }
  .ed-product-workflow, .ed-product-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ed-product-statement { grid-template-columns: 1fr; gap: 12px; }
  .ed-product-faq-list article { grid-template-columns: 1fr; gap: 8px; }
  .ed-product-policy-links--large a { min-height: 112px; }
}

@media (max-width: 480px) {
  .ed-product-workflow, .ed-product-facts { grid-template-columns: 1fr; }
  .ed-product-audience-grid { grid-template-columns: 1fr; }
  .ed-products-site { padding-top: 68px; }
  .ed-product-switcher-popover > a { display: grid !important; }
}

@media (max-width: 760px) {
  .ed-legal-site { padding-top: 20px; }
  .ed-legal-meta, .ed-legal-grid { grid-template-columns: 1fr; }
  .ed-legal-notice { grid-template-columns: 1fr; gap: 7px; }
  .ed-legal-content.has-toc { grid-template-columns: 1fr; gap: 28px; }
  .ed-legal-toc { position: static; }
  .ed-legal-toc nav { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
  .ed-legal-grid > a { min-height: 210px; }
  .ed-legal-footer { align-items: flex-start; flex-direction: column; }
}

.ed-manifesto {
  overflow: hidden;
  padding-top: clamp(84px,11vh,118px);
  padding-bottom: clamp(84px,11vh,118px);
  color: #151815;
  background:
    radial-gradient(circle at 86% 18%, rgba(147,170,201,.14), transparent 25%),
    linear-gradient(180deg, #efeee7, #f6f4ed);
}

.ed-manifesto::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(64%,940px);
  content: "";
  opacity: .5;
  background-image:
    linear-gradient(rgba(21,24,21,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21,24,21,.075) 1px, transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.32) 16%, #000 42%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.32) 16%, #000 42%, #000 100%);
  pointer-events: none;
}

.ed-manifesto .ed-kicker { color: rgba(21,24,21,.48); }
.ed-manifesto .ed-kicker-line { background: linear-gradient(90deg, rgba(21,24,21,.25), transparent); }
.ed-manifesto-lede em { color: #526537; }
.ed-manifesto .ed-prose { color: rgba(21,24,21,.74); }
.ed-manifesto .ed-prose strong { color: #151815; }
.ed-manifesto .ed-signature { color: rgba(21,24,21,.47); }
.ed-manifesto .ed-signature::before { background: #526537; }

.ed-manifesto .ed-inner {
  position: relative;
  z-index: 1;
  width: min(100%,1380px);
}

.ed-manifesto-layout {
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(370px,.78fr);
  gap: clamp(48px,6vw,92px);
  align-items: center;
}

.ed-manifesto-copy { padding-top: 8px; }

.ed-manifesto-visual {
  --manifest-one-x: 0px;
  --manifest-one-y: 0px;
  --manifest-two-x: 0px;
  --manifest-two-y: 0px;
  --manifest-three-x: 0px;
  --manifest-three-y: 0px;
  position: relative;
  width: calc(100% + clamp(34px,5vw,74px));
  max-width: 550px;
  min-height: 540px;
  margin: -24px clamp(-74px,-5vw,-34px) -18px auto;
  overflow: visible;
  color: #151815;
  background: transparent;
  border: 0;
  box-shadow: none;
  clip-path: none;
}

.ed-manifesto-visual::before {
  display: none;
}

.ed-manifesto-visual::after {
  display: none;
}

.ed-manifesto-folio {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 32px;
  color: rgba(21,24,21,.22);
  font: 300 78px/1 var(--ed-serif-en);
}

.ed-manifesto-margin {
  position: absolute;
  z-index: 3;
  top: 18px;
  right: 30px;
  color: rgba(21,24,21,.42);
  font: 500 7px/1 var(--ed-sans);
  letter-spacing: .17em;
}

.ed-manifesto-map {
  position: absolute;
  z-index: 1;
  inset: -2% -5% -3% -4%;
  width: 109%;
  height: 105%;
  overflow: visible;
}

.ed-manifesto-route {
  fill: none;
  stroke: rgba(31,40,28,.42);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  opacity: 0;
  transition: stroke .35s ease, stroke-width .35s ease, opacity .8s ease;
}

.ed-manifesto-route-two { stroke: rgba(80,101,53,.6); }
.ed-manifesto-route-three { stroke: rgba(83,104,124,.42); }
.ed-manifesto-visual.is-visible .ed-manifesto-route {
  opacity: 1;
}

.ed-manifesto-origin {
  fill: #d9f765;
  stroke: #526537;
  stroke-width: 2;
  filter: drop-shadow(0 0 6px rgba(217,247,101,.45));
}

.ed-manifesto-node {
  fill: #526537;
  stroke: rgba(248,246,237,.95);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 4px rgba(82,101,55,.25));
  transition: r .28s ease, filter .28s ease;
}

.ed-manifesto-label,
.ed-manifesto-language {
  fill: rgba(21,24,21,.55);
  font: 500 9px/1 var(--ed-sans);
  letter-spacing: .17em;
}

.ed-manifesto-language { fill: #526537; font-size: 11px; }
.ed-manifesto-label { fill: rgba(21,24,21,.48); font-size: 8px; }

.ed-manifesto-scrap {
  position: absolute;
  z-index: 3;
  min-width: 148px;
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 3px 8px;
  padding: 12px 14px;
  opacity: 0;
  color: #171a16;
  background: rgba(248,246,237,.94);
  border: 1px solid rgba(21,24,21,.18);
  box-shadow: 0 8px 24px rgba(21,24,21,.09);
  appearance: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
  will-change: transform;
  transition: opacity .8s ease, color .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .35s ease;
}

.ed-manifesto-scrap b {
  grid-row: 1 / 3;
  color: #526537;
  font: italic 400 11px/1.2 var(--ed-serif-en);
}

.ed-manifesto-scrap strong {
  font: 600 9px/1.2 var(--ed-sans);
  letter-spacing: .15em;
  transition: color .3s ease, letter-spacing .3s ease;
}

.ed-manifesto-scrap small {
  color: rgba(21,24,21,.55);
  font-size: 9px;
  letter-spacing: .08em;
}

.ed-manifesto-scrap-one {
  top: 176px;
  right: 150px;
  transform: translate(var(--manifest-one-x),var(--manifest-one-y)) rotate(1.9deg);
}

.ed-manifesto-scrap-two {
  top: 270px;
  right: 82px;
  transform: translate(var(--manifest-two-x),var(--manifest-two-y)) rotate(-.6deg);
}

.ed-manifesto-scrap-three {
  top: 390px;
  right: 100px;
  bottom: auto;
  min-width: 172px;
  transform: translate(var(--manifest-three-x),var(--manifest-three-y)) rotate(.5deg);
}

.ed-manifesto-visual.is-visible .ed-manifesto-scrap { opacity: 1; }
.ed-manifesto-visual.is-visible .ed-manifesto-scrap-one { transition-delay: .55s; }
.ed-manifesto-visual.is-visible .ed-manifesto-scrap-two { transition-delay: .72s; }
.ed-manifesto-visual.is-visible .ed-manifesto-scrap-three { transition-delay: .89s; }
.ed-manifesto-scrap:hover {
  background: rgba(250,249,243,.97);
  border-color: rgba(82,101,55,.36);
  box-shadow: 0 11px 30px rgba(21,24,21,.11);
}

.ed-manifesto-scrap:hover strong {
  color: #526537;
  letter-spacing: .16em;
}

.ed-manifesto-scrap:focus-visible {
  outline: 1px solid rgba(82,101,55,.7);
  outline-offset: 4px;
}

.ed-manifesto-scrap-tip {
  position: absolute;
  z-index: 8;
  width: 230px;
  display: block;
  padding: 14px 16px;
  visibility: hidden;
  opacity: 0;
  color: rgba(21,24,21,.76);
  background: rgba(250,248,241,.98);
  border: 1px solid rgba(82,101,55,.25);
  box-shadow: 0 18px 46px rgba(21,24,21,.15);
  font: 400 12px/1.75 var(--ed-sans);
  letter-spacing: .04em;
  pointer-events: none;
  transition: opacity .24s ease, translate .35s cubic-bezier(.16,1,.3,1), visibility .24s ease;
}

.ed-manifesto-scrap.is-open {
  z-index: 7;
  border-color: rgba(82,101,55,.58);
  box-shadow: 0 13px 34px rgba(21,24,21,.14);
}

.ed-manifesto-scrap.is-open .ed-manifesto-scrap-tip {
  visibility: visible;
  opacity: 1;
  translate: 0 0;
}

.ed-manifesto-scrap-one .ed-manifesto-scrap-tip {
  right: 0;
  bottom: calc(100% + 12px);
  translate: 0 7px;
}

.ed-manifesto-scrap-two .ed-manifesto-scrap-tip {
  top: 50%;
  right: calc(100% + 12px);
  translate: 7px -50%;
}

.ed-manifesto-scrap-two.is-open .ed-manifesto-scrap-tip {
  translate: 0 -50%;
}

.ed-manifesto-scrap-three .ed-manifesto-scrap-tip {
  top: calc(100% + 12px);
  right: 0;
  translate: 0 -7px;
}

.ed-manifesto,
.ed-ending,
.ed-ending .ed-hero,
.ed-public-footer {
  transition: color .5s ease, background .5s ease, border-color .5s ease;
}

.ed-site[data-theme="dark"] .ed-manifesto {
  color: #e7e4dc;
  background:
    radial-gradient(circle at 86% 18%, rgba(145,169,199,.09), transparent 27%),
    radial-gradient(circle at 18% 82%, rgba(82,101,55,.07), transparent 29%),
    linear-gradient(180deg, #0c1014, #080b0f);
}

.ed-site[data-theme="dark"] .ed-manifesto::before {
  opacity: .34;
  background-image:
    linear-gradient(rgba(234,229,218,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(234,229,218,.075) 1px, transparent 1px);
}

.ed-site[data-theme="dark"] .ed-manifesto-lede em { color: #a8bd68; }
.ed-site[data-theme="dark"] .ed-manifesto .ed-prose { color: rgba(231,228,220,.72); }
.ed-site[data-theme="dark"] .ed-manifesto .ed-prose strong { color: #e7e4dc; }
.ed-site[data-theme="dark"] .ed-manifesto .ed-signature { color: rgba(231,228,220,.46); }
.ed-site[data-theme="dark"] .ed-manifesto .ed-signature::before { background: #a8bd68; }
.ed-site[data-theme="dark"] .ed-manifesto-folio { color: rgba(231,228,220,.17); }
.ed-site[data-theme="dark"] .ed-manifesto-route { stroke: rgba(211,216,204,.38); }
.ed-site[data-theme="dark"] .ed-manifesto-route-two { stroke: rgba(165,183,126,.52); }
.ed-site[data-theme="dark"] .ed-manifesto-route-three { stroke: rgba(145,169,199,.46); }
.ed-site[data-theme="dark"] .ed-manifesto-node {
  fill: #a8bd68;
  stroke: rgba(8,11,15,.95);
}
.ed-site[data-theme="dark"] .ed-manifesto-label,
.ed-site[data-theme="dark"] .ed-manifesto-language { fill: rgba(231,228,220,.5); }
.ed-site[data-theme="dark"] .ed-manifesto-language { fill: #a8bd68; }

.ed-site[data-theme="dark"] .ed-manifesto-scrap {
  color: #e7e4dc;
  background: rgba(14,18,22,.94);
  border-color: rgba(231,228,220,.16);
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}

.ed-site[data-theme="dark"] .ed-manifesto-scrap b { color: #a8bd68; }
.ed-site[data-theme="dark"] .ed-manifesto-scrap small { color: rgba(231,228,220,.52); }
.ed-site[data-theme="dark"] .ed-manifesto-scrap:hover,
.ed-site[data-theme="dark"] .ed-manifesto-scrap.is-open {
  background: rgba(16,20,24,.96);
  border-color: rgba(168,189,104,.34);
  box-shadow: 0 13px 36px rgba(0,0,0,.34);
}

.ed-site[data-theme="dark"] .ed-manifesto-scrap:hover strong { color: #b7c88a; }

.ed-site[data-theme="dark"] .ed-manifesto-scrap-tip {
  color: rgba(231,228,220,.74);
  background: rgba(10,13,17,.98);
  border-color: rgba(168,189,104,.28);
  box-shadow: 0 20px 50px rgba(0,0,0,.42);
}

.ed-site[data-theme="dark"] .ed-ending {
  background:
    radial-gradient(circle at 76% 27%, rgba(82,101,55,.11), transparent 28%),
    radial-gradient(circle at 56% 4%, rgba(145,169,199,.08), transparent 32%),
    linear-gradient(180deg, #0b0e12, #07090c);
}

.ed-site[data-theme="dark"] .ed-ending::before {
  opacity: .46;
  background: radial-gradient(circle at 74% 28%, rgba(168,189,104,.08), transparent 56%);
}

.ed-site[data-theme="dark"] .ed-ending .ed-hero {
  color: #e7e4dc;
  background: transparent;
}

.ed-site[data-theme="dark"] .ed-ending .ed-hero::before {
  background:
    linear-gradient(180deg, rgba(7,9,12,.1), transparent 22%, transparent 78%, rgba(7,9,12,.4)),
    radial-gradient(circle at 50% 48%, rgba(168,189,104,.035), rgba(8,11,15,.12) 70%, rgba(7,9,12,.34));
}

.ed-site[data-theme="dark"] .ed-ending .ed-hero::after {
  opacity: .24;
  background-image:
    linear-gradient(rgba(231,228,220,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231,228,220,.07) 1px, transparent 1px);
}

.ed-site[data-theme="dark"] .ed-ending .ed-flow-canvas {
  opacity: .48;
  mix-blend-mode: screen;
}

.ed-site[data-theme="dark"] .ed-ending .ed-hero-statement { color: #e7e4dc; }
.ed-site[data-theme="dark"] .ed-ending .ed-hero-statement > span { -webkit-text-stroke-color: rgba(231,228,220,.62); }
.ed-site[data-theme="dark"] .ed-ending .ed-forming-word-base { -webkit-text-stroke-color: rgba(231,228,220,.46); }
.ed-site[data-theme="dark"] .ed-ending .ed-forming-fragment { -webkit-text-stroke-color: rgba(231,228,220,.74); }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-field-ring { border-color: rgba(231,228,220,var(--orbit-field-opacity)); }
.ed-site[data-theme="dark"] .ed-ending .ed-hero-orbit::after {
  border-color: rgba(231,228,220,.09);
  box-shadow: inset 0 0 72px rgba(168,189,104,.035);
}
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-ring { border-color: rgba(231,228,220,.2); }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-ring-three { border-color: rgba(145,169,199,.35); }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center {
  color: #e7e4dc;
  background: rgba(11,15,18,.8);
  border-color: rgba(231,228,220,.14);
  box-shadow: inset 0 0 48px rgba(168,189,104,.04), 0 20px 58px rgba(0,0,0,.28);
}
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center-echo { color: rgba(231,228,220,.48); }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-node {
  color: rgba(231,228,220,.62);
  background: rgba(12,16,20,.88);
  border-color: rgba(231,228,220,.16);
}
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-node:hover,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-node:focus-visible {
  color: rgba(231,228,220,.8);
  background: rgba(16,20,24,.92);
  border-color: rgba(231,228,220,.25);
  box-shadow: 0 7px 22px rgba(0,0,0,.24);
}
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-node.is-active {
  color: #a8bd68;
  background: rgba(16,20,24,.95);
  border-color: rgba(168,189,104,.36);
  box-shadow: 0 8px 24px rgba(0,0,0,.27);
}
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center-term:hover,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center-term:focus-visible,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center-echo:hover,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center-echo:focus-visible,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center-term.is-active,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-center-echo.is-active {
  color: #a8bd68;
  text-shadow: 0 0 10px rgba(168,189,104,.08);
}

.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-card {
  color: rgba(231,228,220,.84);
  background: rgba(12,16,20,.96);
  border-color: rgba(168,189,104,.28);
  box-shadow: 0 24px 62px rgba(0,0,0,.38);
}
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-close { color: rgba(231,228,220,.46); }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-close:hover,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-close:focus-visible,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-meta i,
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-card dt { color: #a8bd68; }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-meta { color: rgba(231,228,220,.48); }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-card h3 { color: #e7e4dc; }
.ed-site[data-theme="dark"] .ed-ending .ed-orbit-lexicon-card dd { color: rgba(231,228,220,.7); }

.ed-site[data-theme="dark"] .ed-public-footer {
  color: #dedbd3;
  background: linear-gradient(180deg, rgba(8,11,15,.52), rgba(6,8,11,.92));
  border-top-color: rgba(231,228,220,.1);
}
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-column h3 { color: rgba(231,228,220,.46); }
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-column h3 span { color: #a8bd68; }
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-column > a,
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-product-links > a { color: rgba(231,228,220,.72); }
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-column > a:hover,
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-product-links > a:hover { color: #d9f765; }
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-column > a i,
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-product-links > a i { color: #a8bd68; }
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-column > a small,
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-product-links > a small { color: rgba(231,228,220,.34); }
.ed-site[data-theme="dark"] .ed-public-footer .is-coming:hover { color: rgba(231,228,220,.72); }
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-bottom {
  color: rgba(231,228,220,.42);
  background: linear-gradient(180deg, rgba(8,11,15,.16), rgba(6,8,11,.5));
  border-top-color: rgba(231,228,220,.11);
}
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-company-mark {
  opacity: .38;
  filter: brightness(0) saturate(100%) invert(1);
}
.ed-site[data-theme="dark"] .ed-public-footer .ed-footer-legal a:hover { color: #a8bd68; }

.ed-era-statement {
  color: #d9f765;
  background:
    radial-gradient(circle at 18% 8%, rgba(217,247,101,.1), transparent 28%),
    radial-gradient(circle at 82% 90%, rgba(217,247,101,.06), transparent 30%),
    #0a0b0e;
}

.ed-era-statement::before {
  opacity: 1;
}

.ed-era-statement h2 {
  color: #d9dbd4;
  line-height: 1.3;
}
.ed-era-statement .ed-era-line-one,
.ed-era-statement .ed-era-line-two {
  display: inline-block;
  padding-left: 0;
  font-size: .84em;
  letter-spacing: 0;
}
.ed-era-statement .ed-era-line-one {
  color: transparent;
  font-weight: 600;
  -webkit-text-stroke: 1px rgba(217,219,212,.72);
}
.ed-era-statement .ed-era-line-two { color: #d9f765; }

.ed-work {
  color: #141714;
  background:
    radial-gradient(circle at 8% 88%, rgba(217,247,101,.12), transparent 28%),
    #faf9f4;
}

.ed-work .ed-kicker { color: rgba(20,23,20,.48); }
.ed-work .ed-kicker-line { background: linear-gradient(90deg, rgba(20,23,20,.24), transparent); }
.ed-work .ed-section-title em { color: #526537; }
.ed-work .ed-prose { color: rgba(20,23,20,.72); }
.ed-work .ed-prose strong { color: #141714; }
.ed-work .ed-faculty { border-top-color: rgba(20,23,20,.18); }
.ed-work .ed-faculty > small { color: #637243; }
.ed-work .ed-faculty > p { color: rgba(20,23,20,.7); }

.ed-name {
  color: #121615;
  text-align: left;
  background:
    linear-gradient(rgba(18,22,21,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,22,21,.04) 1px, transparent 1px),
    #dfe5e7;
  background-size: 58px 58px, 58px 58px, auto;
}

.ed-name .ed-kicker { color: rgba(18,22,21,.46); }
.ed-name .ed-kicker-line { background: linear-gradient(90deg, rgba(18,22,21,.23), transparent); }

.ed-name-layout {
  display: grid;
  grid-template-columns: minmax(390px,.9fr) minmax(0,1.1fr);
  gap: clamp(60px,8vw,130px);
  align-items: center;
}

.ed-name-copy { max-width: 680px; }
.ed-name-line { font-size: clamp(26px,3.2vw,43px); line-height: 1.8; }
.ed-name-line em { color: #526537; }
.ed-name .ed-prose { color: rgba(18,22,21,.72); }

.ed-drift-sketch {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: rgba(250,249,244,.52);
  border: 1px solid rgba(18,22,21,.16);
  border-radius: 49% 51% 47% 53% / 3% 4% 3% 4%;
  box-shadow: 0 30px 90px rgba(59,74,75,.1);
}

.ed-drift-sketch::before {
  position: absolute;
  inset: 18px;
  content: "";
  border: 1px solid rgba(18,22,21,.08);
  border-radius: 48% 52% 51% 49% / 2% 3% 2% 3%;
}

.ed-thread {
  position: absolute;
  left: 7%;
  width: 86%;
  height: 105px;
  border-top: 2px solid rgba(69,89,99,.54);
  border-radius: 50%;
  transform-origin: center;
  animation: ed-thread-drift 9s ease-in-out infinite alternate;
}

.ed-thread::after {
  position: absolute;
  top: -4px;
  right: 18%;
  width: 6px;
  height: 6px;
  content: "";
  background: #526537;
  border-radius: 50%;
}

.ed-thread-one { top: 23%; transform: rotate(-5deg); }
.ed-thread-two { top: 34%; border-top-color: rgba(113,96,62,.5); transform: rotate(4deg); animation-delay: -2s; }
.ed-thread-three { top: 45%; transform: rotate(-2deg); animation-delay: -4s; }
.ed-thread-four { top: 56%; border-top-color: rgba(113,96,62,.43); transform: rotate(5deg); animation-delay: -6s; }
.ed-thread-five { top: 67%; transform: rotate(-4deg); animation-delay: -8s; }

.ed-sketch-word {
  position: absolute;
  z-index: 2;
  color: rgba(18,22,21,.42);
  font: italic 400 11px/1 var(--ed-serif-en);
  letter-spacing: .18em;
}

.ed-sketch-thought { top: 18%; left: 12%; }
.ed-sketch-language { top: 47%; left: 43%; color: #526537; font-size: 14px; }
.ed-sketch-world { right: 12%; bottom: 18%; }

.ed-sketch-dot {
  position: absolute;
  z-index: 3;
  width: 8px;
  height: 8px;
  background: #d9f765;
  border: 1px solid rgba(18,22,21,.4);
  border-radius: 50%;
  box-shadow: 0 0 0 7px rgba(217,247,101,.2);
}

.ed-sketch-dot-one { top: 29%; right: 22%; }
.ed-sketch-dot-two { bottom: 31%; left: 18%; background: var(--ed-blue); box-shadow: 0 0 0 7px rgba(147,170,201,.18); }
.ed-sketch-dot-three { right: 16%; bottom: 15%; width: 5px; height: 5px; background: var(--ed-gold); box-shadow: none; }

.ed-drift-sketch > small {
  position: absolute;
  right: 24px;
  bottom: 20px;
  color: rgba(18,22,21,.35);
  font: italic 400 12px/1 var(--ed-serif-en);
  letter-spacing: .06em;
}

.ed-coda { min-height: 720px; }
.ed-coda-attr { margin-bottom: 0; }

@keyframes ed-orbit-turn { to { transform: rotate(360deg); } }
@keyframes ed-orbit-turn-reverse { to { transform: rotate(-360deg); } }
@keyframes ed-orbit-field-drift {
  0% {
    opacity: .58;
    transform: rotate(0deg) scale(.982);
    border-radius: 49% 51% 47% 53% / 52% 48% 54% 46%;
  }
  48% {
    opacity: .96;
    transform: rotate(174deg) scale(1.022);
    border-radius: 53% 47% 51% 49% / 47% 55% 45% 53%;
  }
  100% {
    opacity: .58;
    transform: rotate(360deg) scale(.982);
    border-radius: 49% 51% 47% 53% / 52% 48% 54% 46%;
  }
}
@keyframes ed-orbit-wobble {
  from { transform: rotate(-9deg) scale(.98); }
  to { transform: rotate(10deg) scale(1.03); }
}
@keyframes ed-orbit-node-drift-one {
  0% { transform: translate3d(0,0,0) rotate(-.4deg); }
  45% { transform: translate3d(-24px,18px,0) rotate(.7deg); }
  100% { transform: translate3d(13px,34px,0) rotate(-.2deg); }
}
@keyframes ed-orbit-node-drift-two {
  0% { transform: translate3d(0,0,0) rotate(.3deg); }
  52% { transform: translate3d(-34px,-21px,0) rotate(-.8deg); }
  100% { transform: translate3d(-12px,25px,0) rotate(.4deg); }
}
@keyframes ed-orbit-node-drift-three {
  0% { transform: translate3d(0,0,0) rotate(-.3deg); }
  48% { transform: translate3d(28px,-31px,0) rotate(.9deg); }
  100% { transform: translate3d(46px,8px,0) rotate(-.5deg); }
}
@keyframes ed-center-float {
  0%,100% { transform: translateY(-5px) rotate(-1deg); }
  50% { transform: translateY(6px) rotate(1deg); }
}
@keyframes ed-lexicon-arrive {
  from { opacity: 0; filter: blur(5px); translate: 0 6px; }
  to { opacity: 1; filter: blur(0); translate: 0 0; }
}
@keyframes ed-orbit-note-arrive {
  from { opacity: 0; filter: blur(5px); transform: translate3d(0,10px,0) scale(.97); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }
}
@keyframes ed-manifesto-type-character {
  from { opacity: 0; filter: blur(4px); transform: translate3d(0,.28em,0); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0,0,0); }
}
@keyframes ed-forming-base-breathe {
  0% { opacity: .1; filter: blur(1.2px); }
  58% { opacity: .34; filter: blur(.25px); }
  100% { opacity: .52; filter: blur(0); }
}
@keyframes ed-forming-fragment {
  0% {
    opacity: .1;
    filter: blur(2.4px);
    transform: translate3d(var(--fragment-x),var(--fragment-y),0) rotate(var(--fragment-r));
  }
  62% {
    opacity: .68;
    filter: blur(.35px);
    transform: translate3d(2px,-1px,0) rotate(.08deg);
  }
  100% {
    opacity: .94;
    filter: blur(0);
    transform: translate3d(0,0,0) rotate(0);
  }
}
@keyframes ed-thread-drift {
  from { translate: -10px -2px; scale: .98 1; }
  to { translate: 12px 3px; scale: 1.04 1; }
}

@media (max-width: 1050px) {
  .ed-hero-layout { grid-template-columns: minmax(0,1fr) minmax(360px,.75fr); gap: 30px; }
  .ed-hero-orbit { width: min(43vw,520px); }
  .ed-principles-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ed-manifesto-layout { grid-template-columns: minmax(0,1fr) 340px; gap: 42px; }
  .ed-manifesto-visual { min-height: 530px; }
  .ed-name-layout { grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); gap: 55px; }
}

@media (max-width: 760px) {
  .ed-ending .ed-hero { min-height: 760px; padding-top: 110px; padding-bottom: 70px; }
  .ed-hero {
    min-height: 850px;
    align-items: flex-start;
    padding: 132px 22px 95px;
  }
  .ed-hero-layout { grid-template-columns: 1fr; }
  .ed-principles-grid { grid-template-columns: 1fr; }
  .ed-hero-content { position: relative; z-index: 3; }
  .ed-wordmark { width: min(58vw,250px); }
  .ed-hero-statement { font-size: clamp(53px,15vw,72px); line-height: 1.15; }
  .ed-hero-orbit {
    position: absolute;
    z-index: 1;
    right: -45%;
    bottom: -15%;
    width: 112vw;
    opacity: .48;
  }
  .ed-orbit-node { font-size: 6px; }
  .ed-orbit-center-term { font-size: 8px; }
  .ed-orbit-lexicon-card {
    width: min(245px,58vw);
  }
  .ed-hero-values { flex-wrap: wrap; max-width: 300px; }
  .ed-manifesto { padding-top: 90px; padding-bottom: 90px; }
  .ed-manifesto::before {
    top: 43%;
    width: 100%;
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 24%, #000 100%);
    mask-image: linear-gradient(180deg, transparent, #000 24%, #000 100%);
  }
  .ed-manifesto-layout { grid-template-columns: 1fr; }
  .ed-manifesto-visual { width: 100%; max-width: none; min-height: 540px; margin: 66px auto 0; }
  .ed-era-statement h2 { font-size: 55px; }
  .ed-work { padding-top: 110px; padding-bottom: 110px; }
  .ed-name { padding-top: 105px; padding-bottom: 110px; }
  .ed-name-layout { grid-template-columns: 1fr; gap: 55px; }
  .ed-drift-sketch { min-height: 390px; }
  .ed-name-line { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .ed-orbit-ring,
  .ed-orbit-center,
  .ed-thread { animation: none !important; }
}

@media (max-width: 760px) {
  .calendar-modal { width: 100%; height: 100%; border: 0; border-radius: 0; }
  .calendar-modal > header { min-height: 68px; padding: 9px 11px; }
  .calendar-modal > header small { display: none; }
  .calendar-modal-controls .calendar-today-button { display: none; }
  .calendar-modal-body { display: block; overflow-y: auto; }
  .calendar-board { min-height: 470px; border-right: 0; border-bottom: 1px solid var(--line); }
  .calendar-day-grid > button { padding: 5px; }
  .calendar-day-grid > button > b { top: 6px; right: 5px; }
  .calendar-day-grid > button > i { right: 5px; bottom: 6px; left: 5px; }
  .calendar-agenda { min-height: 330px; }
}

/* File intake and scanning workbench */
.scanner-view-frame { max-width: 1760px; padding-top: 18px; }
.document-scanner-page { display: grid; gap: 12px; }
.scanner-dropzone > span, .scanner-preview > header span, .scanner-file-rail > header span, .scanner-review > header span, .scanner-complete > span { display: block; color: var(--lime); font: 500 9px/1.3 "DM Mono",monospace; letter-spacing: .11em; }
.scanner-status-toast.busy svg, .scanner-processing-placeholder.busy svg { animation: scanner-spin 1s linear infinite; }
.scanner-flow { min-height: 42px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 9px; }
.scanner-flow > div { position: relative; display: grid; grid-template-columns: 22px minmax(0,1fr) 13px; gap: 7px; align-items: center; padding: 7px 12px; color: var(--muted); border-right: 1px solid var(--line); }
.scanner-flow > div:last-child { border-right: 0; }
.scanner-flow > div > span { width: 21px; height: 21px; display: grid; place-items: center; background: var(--soft); border-radius: 50%; font: 500 9px/1 "DM Mono",monospace; }
.scanner-flow > div strong { font-size: 10px; }
.scanner-flow > div svg { width: 12px; height: 12px; color: var(--line-dark); }
.scanner-flow > div.active { color: var(--green); background: var(--green-wash); }
.scanner-flow > div.active > span { color: var(--accent-ink); background: var(--lime); }
.scanner-dropzone { min-height: 430px; display: grid; place-content: center; justify-items: center; padding: 42px; text-align: center; border-style: dashed; border-width: 1.5px; transition: border-color .18s,background .18s,transform .18s; }
.scanner-dropzone.dragging { background: var(--green-wash); border-color: var(--green); transform: scale(.997); }
.scanner-drop-visual { position: relative; width: 78px; height: 78px; display: grid; place-items: center; margin-bottom: 18px; color: var(--green); background: var(--green-wash); border: 1px solid color-mix(in srgb,var(--green) 24%,var(--line)); border-radius: 22px; }
.scanner-drop-visual > svg { width: 36px; height: 36px; stroke-width: 1.4; }
.scanner-drop-visual i { position: absolute; top: -7px; right: -7px; width: 29px; height: 29px; display: grid; place-items: center; color: var(--accent-ink); background: var(--lime); border: 3px solid var(--panel); border-radius: 50%; }
.scanner-drop-visual i svg { width: 13px; height: 13px; }
.scanner-dropzone > span { color: var(--green-2); }
.scanner-dropzone h2 { margin: 7px 0 6px; font-size: 19px; }
.scanner-dropzone p { max-width: 560px; margin: 0 0 18px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.scanner-dropzone label, .scanner-session-toolbar label { cursor: pointer; }
.scanner-dropzone label input, .scanner-session-toolbar label input { display: none; }
.scanner-dropzone label { min-height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 0 14px; }
.scanner-dropzone label svg { width: 14px; height: 14px; }
.scanner-dropzone > small { display: flex; align-items: center; gap: 5px; margin-top: 14px; color: var(--muted); font-size: 9px; }
.scanner-dropzone > small svg { width: 13px; height: 13px; color: var(--green); }
.scanner-session-toolbar { min-height: 43px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 6px 8px 6px 12px; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; }
.scanner-session-toolbar > div, .scanner-session-toolbar nav { display: flex; align-items: center; gap: 7px; }
.scanner-session-toolbar > div strong { color: var(--green); font-size: 11px; }
.scanner-session-toolbar > div span { padding-left: 7px; color: var(--muted); border-left: 1px solid var(--line); font-size: 9px; }
.scanner-session-toolbar :is(label,button) { min-height: 29px; display: inline-flex; align-items: center; gap: 5px; padding: 0 8px; color: var(--green); background: var(--soft); border: 1px solid var(--line); border-radius: 5px; font-size: 9px; }
.scanner-session-toolbar button.danger { color: #9b3e35; background: color-mix(in srgb,#b94c42 7%,var(--panel)); border-color: color-mix(in srgb,#b94c42 24%,var(--line)); }
.scanner-session-toolbar svg { width: 13px; height: 13px; }
.scanner-workbench { min-height: 720px; display: grid; grid-template-columns: minmax(220px,250px) minmax(440px,1fr) minmax(285px,330px); gap: 10px; align-items: start; }
.scanner-file-rail, .scanner-preview, .scanner-review { min-height: 720px; overflow: hidden; }
.scanner-file-rail > header, .scanner-preview > header, .scanner-review > header { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 11px; border-bottom: 1px solid var(--line); }
.scanner-file-rail > header strong, .scanner-preview > header strong, .scanner-review > header strong { display: block; margin-top: 3px; font-size: 12px; }
.scanner-file-rail > header > small { color: var(--muted); font-size: 9px; }
.scanner-group-list { padding: 6px; background: var(--soft); border-bottom: 1px solid var(--line); }
.scanner-group-list > button { width: 100%; min-height: 48px; display: grid; grid-template-columns: 23px minmax(0,1fr) 12px; gap: 7px; align-items: center; padding: 6px 7px; color: var(--muted); text-align: left; background: transparent; border-radius: 6px; }
.scanner-group-list > button + button { margin-top: 3px; }
.scanner-group-list > button.active { color: var(--ink); background: var(--panel); box-shadow: 0 0 0 1px var(--line); }
.scanner-group-list > button > span { width: 22px; height: 22px; display: grid; place-items: center; color: var(--green); background: var(--green-wash); border-radius: 5px; font: 500 8px/1 "DM Mono",monospace; }
.scanner-group-list strong, .scanner-group-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scanner-group-list strong { font-size: 9px; }
.scanner-group-list small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.scanner-group-list svg { width: 11px; height: 11px; }
.scanner-page-list { max-height: 450px; overflow-y: auto; }
.scanner-page-list article { min-height: 62px; display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 7px; align-items: center; padding: 6px 7px; border-bottom: 1px solid var(--line); cursor: pointer; }
.scanner-page-list article.active { background: var(--green-wash); box-shadow: inset 2px 0 var(--green); }
.scanner-page-thumb { position: relative; width: 42px; height: 49px; display: grid; place-items: center; overflow: hidden; color: var(--muted); background: var(--preview-surface); border: 1px solid var(--line); border-radius: 4px; }
.scanner-page-thumb > span { width: 100%; height: 100%; display: grid; place-items: center; }
.scanner-page-thumb img { width: 100%; height: 100%; object-fit: cover; }
.scanner-page-thumb svg { width: 16px; height: 16px; }
.scanner-page-thumb b { position: absolute; right: 2px; bottom: 2px; min-width: 14px; height: 14px; display: grid; place-items: center; color: #fff; background: rgba(12,24,17,.68); border-radius: 3px; font-size: 7px; }
.scanner-page-copy { min-width: 0; padding: 0; color: var(--ink); text-align: left; background: transparent; }
.scanner-page-copy strong, .scanner-page-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scanner-page-copy strong { font-size: 8.5px; }
.scanner-page-copy small { margin-top: 4px; color: var(--muted); font-size: 7.5px; }
.scanner-page-list article > nav { display: grid; gap: 2px; opacity: 0; transition: opacity .15s; }
.scanner-page-list article:hover > nav, .scanner-page-list article.active > nav { opacity: 1; }
.scanner-page-list article > nav button { width: 19px; height: 17px; display: grid; place-items: center; color: var(--muted); background: var(--panel); border: 1px solid var(--line); border-radius: 3px; }
.scanner-page-list article > nav button:disabled { opacity: .3; }
.scanner-page-list article > nav svg { width: 9px; height: 9px; }
.scanner-move-page { display: grid; gap: 4px; padding: 8px; border-top: 1px solid var(--line); }
.scanner-move-page span { color: var(--muted); font-size: 8px; }
.scanner-move-page select { width: 100%; min-height: 29px; color: var(--ink); background: var(--soft); border: 1px solid var(--line); border-radius: 5px; font-size: 8px; }
.scanner-split-page, .scanner-unassigned { min-height: 31px; display: flex; align-items: center; gap: 5px; margin: 8px; padding: 0 8px; color: var(--green); background: var(--soft); border: 1px solid var(--line); border-radius: 5px; font-size: 8.5px; }
.scanner-split-page svg, .scanner-unassigned svg { width: 12px; height: 12px; }
.scanner-preview > header { padding-right: 7px; }
.scanner-preview > header nav { display: flex; align-items: center; padding: 3px; background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.scanner-preview > header nav button { min-height: 26px; display: inline-flex; align-items: center; gap: 4px; padding: 0 7px; color: var(--muted); background: transparent; border-radius: 4px; font-size: 8px; }
.scanner-preview > header nav button.active { color: var(--green); background: var(--panel); box-shadow: 0 0 0 1px var(--line); }
.scanner-preview > header nav svg { width: 11px; height: 11px; }
.scanner-preview-stage { min-height: 0; display: grid; place-items: center; padding: 12px; background: var(--preview-surface); border-bottom: 1px solid var(--line); }
.scanner-comparison { width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; align-items: start; }
.scanner-comparison figure, .scanner-single-preview { position: relative; min-width: 0; margin: 0; display: grid; place-items: center; overflow: hidden; background: color-mix(in srgb,var(--preview-paper) 82%,transparent); border: 1px solid color-mix(in srgb,var(--line-dark) 72%,transparent); border-radius: 7px; }
.scanner-comparison figure { min-height: 0; padding: 35px 8px 8px; }
.scanner-comparison figcaption { position: absolute; z-index: 2; top: 7px; left: 7px; padding: 4px 6px; color: #fff; background: rgba(11,22,16,.65); border-radius: 4px; font-size: 8px; backdrop-filter: blur(5px); }
.scanner-comparison figcaption i { margin-left: 5px; padding-left: 5px; color: var(--lime); border-left: 1px solid rgba(255,255,255,.28); font-style: normal; }
.scanner-comparison img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.scanner-single-preview { width: 100%; min-height: 0; padding: 8px; }
.scanner-single-preview img { display: block; width: auto; max-width: 100%; max-height: 600px; object-fit: contain; }
.scanner-live-preview { transform-origin: center; transition: filter .12s ease-out,transform .12s ease-out; will-change: filter,transform; }
.scanner-live-preview-badge { position: absolute; z-index: 2; top: 9px; right: 9px; padding: 5px 7px; color: var(--accent-ink); background: var(--lime); border-radius: 4px; box-shadow: 0 2px 8px rgba(10,24,16,.16); font-size: 8px; }
.scanner-processing-placeholder { min-height: 240px; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--muted); font-size: 9px; }
.scanner-processing-placeholder svg { width: 20px; height: 20px; }
.scanner-crop-stage { width: 100%; display: grid; place-items: center; gap: 8px; }
.scanner-crop-guidance { width: min(680px,100%); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.scanner-crop-guidance > p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.scanner-crop-guidance > nav { display: flex; gap: 5px; flex: 0 0 auto; }
.scanner-crop-guidance button { min-height: 30px; display: inline-flex; align-items: center; gap: 4px; padding: 0 8px; color: var(--green); background: var(--panel); border: 1px solid var(--line); border-radius: 5px; font-size: 8px; }
.scanner-crop-guidance button.primary { color: var(--accent-ink); background: var(--lime); border-color: color-mix(in srgb,var(--green) 22%,var(--line)); font-weight: 700; }
.scanner-crop-guidance button:disabled { color: var(--muted); background: var(--soft); opacity: .65; }
.scanner-crop-guidance button svg { width: 12px; height: 12px; }
.scanner-crop-editor { position: relative; width: fit-content; max-width: 100%; line-height: 0; touch-action: none; user-select: none; }
.scanner-crop-editor > img { display: block; max-width: 100%; max-height: min(640px,calc(100dvh - 260px)); object-fit: contain; }
.scanner-crop-editor > svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.scanner-crop-editor .scanner-crop-shade { fill: rgba(4,10,7,.66); }
.scanner-crop-editor .scanner-crop-boundary { fill: color-mix(in srgb,var(--lime) 5%,transparent); stroke: var(--lime); stroke-width: 1.35; vector-effect: non-scaling-stroke; }
.scanner-crop-editor .scanner-crop-safe-boundary { fill: none; stroke: rgba(255,255,255,.92); stroke-width: 1; stroke-dasharray: 4 3; vector-effect: non-scaling-stroke; }
.scanner-crop-editor > button { position: absolute; width: 8px; height: 8px; padding: 0; background: var(--lime); border: 1px solid rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 1px 2px rgba(8,20,13,.28); opacity: .78; translate: -50% -50%; cursor: grab; }
.scanner-crop-editor > button::before { content: ""; position: absolute; inset: -7px; border-radius: 50%; }
.scanner-crop-editor > button.edge { width: 6px; height: 6px; background: var(--panel); border: 1px solid var(--lime); border-radius: 1px; rotate: 45deg; box-shadow: none; opacity: .68; }
.scanner-crop-editor > button:is(:hover,:focus-visible,:active) { z-index: 3; opacity: 1; }
.scanner-crop-editor > button:active { cursor: grabbing; scale: 1.08; }
.scanner-ocr-preview { width: 100%; min-height: 450px; display: grid; grid-template-rows: auto 1fr; overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 7px; }
.scanner-ocr-preview > header { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border-bottom: 1px solid var(--line); }
.scanner-ocr-preview > header svg { width: 17px; height: 17px; color: var(--green); }
.scanner-ocr-preview > header strong, .scanner-ocr-preview > header small { display: block; }
.scanner-ocr-preview > header strong { font-size: 9px; }
.scanner-ocr-preview > header small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.scanner-ocr-preview textarea { width: 100%; min-height: 405px; padding: 13px; resize: none; color: var(--ink); background: var(--preview-paper); border: 0; outline: 0; font: 400 10px/1.8 "Noto Sans SC",sans-serif; }
.scanner-edit-panel { border-bottom: 1px solid var(--line); }
.scanner-edit-panel > header { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; background: var(--panel); border-bottom: 1px solid var(--line); }
.scanner-edit-panel > header > div { min-width: 0; display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 7px; align-items: center; }
.scanner-edit-panel > header > div > svg { width: 27px; height: 27px; padding: 6px; color: var(--green); background: var(--green-wash); border-radius: 6px; }
.scanner-edit-panel > header strong, .scanner-edit-panel > header small { display: block; }
.scanner-edit-panel > header strong { font-size: 9px; }
.scanner-edit-panel > header small { margin-top: 3px; color: var(--muted); font-size: 7.5px; }
.scanner-live-state { margin-left: auto; padding: 4px 7px; color: var(--green); background: var(--green-wash); border-radius: 999px; font-size: 7.5px; font-style: normal; white-space: nowrap; }
.scanner-live-state.pending { color: var(--accent-ink); background: var(--lime); }
.scanner-edit-panel > header nav { display: flex; align-items: center; gap: 4px; }
.scanner-edit-panel > header nav button { min-height: 28px; display: inline-flex; align-items: center; gap: 4px; padding: 0 7px; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 5px; font-size: 8px; }
.scanner-edit-panel > header nav button:hover { color: var(--green); border-color: color-mix(in srgb,var(--green) 35%,var(--line)); }
.scanner-edit-panel > header nav svg { width: 12px; height: 12px; }
.scanner-preset-picker { min-height: 47px; display: flex; align-items: center; gap: 5px; padding: 7px 10px; background: var(--soft); border-bottom: 1px solid var(--line); }
.scanner-preset-picker > span { display: inline-flex; align-items: center; gap: 4px; margin-right: 3px; color: var(--muted); font-size: 8px; white-space: nowrap; }
.scanner-preset-picker > span svg { width: 11px; height: 11px; color: var(--green); }
.scanner-preset-picker > button { min-width: 96px; min-height: 32px; padding: 4px 8px; color: var(--muted); text-align: left; background: var(--panel); border: 1px solid var(--line); border-radius: 5px; }
.scanner-preset-picker > button strong, .scanner-preset-picker > button small { display: block; }
.scanner-preset-picker > button strong { color: var(--ink); font-size: 8px; }
.scanner-preset-picker > button small { margin-top: 2px; font-size: 6.8px; }
.scanner-preset-picker > button.active { background: var(--green-wash); border-color: color-mix(in srgb,var(--green) 35%,var(--line)); box-shadow: inset 2px 0 var(--green); }
.scanner-fine-controls { border-bottom: 1px solid var(--line); }
.scanner-fine-controls > summary { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 10px; color: var(--muted); background: var(--panel); cursor: pointer; list-style: none; }
.scanner-fine-controls > summary::-webkit-details-marker { display: none; }
.scanner-fine-controls > summary > span { display: grid; grid-template-columns: 18px auto minmax(0,1fr); gap: 6px; align-items: center; }
.scanner-fine-controls > summary > span svg { width: 14px; height: 14px; color: var(--green); }
.scanner-fine-controls > summary strong { color: var(--ink); font-size: 8px; }
.scanner-fine-controls > summary small { font-size: 7px; }
.scanner-fine-controls > summary > svg { width: 12px; height: 12px; transition: transform .16s; }
.scanner-fine-controls[open] > summary > svg { transform: rotate(90deg); }
.scanner-fine-controls > .scanner-mode-picker { padding: 7px 10px; background: var(--soft); border-top: 1px solid var(--line); }
.scanner-adjustment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
.scanner-adjustment-grid > section { min-width: 0; padding: 9px 10px 10px; border-right: 1px solid var(--line); }
.scanner-adjustment-grid > section:last-child { border-right: 0; }
.scanner-adjustment-title { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 6px; align-items: center; margin-bottom: 8px; }
.scanner-adjustment-title > svg { width: 21px; height: 21px; padding: 4px; color: var(--green); background: var(--soft); border-radius: 5px; }
.scanner-adjustment-title strong, .scanner-adjustment-title small { display: block; }
.scanner-adjustment-title strong { font-size: 8.5px; }
.scanner-adjustment-title small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.scanner-adjustment { display: block; padding: 6px 0; }
.scanner-adjustment + .scanner-adjustment { border-top: 1px solid color-mix(in srgb,var(--line) 65%,transparent); }
.scanner-adjustment > span { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 5px; align-items: baseline; }
.scanner-adjustment strong { font-size: 8px; }
.scanner-adjustment small { overflow: hidden; color: var(--muted); font-size: 6.8px; text-overflow: ellipsis; white-space: nowrap; }
.scanner-adjustment b { color: var(--green); font: 600 7px/1 "DM Mono",monospace; }
.scanner-adjustment input { width: 100%; height: 14px; margin: 5px 0 0; appearance: none; background: transparent; cursor: pointer; }
.scanner-adjustment input::-webkit-slider-runnable-track { height: 3px; background: linear-gradient(90deg,var(--green) 0 var(--range-progress),var(--line) var(--range-progress) 100%); border-radius: 99px; }
.scanner-adjustment input::-webkit-slider-thumb { width: 12px; height: 12px; margin-top: -4.5px; appearance: none; background: var(--panel); border: 2px solid var(--green); border-radius: 50%; box-shadow: 0 1px 4px rgba(9,25,16,.2); }
.scanner-content-alignment { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 6px; align-items: center; margin: 2px 0 6px; padding: 6px; color: var(--green); background: var(--soft); border: 1px solid color-mix(in srgb,var(--green) 18%,var(--line)); border-radius: 6px; }
.scanner-content-alignment > svg { width: 15px; height: 15px; }
.scanner-content-alignment strong,.scanner-content-alignment small { display: block; }
.scanner-content-alignment strong { font-size: 7.5px; }
.scanner-content-alignment small { margin-top: 2px; color: var(--muted); font-size: 6.5px; }
.scanner-content-alignment.experimental { color: color-mix(in srgb,var(--green) 78%,#7d5c00); background: color-mix(in srgb,var(--soft) 82%,#fff4bf); }
.scanner-boundary-button { width: 100%; min-height: 38px; display: grid; grid-template-columns: 20px minmax(0,1fr) 10px; gap: 6px; align-items: center; margin-top: 3px; padding: 5px 7px; color: var(--green); text-align: left; background: var(--green-wash); border: 1px solid color-mix(in srgb,var(--green) 18%,var(--line)); border-radius: 5px; }
.scanner-boundary-button > svg { width: 12px; height: 12px; }
.scanner-boundary-button > svg:first-child { width: 19px; height: 19px; padding: 3px; background: var(--panel); border-radius: 4px; }
.scanner-boundary-button strong, .scanner-boundary-button small { display: block; }
.scanner-boundary-button strong { color: var(--ink); font-size: 7.8px; }
.scanner-boundary-button small { margin-top: 2px; color: var(--muted); font-size: 6.7px; }
.scanner-edit-panel > footer { min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 9px; background: var(--soft); border-top: 1px solid var(--line); }
.scanner-apply-copy strong, .scanner-apply-copy small { display: block; }
.scanner-apply-copy strong { font-size: 8px; }
.scanner-apply-copy small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.scanner-mode-picker { display: flex; align-items: center; gap: 3px; }
.scanner-mode-picker > span { display: inline-flex; align-items: center; gap: 4px; margin-right: 4px; color: var(--muted); font-size: 8px; }
.scanner-mode-picker > span svg { width: 11px; height: 11px; }
.scanner-mode-picker button { min-height: 26px; padding: 0 7px; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 4px; font-size: 8px; }
.scanner-mode-picker button.active { color: var(--accent-ink); background: var(--lime); border-color: color-mix(in srgb,var(--green) 22%,var(--line)); }
.scanner-apply-button { min-height: 28px; display: inline-flex; align-items: center; gap: 4px; padding: 0 8px; color: var(--green); background: var(--green-wash); border: 1px solid var(--line); border-radius: 5px; font-size: 8px; }
.scanner-apply-button svg { width: 12px; height: 12px; }
.scanner-apply-button:disabled { color: var(--muted); background: var(--panel); opacity: .65; }
.scanner-quality-panel { display: grid; grid-template-columns: minmax(320px,.9fr) minmax(230px,1.1fr); gap: 8px; padding: 8px; }
.scanner-quality-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
.scanner-quality-metrics > span { min-width: 0; display: grid; grid-template-columns: 5px minmax(0,1fr); gap: 1px 6px; align-items: center; padding: 6px; background: var(--soft); border-radius: 5px; }
.scanner-quality-metrics i { grid-row: 1/3; width: 4px; height: 28px; overflow: hidden; background: var(--line); border-radius: 9px; }
.scanner-quality-metrics i::after { content:""; display: block; width: 100%; height: calc(var(--metric) * 100%); margin-top: calc((1 - var(--metric)) * 28px); background: var(--green); border-radius: 9px; }
.scanner-quality-metrics b, .scanner-quality-metrics small { display: block; }
.scanner-quality-metrics b { font-size: 9px; }
.scanner-quality-metrics small { color: var(--muted); font-size: 7px; }
.scanner-quality-issues { min-width: 0; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 7px; align-items: center; padding: 7px 9px; color: var(--green); background: var(--green-wash); border-radius: 5px; }
.scanner-quality-issues.warning { color: var(--orange); background: var(--warning); }
.scanner-quality-issues > svg { width: 15px; height: 15px; }
.scanner-quality-issues strong, .scanner-quality-issues span { display: block; }
.scanner-quality-issues strong { font-size: 8.5px; }
.scanner-quality-issues span { margin-top: 3px; color: var(--muted); font-size: 7.5px; line-height: 1.4; }
.scanner-review { overflow: visible; }
.scanner-review > header > i { padding: 4px 6px; color: var(--green); background: var(--green-wash); border-radius: 999px; font-size: 7px; font-style: normal; }
.scanner-ai-insight { display: grid; gap: 7px; margin: 8px; padding: 9px; background: var(--soft); border: 1px solid var(--line); border-radius: 7px; }
.scanner-ai-insight.completed { background: var(--green-wash); border-color: color-mix(in srgb,var(--green) 25%,var(--line)); }
.scanner-ai-insight > header { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 7px; align-items: center; }
.scanner-ai-insight > header > svg { width: 22px; height: 22px; padding: 4px; color: var(--green); background: var(--panel); border-radius: 5px; }
.scanner-ai-insight strong, .scanner-ai-insight small { display: block; }
.scanner-ai-insight strong { font-size: 8.5px; }
.scanner-ai-insight small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.scanner-ai-insight > p { margin: 0; color: var(--muted); font-size: 7.5px; line-height: 1.55; }
.scanner-ai-insight > div { display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 6px 7px; background: var(--panel); border-radius: 5px; }
.scanner-ai-insight > div span { color: var(--green); font-size: 7.5px; }
.scanner-ai-insight > div small { margin: 0; }
.scanner-ai-insight > button { min-height: 31px; display: flex; align-items: center; justify-content: center; gap: 5px; color: var(--accent-ink); background: var(--lime); border: 1px solid color-mix(in srgb,var(--green) 22%,var(--line)); border-radius: 5px; font-size: 8px; font-weight: 700; }
.scanner-ai-insight > button:disabled { color: var(--muted); background: var(--panel); }
.scanner-ai-insight > button svg { width: 12px; height: 12px; }
.scanner-ai-insight > footer { display: flex; align-items: flex-start; gap: 4px; color: var(--muted); font-size: 6.7px; line-height: 1.45; }
.scanner-ai-insight > footer svg { width: 10px; height: 10px; flex: 0 0 auto; margin-top: 1px; color: var(--green); }
.scanner-suggestion { display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 8px; margin: 8px; padding: 9px; color: var(--green); background: var(--green-wash); border: 1px solid color-mix(in srgb,var(--green) 18%,var(--line)); border-radius: 7px; }
.scanner-suggestion > svg { width: 17px; height: 17px; margin: 2px auto; }
.scanner-suggestion span, .scanner-suggestion strong, .scanner-suggestion p { display: block; }
.scanner-suggestion span { font-size: 7px; letter-spacing: .05em; }
.scanner-suggestion strong { margin-top: 3px; color: var(--ink); font-size: 9px; line-height: 1.35; }
.scanner-suggestion p { margin: 4px 0 0; color: var(--muted); font-size: 7.5px; line-height: 1.45; }
.scanner-archive-form { display: grid; gap: 7px; padding: 4px 9px 9px; border-bottom: 1px solid var(--line); }
.scanner-archive-form label, .scanner-extracted-fields label { min-width: 0; }
.scanner-archive-form label > span, .scanner-extracted-fields label > span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 7.5px; font-weight: 600; }
.scanner-archive-form :is(input,select,textarea), .scanner-extracted-fields input { width: 100%; min-height: 31px; padding: 0 7px; color: var(--ink); background: var(--soft); border: 1px solid var(--line); border-radius: 5px; outline: 0; font-size: 8px; }
.scanner-archive-form textarea { min-height: 52px; padding-top: 7px; resize: vertical; line-height: 1.5; }
.scanner-archive-form label > select + input { margin-top: 4px; }
.scanner-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.scanner-review-details { min-width: 0; }
.scanner-review-details > summary { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 0; color: var(--muted); cursor: pointer; list-style: none; }
.scanner-review-details > summary::-webkit-details-marker { display: none; }
.scanner-review-details > summary > span { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 2px 5px; align-items: center; }
.scanner-review-details > summary > span > svg { grid-row: 1/3; width: 13px; height: 13px; color: var(--green); }
.scanner-review-details > summary strong { color: var(--ink); font-size: 8px; }
.scanner-review-details > summary small { grid-column: 1/-1; color: var(--muted); font-size: 7px; }
.scanner-review-details > summary > span > svg + strong + small { grid-column: 2; }
.scanner-review-details > summary > svg { width: 11px; height: 11px; flex: 0 0 auto; transition: transform .16s; }
.scanner-review-details[open] > summary > svg { transform: rotate(90deg); }
.scanner-archive-form .scanner-review-details { border-top: 1px solid var(--line); }
.scanner-archive-form .scanner-review-details > div { display: grid; gap: 7px; padding-top: 3px; }
.scanner-extracted-fields { border-bottom: 1px solid var(--line); }
.scanner-extracted-fields > summary { padding: 7px 9px; }
.scanner-extracted-fields > header { min-height: 35px; display: flex; align-items: center; justify-content: space-between; padding: 7px 9px; }
.scanner-extracted-fields > header > div { display: flex; align-items: center; gap: 5px; }
.scanner-extracted-fields > header svg { width: 13px; height: 13px; color: var(--green); }
.scanner-extracted-fields > header strong { font-size: 8.5px; }
.scanner-extracted-fields > header small { color: var(--muted); font-size: 7px; }
.scanner-extracted-fields > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 0 9px 9px; }
.scanner-extracted-fields > p { margin: 0; padding: 0 9px 10px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.scanner-save-summary { display: grid; gap: 4px; padding: 8px 9px; }
.scanner-save-summary > div { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 7px; align-items: center; padding: 7px; background: var(--soft); border-radius: 5px; }
.scanner-save-summary svg { width: 14px; height: 14px; color: var(--green); }
.scanner-save-summary strong, .scanner-save-summary small { display: block; }
.scanner-save-summary strong { font-size: 8px; }
.scanner-save-summary small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.scanner-commit-button { width: calc(100% - 18px); min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0 9px 9px; color: var(--accent-ink); background: var(--lime); border: 1px solid color-mix(in srgb,var(--green) 22%,var(--line)); border-radius: 6px; font-size: 9px; font-weight: 700; }
.scanner-commit-button svg { width: 14px; height: 14px; }
.scanner-review-empty { min-height: 500px; display: grid; place-content: center; justify-items: center; gap: 7px; padding: 20px; color: var(--muted); text-align: center; }
.scanner-review-empty svg { width: 30px; height: 30px; color: var(--line-dark); }
.scanner-review-empty strong { color: var(--ink); font-size: 10px; }
.scanner-review-empty span { font-size: 8px; line-height: 1.5; }
.scanner-status-toast { position: fixed; z-index: 45; right: 18px; bottom: 18px; max-width: min(460px,calc(100vw - 36px)); min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 9px 12px; color: var(--ink); background: var(--panel); border: 1px solid var(--line-dark); border-radius: 8px; box-shadow: 0 16px 50px rgba(9,23,15,.2); font-size: 9px; line-height: 1.45; }
.scanner-status-toast svg { width: 15px; height: 15px; flex: 0 0 auto; color: var(--green); }
.scanner-complete { min-height: 560px; display: grid; place-content: center; justify-items: center; padding: 40px; text-align: center; }
.scanner-complete > svg { width: 52px; height: 52px; margin-bottom: 14px; color: var(--green); stroke-width: 1.25; }
.scanner-complete > span { color: var(--green-2); }
.scanner-complete h2 { margin: 7px 0; font-size: 21px; }
.scanner-complete > p { max-width: 620px; margin: 0 0 18px; color: var(--muted); font-size: 9px; line-height: 1.65; }
.scanner-complete > div { width: min(680px,100%); overflow: hidden; border: 1px solid var(--line); border-radius: 8px; text-align: left; }
.scanner-complete article { min-height: 54px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 8px 10px; background: var(--soft); border-bottom: 1px solid var(--line); }
.scanner-complete article:last-child { border-bottom: 0; }
.scanner-complete article > svg { width: 17px; height: 17px; color: var(--green); }
.scanner-complete article strong, .scanner-complete article small { display: block; }
.scanner-complete article strong { font-size: 9px; }
.scanner-complete article small { margin-top: 3px; color: var(--muted); font-size: 7.5px; }
.scanner-complete article a { display: inline-flex; align-items: center; gap: 4px; color: var(--green); font-size: 8px; }
.scanner-complete article a svg { width: 11px; height: 11px; }
.scanner-complete > footer { display: flex; gap: 7px; margin-top: 15px; }
.scanner-complete > footer button { min-height: 34px; padding: 0 11px; color: var(--green); background: var(--soft); border: 1px solid var(--line); border-radius: 6px; font-size: 9px; }
.scanner-complete > footer button.solid-button { color: var(--accent-ink); background: var(--lime); }
@keyframes scanner-spin { to { transform: rotate(360deg); } }

@media (max-width: 1320px) {
  .scanner-workbench { grid-template-columns: 230px minmax(420px,1fr); }
  .scanner-review { grid-column: 1/-1; min-height: 0; display: grid; grid-template-columns: 280px minmax(0,1fr) minmax(260px,.7fr); align-items: start; }
  .scanner-review > header { grid-column: 1/-1; }
  .scanner-suggestion { grid-column: 1; }
  .scanner-archive-form { grid-column: 2; grid-row: 2/5; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
  .scanner-extracted-fields, .scanner-save-summary, .scanner-commit-button { grid-column: 3; }
  .scanner-commit-button { width: calc(100% - 18px); }
}
@media (max-width: 900px) {
  .scanner-view-frame { padding: 12px; }
  .scanner-flow { grid-template-columns: repeat(2,1fr); }
  .scanner-flow > div:nth-child(2) { border-right: 0; }
  .scanner-flow > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .scanner-workbench { grid-template-columns: 1fr; }
  .scanner-file-rail, .scanner-preview, .scanner-review { min-height: 0; }
  .scanner-page-list { max-height: 300px; }
  .scanner-review { display: block; }
  .scanner-archive-form { border-left: 0; border-right: 0; }
  .scanner-adjustment-grid { grid-template-columns: 1fr; }
  .scanner-adjustment-grid > section { border-right: 0; border-bottom: 1px solid var(--line); }
  .scanner-adjustment-grid > section:last-child { border-bottom: 0; }
}
@media (max-width: 620px) {
  .scanner-dropzone { min-height: 360px; padding: 24px 16px; }
  .scanner-session-toolbar { align-items: flex-start; flex-direction: column; }
  .scanner-comparison { grid-template-columns: 1fr; }
  .scanner-comparison figure { min-height: 0; }
  .scanner-crop-guidance { align-items: stretch; flex-direction: column; }
  .scanner-crop-guidance > nav { width: 100%; }
  .scanner-crop-guidance button { flex: 1; justify-content: center; }
  .scanner-quality-panel { grid-template-columns: 1fr; }
  .scanner-edit-panel > header, .scanner-edit-panel > footer { align-items: flex-start; flex-direction: column; }
  .scanner-edit-panel > header nav { width: 100%; overflow-x: auto; }
  .scanner-mode-picker { flex-wrap: wrap; }
  .scanner-preset-picker { align-items: stretch; flex-wrap: wrap; }
  .scanner-preview > header { align-items: flex-start; flex-direction: column; }
  .scanner-preview > header nav { width: 100%; overflow-x: auto; }
  .scanner-form-row, .scanner-extracted-fields > div { grid-template-columns: 1fr; }
}

/* Scanner intake: focused two-pane workspace with on-demand editing drawers */
.scanner-redesign { gap: 14px; }
.scanner-redesign .scanner-dropzone { min-height: 520px; }
.scanner-redesign .scanner-dropzone h2 { margin: 10px 0 7px; font-size: 21px; }
.scanner-redesign .scanner-dropzone p { max-width: 520px; margin-bottom: 22px; font-size: 12px; line-height: 1.65; }
.scanner-redesign .scanner-dropzone label { min-height: 40px; padding: 0 17px; font-size: 12px; }
.scanner-redesign .scanner-dropzone > small { margin-top: 17px; font-size: 10px; }
.scanner-redesign :is(.scanner-add-files,.scanner-dropzone label) input { display: none; }

.scanner-task-header { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 14px 12px 16px; overflow: visible; }
.scanner-task-header > div > span { display: block; color: var(--green-2); font-size: 11px; font-weight: 650; }
.scanner-task-header h2 { margin: 3px 0 0; font-size: 17px; line-height: 1.3; }
.scanner-task-header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.scanner-task-header > nav { display: flex; align-items: center; gap: 8px; }
.scanner-add-files { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 0 13px; color: var(--accent-ink); background: var(--lime); border: 1px solid color-mix(in srgb,var(--green) 22%,var(--line)); border-radius: 7px; font-size: 11px; font-weight: 700; cursor: pointer; }
.scanner-add-files svg { width: 15px; height: 15px; }
.scanner-task-menu, .scanner-page-menu { position: relative; }
.scanner-task-menu > summary, .scanner-page-menu > summary { display: grid; place-items: center; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 7px; list-style: none; cursor: pointer; }
.scanner-task-menu > summary::-webkit-details-marker, .scanner-page-menu > summary::-webkit-details-marker { display: none; }
.scanner-task-menu > summary { width: 38px; height: 38px; }
.scanner-task-menu > summary svg { width: 17px; height: 17px; }
.scanner-task-menu > div, .scanner-page-menu > div { position: absolute; z-index: 18; right: 0; display: grid; gap: 3px; padding: 5px; background: var(--panel); border: 1px solid var(--line-dark); border-radius: 8px; box-shadow: 0 14px 35px rgba(9,23,15,.16); }
.scanner-task-menu > div { top: 44px; width: 176px; }
.scanner-task-menu > div button, .scanner-page-menu > div button { min-height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 9px; color: var(--ink); text-align: left; background: transparent; border-radius: 5px; font-size: 11px; }
.scanner-task-menu > div button:hover, .scanner-page-menu > div button:hover { background: var(--soft); }
.scanner-task-menu > div button.danger, .scanner-page-menu > div button.danger { color: #9b3e35; }
.scanner-task-menu > div svg, .scanner-page-menu > div svg { width: 14px; height: 14px; }

.scanner-redesign .scanner-studio { min-height: 720px; grid-template-columns: 250px minmax(0,1fr); gap: 12px; }
.scanner-redesign .scanner-file-rail, .scanner-redesign .scanner-preview { min-height: 720px; }
.scanner-redesign .scanner-file-rail > header, .scanner-redesign .scanner-preview > header { min-height: 60px; padding: 10px 12px; }
.scanner-redesign .scanner-file-rail > header > div strong { margin: 0; font-size: 14px; }
.scanner-redesign .scanner-file-rail > header > div small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.scanner-redesign .scanner-file-rail > header > span { padding: 4px 7px; color: var(--green); background: var(--green-wash); border-radius: 999px; font: 600 10px/1.3 "Noto Sans SC",sans-serif; letter-spacing: 0; }
.scanner-redesign .scanner-group-list { padding: 8px; }
.scanner-redesign .scanner-group-list > button { min-height: 56px; grid-template-columns: 26px minmax(0,1fr) 14px; gap: 9px; padding: 7px 8px; }
.scanner-redesign .scanner-group-list > button > span { width: 25px; height: 25px; font-size: 10px; }
.scanner-redesign .scanner-group-list strong { font-size: 11px; }
.scanner-redesign .scanner-group-list small { margin-top: 4px; font-size: 10px; }
.scanner-redesign .scanner-page-list { max-height: 465px; overflow-x: hidden; }
.scanner-redesign .scanner-page-list article { position: relative; min-height: 76px; grid-template-columns: 51px minmax(0,1fr) 32px; gap: 9px; padding: 8px; cursor: default; }
.scanner-redesign .scanner-page-thumb { width: 50px; height: 59px; }
.scanner-redesign .scanner-page-thumb b { min-width: 16px; height: 16px; font-size: 8px; }
.scanner-redesign .scanner-page-copy strong { font-size: 11px; }
.scanner-redesign .scanner-page-copy small { margin-top: 5px; font-size: 10px; }
.scanner-page-menu > summary { width: 30px; height: 30px; background: var(--panel); }
.scanner-page-menu > summary svg { width: 15px; height: 15px; }
.scanner-page-menu > div { top: 34px; width: 126px; }
.scanner-redesign .scanner-move-page { gap: 6px; padding: 10px; }
.scanner-redesign .scanner-move-page span { font-size: 10px; }
.scanner-redesign .scanner-move-page select { min-height: 36px; padding: 0 8px; font-size: 10px; }
.scanner-redesign :is(.scanner-split-page,.scanner-unassigned) { min-height: 36px; margin: 9px; padding: 0 10px; font-size: 10px; }

.scanner-redesign .scanner-preview { display: grid; grid-template-rows: auto minmax(0,1fr); }
.scanner-redesign .scanner-preview > header > div strong { margin: 0; font-size: 14px; }
.scanner-redesign .scanner-preview > header > div small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.scanner-redesign .scanner-preview > header nav { gap: 2px; padding: 4px; }
.scanner-redesign .scanner-preview > header nav button { min-height: 32px; gap: 5px; padding: 0 9px; font-size: 10px; }
.scanner-redesign .scanner-preview > header nav svg { width: 13px; height: 13px; }
.scanner-redesign .scanner-preview-stage { min-height: 590px; padding: 14px; align-content: center; }
.scanner-redesign .scanner-comparison { gap: 10px; }
.scanner-redesign .scanner-comparison figure { padding: 40px 10px 10px; }
.scanner-redesign .scanner-comparison figcaption { top: 9px; left: 9px; padding: 5px 7px; font-size: 10px; }
.scanner-redesign .scanner-comparison img { max-height: 570px; }
.scanner-redesign .scanner-single-preview img { max-height: 620px; }
.scanner-redesign .scanner-live-preview-badge { padding: 6px 8px; font-size: 10px; }
.scanner-redesign .scanner-preview-stage.mode-crop { padding: 6px; }
.scanner-redesign .scanner-preview-stage.mode-crop .scanner-crop-stage { gap: 5px; }
.scanner-redesign .scanner-crop-guidance > p { font-size: 10.5px; }
.scanner-redesign .scanner-crop-guidance button { min-height: 32px; padding: 0 9px; font-size: 9.5px; }
.scanner-redesign .scanner-ocr-preview > header strong { font-size: 12px; }
.scanner-redesign .scanner-ocr-preview > header small { font-size: 10px; }
.scanner-redesign .scanner-ocr-preview textarea { font-size: 12px; }
.scanner-preview-footer { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; background: var(--panel); }
.scanner-quality-summary { min-width: 0; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 9px; align-items: center; color: var(--green); }
.scanner-quality-summary.warning { color: var(--orange); }
.scanner-quality-summary > svg { width: 24px; height: 24px; padding: 4px; background: var(--green-wash); border-radius: 7px; }
.scanner-quality-summary.warning > svg { background: var(--warning); }
.scanner-quality-summary strong, .scanner-quality-summary small { display: block; }
.scanner-quality-summary strong { font-size: 11px; }
.scanner-quality-summary small { max-width: 440px; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.scanner-preview-footer > nav { display: flex; gap: 7px; flex: 0 0 auto; }
.scanner-preview-footer > nav button { min-height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 0 12px; color: var(--green); background: var(--soft); border: 1px solid var(--line); border-radius: 7px; font-size: 11px; font-weight: 650; }
.scanner-preview-footer > nav button.primary { color: var(--accent-ink); background: var(--lime); border-color: color-mix(in srgb,var(--green) 24%,var(--line)); }
.scanner-preview-footer > nav button.active { box-shadow: 0 0 0 2px color-mix(in srgb,var(--green) 18%,transparent); }
.scanner-preview-footer > nav svg { width: 15px; height: 15px; }

.scanner-inspector-backdrop { position: fixed; z-index: 70; inset: 0; background: rgba(7,18,12,.18); border: 0; cursor: default; backdrop-filter: blur(1px); }
.scanner-redesign .scanner-inspector { position: fixed; z-index: 71; top: 74px; right: 20px; bottom: 20px; width: min(420px,calc(100vw - 40px)); min-height: 0; display: block; overflow-y: auto; background: var(--panel); border: 1px solid var(--line-dark); border-radius: 11px; box-shadow: 0 24px 70px rgba(8,22,14,.24); }
.scanner-redesign .scanner-inspector > header { position: sticky; z-index: 4; top: 0; min-height: 68px; display: grid; grid-template-columns: minmax(0,1fr) auto 34px; gap: 8px; align-items: center; padding: 11px 12px; background: color-mix(in srgb,var(--panel) 94%,transparent); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.scanner-redesign .scanner-inspector > header > div { min-width: 0; }
.scanner-redesign .scanner-inspector > header > div > strong, .scanner-redesign .scanner-inspector > header > div > span > strong { margin: 0; font-size: 15px; }
.scanner-redesign .scanner-inspector > header > div > small, .scanner-redesign .scanner-inspector > header > div > span > small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.scanner-inspector-close { width: 32px; height: 32px; display: grid; place-items: center; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 7px; }
.scanner-inspector-close svg { width: 15px; height: 15px; }

.scanner-redesign .scanner-edit-panel { border: 1px solid var(--line-dark); }
.scanner-redesign .scanner-edit-panel > header { grid-template-columns: minmax(0,1fr) auto 34px; }
.scanner-redesign .scanner-edit-panel > header > div { grid-template-columns: 34px minmax(0,1fr); gap: 9px; }
.scanner-redesign .scanner-edit-panel > header > div > svg { width: 34px; height: 34px; padding: 8px; }
.scanner-redesign .scanner-live-state { margin: 0; padding: 5px 7px; font-size: 10px; }
.scanner-redesign .scanner-edit-panel > header nav { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-top: 3px; }
.scanner-redesign .scanner-edit-panel > header nav button { min-height: 36px; justify-content: center; gap: 5px; padding: 0 7px; font-size: 10px; }
.scanner-redesign .scanner-edit-panel > header nav svg { width: 14px; height: 14px; }
.scanner-redesign .scanner-preset-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 13px; }
.scanner-redesign .scanner-preset-picker > span { grid-column: 1/-1; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 2px 7px; margin: 0 0 2px; white-space: normal; }
.scanner-redesign .scanner-preset-picker > span svg { grid-row: 1/3; width: 16px; height: 16px; }
.scanner-redesign .scanner-preset-picker > span strong { color: var(--ink); font-size: 12px; }
.scanner-redesign .scanner-preset-picker > span small { color: var(--muted); font-size: 10px; }
.scanner-redesign .scanner-preset-picker > button { min-width: 0; min-height: 58px; padding: 9px 10px; border-radius: 7px; }
.scanner-redesign .scanner-preset-picker > button strong { font-size: 11px; }
.scanner-redesign .scanner-preset-picker > button small { margin-top: 5px; font-size: 10px; }
.scanner-redesign .scanner-fine-controls > summary { min-height: 54px; padding: 10px 13px; }
.scanner-redesign .scanner-fine-controls > summary > span { grid-template-columns: 20px auto minmax(0,1fr); }
.scanner-redesign .scanner-fine-controls > summary strong { font-size: 11px; }
.scanner-redesign .scanner-fine-controls > summary small { font-size: 10px; }
.scanner-redesign .scanner-adjustment-grid { grid-template-columns: 1fr; }
.scanner-redesign .scanner-adjustment-grid > section { padding: 14px; border-right: 0; border-bottom: 1px solid var(--line); }
.scanner-redesign .scanner-adjustment-title { grid-template-columns: 30px minmax(0,1fr); gap: 8px; margin-bottom: 9px; }
.scanner-redesign .scanner-adjustment-title > svg { width: 29px; height: 29px; padding: 6px; }
.scanner-redesign .scanner-adjustment-title strong { font-size: 12px; }
.scanner-redesign .scanner-adjustment-title small { font-size: 10px; }
.scanner-redesign .scanner-adjustment { padding: 10px 0; }
.scanner-redesign .scanner-adjustment strong { font-size: 11px; }
.scanner-redesign .scanner-adjustment small { font-size: 10px; }
.scanner-redesign .scanner-adjustment b { font-size: 10px; }
.scanner-redesign .scanner-adjustment input { height: 20px; margin-top: 7px; }
.scanner-redesign .scanner-content-alignment { grid-template-columns: 24px minmax(0,1fr); gap: 8px; padding: 9px; }
.scanner-redesign .scanner-content-alignment strong { font-size: 10.5px; }
.scanner-redesign .scanner-content-alignment small { font-size: 10px; }
.scanner-redesign .scanner-boundary-button { min-height: 52px; grid-template-columns: 25px minmax(0,1fr) 12px; padding: 8px 9px; }
.scanner-redesign .scanner-boundary-button strong { font-size: 10.5px; }
.scanner-redesign .scanner-boundary-button small { font-size: 10px; }
.scanner-mode-select { display: grid; grid-template-columns: minmax(0,1fr) 150px; gap: 10px; align-items: center; padding: 11px 13px; background: var(--soft); }
.scanner-mode-select > span { display: flex; align-items: center; gap: 7px; color: var(--ink); font-size: 11px; font-weight: 650; }
.scanner-mode-select svg { width: 15px; height: 15px; color: var(--green); }
.scanner-mode-select select { min-height: 36px; padding: 0 8px; color: var(--ink); background: var(--panel); border: 1px solid var(--line); border-radius: 6px; font-size: 10px; }
.scanner-redesign .scanner-edit-panel > footer { position: sticky; z-index: 3; bottom: 0; min-height: 66px; padding: 10px 12px; }
.scanner-redesign .scanner-apply-copy strong { font-size: 11px; }
.scanner-redesign .scanner-apply-copy small { margin-top: 4px; font-size: 10px; }
.scanner-redesign .scanner-apply-button { min-height: 38px; padding: 0 12px; font-size: 10.5px; }

.scanner-redesign .scanner-review { overflow-y: auto; }
.scanner-redesign .scanner-review > header > div strong { font-size: 15px; }
.scanner-redesign .scanner-review > header > div small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.scanner-redesign .scanner-review > header > i { padding: 5px 7px; font-size: 10px; }
.scanner-redesign .scanner-ai-insight, .scanner-redesign .scanner-suggestion { margin: 12px; padding: 12px; border-radius: 8px; }
.scanner-redesign .scanner-ai-insight { gap: 10px; }
.scanner-redesign .scanner-ai-insight > header { grid-template-columns: 34px minmax(0,1fr); gap: 9px; }
.scanner-redesign .scanner-ai-insight > header > svg { width: 32px; height: 32px; padding: 7px; }
.scanner-redesign .scanner-ai-insight strong { font-size: 11px; }
.scanner-redesign .scanner-ai-insight small { font-size: 10px; }
.scanner-redesign .scanner-ai-insight > p { font-size: 10px; line-height: 1.65; }
.scanner-redesign .scanner-ai-insight > div span { font-size: 10px; }
.scanner-redesign .scanner-ai-insight > button { min-height: 40px; font-size: 11px; }
.scanner-redesign .scanner-ai-insight > footer { gap: 6px; font-size: 10px; }
.scanner-redesign .scanner-suggestion { grid-template-columns: 30px minmax(0,1fr); gap: 9px; }
.scanner-redesign .scanner-suggestion span { font-size: 10px; }
.scanner-redesign .scanner-suggestion strong { margin-top: 4px; font-size: 11px; }
.scanner-redesign .scanner-suggestion p { margin-top: 5px; font-size: 10px; line-height: 1.55; }
.scanner-redesign .scanner-archive-form { gap: 11px; padding: 5px 13px 13px; }
.scanner-redesign .scanner-archive-form label > span, .scanner-redesign .scanner-extracted-fields label > span { margin-bottom: 6px; font-size: 10px; }
.scanner-redesign .scanner-archive-form :is(input,select,textarea), .scanner-redesign .scanner-extracted-fields input { min-height: 39px; padding: 0 10px; font-size: 11px; }
.scanner-redesign .scanner-archive-form textarea { min-height: 76px; padding-top: 9px; }
.scanner-redesign .scanner-form-row { gap: 9px; }
.scanner-redesign .scanner-review-details > summary { min-height: 46px; padding: 8px 0; }
.scanner-redesign .scanner-review-details > summary strong { font-size: 11px; }
.scanner-redesign .scanner-review-details > summary small { font-size: 10px; }
.scanner-redesign .scanner-extracted-fields > summary { padding: 9px 13px; }
.scanner-redesign .scanner-extracted-fields > div { gap: 9px; padding: 0 13px 13px; }
.scanner-redesign .scanner-extracted-fields > p { padding: 0 13px 14px; font-size: 10px; }
.scanner-redesign .scanner-commit-button { position: sticky; bottom: 0; width: calc(100% - 24px); min-height: 44px; margin: 12px; font-size: 11px; box-shadow: 0 -10px 24px var(--panel); }
.scanner-redesign .scanner-status-toast { min-height: 48px; font-size: 11px; }
.scanner-redesign .scanner-complete > p { font-size: 11px; }
.scanner-redesign .scanner-complete article strong { font-size: 11px; }
.scanner-redesign .scanner-complete article small, .scanner-redesign .scanner-complete article a { font-size: 10px; }

@media (max-width: 1020px) {
  .scanner-redesign .scanner-studio { grid-template-columns: 220px minmax(0,1fr); }
  .scanner-quality-summary small { max-width: 260px; }
  .scanner-redesign .scanner-preview > header { align-items: flex-start; flex-direction: column; }
  .scanner-redesign .scanner-preview > header nav { width: 100%; overflow-x: auto; }
}
@media (max-width: 760px) {
  .scanner-task-header { align-items: flex-start; }
  .scanner-task-header p { display: none; }
  .scanner-redesign .scanner-studio { grid-template-columns: 1fr; }
  .scanner-redesign .scanner-file-rail, .scanner-redesign .scanner-preview { min-height: 0; }
  .scanner-redesign .scanner-page-list { max-height: 240px; }
  .scanner-redesign .scanner-preview-stage { min-height: 430px; }
  .scanner-preview-footer { align-items: stretch; flex-direction: column; }
  .scanner-preview-footer > nav { width: 100%; }
  .scanner-preview-footer > nav button { flex: 1; justify-content: center; }
  .scanner-redesign .scanner-inspector { top: 58px; right: 10px; bottom: 10px; width: calc(100vw - 20px); }
}
@media (max-width: 520px) {
  .scanner-task-header { min-height: 68px; padding: 10px; }
  .scanner-task-header > div > span, .scanner-task-header p { display: none; }
  .scanner-task-header h2 { font-size: 15px; }
  .scanner-add-files { min-height: 36px; padding: 0 10px; }
  .scanner-task-menu > summary { width: 36px; height: 36px; }
  .scanner-redesign .scanner-preview-stage { min-height: 360px; padding: 8px; }
  .scanner-redesign .scanner-comparison { grid-template-columns: 1fr; }
  .scanner-quality-summary small { max-width: 240px; }
  .scanner-redesign .scanner-preset-picker { grid-template-columns: 1fr; }
  .scanner-redesign .scanner-preset-picker > span { grid-column: 1; }
  .scanner-redesign .scanner-form-row, .scanner-redesign .scanner-extracted-fields > div { grid-template-columns: 1fr; }
}

/* Scanner layout follow-up: horizontal files, topbar actions, inline edit sidebar */
.scanner-topbar-add { cursor: pointer; }
.scanner-topbar-add input { display: none; }
.scanner-topbar-menu > summary { width: 34px; height: 34px; background: var(--panel); }
.scanner-topbar-menu > div { top: 39px; }

.scanner-redesign .scanner-file-strip { min-height: 96px; display: flex; align-items: stretch; overflow: visible; }
.scanner-redesign .scanner-file-strip > header { width: 142px; min-height: 96px; flex: 0 0 142px; align-items: flex-start; padding: 14px 12px; border-right: 1px solid var(--line); border-bottom: 0; }
.scanner-redesign .scanner-file-strip > header > span { margin-top: 1px; }
.scanner-redesign .scanner-file-strip .scanner-group-list { width: 230px; flex: 0 0 230px; display: flex; align-items: stretch; gap: 6px; overflow-x: auto; padding: 8px; border-right: 1px solid var(--line); border-bottom: 0; }
.scanner-redesign .scanner-file-strip .scanner-group-list > button { min-width: 212px; min-height: 78px; margin: 0; }
.scanner-redesign .scanner-file-strip .scanner-page-list { min-width: 360px; max-height: none; flex: 1 1 auto; display: flex; overflow-x: auto; overflow-y: visible; }
.scanner-redesign .scanner-file-strip .scanner-page-list article { width: 190px; min-width: 190px; min-height: 95px; flex: 0 0 190px; grid-template-columns: 49px minmax(0,1fr) 30px; border-right: 1px solid var(--line); border-bottom: 0; }
.scanner-redesign .scanner-file-strip .scanner-page-thumb { width: 48px; height: 62px; }
.scanner-redesign .scanner-file-strip .scanner-unassigned { flex: 0 0 auto; align-self: center; white-space: nowrap; }
.scanner-redesign .scanner-file-strip .scanner-move-page { width: 174px; flex: 0 0 174px; align-content: center; border-top: 0; border-left: 1px solid var(--line); }
.scanner-redesign .scanner-file-strip .scanner-split-page { min-width: 148px; flex: 0 0 148px; align-self: center; justify-content: center; white-space: nowrap; }

.scanner-redesign .scanner-studio { position: relative; min-height: 720px; display: block; padding-right: 352px; }
.scanner-redesign .scanner-preview { position: static; width: 100%; min-height: 720px; }
.scanner-redesign .scanner-inspector { position: absolute; z-index: 4; top: 0; right: 0; bottom: 0; width: 340px; min-height: 720px; max-height: 100%; overflow-y: auto; border: 1px solid var(--line); border-radius: 9px; box-shadow: none; }
.scanner-redesign .scanner-inspector > header { position: relative; top: auto; grid-template-columns: minmax(0,1fr) auto; border-radius: 0; backdrop-filter: none; }
.scanner-redesign .scanner-edit-panel > header { grid-template-columns: minmax(0,1fr) auto; }
.scanner-inspector-tabs { position: sticky; z-index: 7; top: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 6px; background: color-mix(in srgb,var(--panel) 94%,transparent); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.scanner-inspector-tabs button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: var(--muted); background: transparent; border-radius: 6px; font-size: 10px; font-weight: 650; }
.scanner-inspector-tabs button:hover, .scanner-inspector-tabs button.active { color: var(--green); background: var(--green-wash); }
.scanner-inspector-tabs svg { width: 14px; height: 14px; }
.scanner-redesign .scanner-edit-panel > header nav { grid-column: 1/-1; }
.scanner-redesign .scanner-preset-picker { grid-template-columns: 1fr; }
.scanner-redesign .scanner-preset-picker > span { grid-column: 1; }
.scanner-redesign .scanner-adjustment-grid { grid-template-columns: 1fr; }
.scanner-redesign .scanner-preview-footer { min-height: 64px; }
.scanner-redesign .scanner-preview-footer > nav { display: none; }

@media (max-width: 1100px) {
  .scanner-redesign .scanner-studio { padding-right: 312px; }
  .scanner-redesign .scanner-inspector { width: 300px; }
  .scanner-redesign .scanner-file-strip > header { width: 128px; flex-basis: 128px; }
  .scanner-redesign .scanner-file-strip .scanner-group-list { width: 205px; flex-basis: 205px; }
  .scanner-redesign .scanner-file-strip .scanner-group-list > button { min-width: 188px; }
}
@media (max-width: 900px) {
  .scanner-redesign .scanner-file-strip { overflow-x: auto; }
  .scanner-redesign .scanner-file-strip > header { position: sticky; z-index: 3; left: 0; background: var(--panel); }
  .scanner-redesign .scanner-studio { padding-right: 0; }
  .scanner-redesign .scanner-preview { position: relative; }
  .scanner-redesign .scanner-inspector { position: static; width: 100%; min-height: 0; max-height: none; margin-top: 12px; }
}

/* Direct document canvas with mouse, wheel and pinch navigation */
.scanner-redesign .scanner-preview-stage:is(.mode-scan,.mode-original) { padding: 0; place-items: stretch; background: color-mix(in srgb,var(--soft) 86%,var(--line)); border-bottom: 0; }
.scanner-redesign .scanner-single-preview { width: 100%; height: 100%; min-height: 0; padding: 0; overflow: hidden; background: transparent; border: 0; border-radius: 0; }
.scanner-image-viewport { position: relative; width: 100%; height: 100%; min-height: inherit; display: grid; place-items: center; overflow: hidden; cursor: grab; touch-action: none; user-select: none; overscroll-behavior: contain; }
.scanner-single-preview > .scanner-image-viewport,
.scanner-comparison figure > .scanner-image-viewport {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  min-height: 0;
}
.scanner-image-viewport.dragging { cursor: grabbing; }
.scanner-image-transform {
  position: absolute;
  inset: auto;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
  transform-origin: center;
  will-change: transform;
}
.scanner-image-transform > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  object-fit: contain;
  pointer-events: none;
  box-shadow: none;
  -webkit-user-drag: none;
}
.scanner-single-preview .scanner-image-viewport { height: 100%; min-height: 0; }
.scanner-single-preview .scanner-image-transform > img {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  object-fit: contain;
}
.scanner-comparison .scanner-image-viewport { min-height: 500px; }
.scanner-zoom-reset { position: absolute; z-index: 4; right: 10px; bottom: 10px; min-height: 30px; display: inline-flex; align-items: center; gap: 5px; padding: 0 8px; color: var(--muted); background: color-mix(in srgb,var(--panel) 90%,transparent); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 4px 14px rgba(9,23,15,.1); font: 600 9px/1 "DM Mono",monospace; backdrop-filter: blur(8px); }
.scanner-zoom-reset:hover { color: var(--green); border-color: var(--green-2); }
.scanner-zoom-reset svg { width: 12px; height: 12px; }

@media (max-width: 760px) {
  .scanner-redesign .scanner-single-preview { min-height: 430px; }
  .scanner-comparison .scanner-image-viewport { min-height: 390px; }
}

/* Compact logical-document and page strip */
.scanner-redesign .scanner-file-strip { min-height: 88px; align-items: stretch; background: var(--panel); }
.scanner-redesign .scanner-file-strip > header { width: 270px; min-height: 88px; flex: 0 0 270px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px 14px; }
.scanner-redesign .scanner-file-strip > header > div { min-width: 0; }
.scanner-redesign .scanner-file-strip > header > div > span { display: block; margin: 0 0 4px; color: var(--green-2); font: 650 9px/1.3 "Noto Sans SC",sans-serif; letter-spacing: .04em; }
.scanner-redesign .scanner-file-strip > header > div > strong { max-width: 100%; margin: 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.scanner-redesign .scanner-file-strip > header > div > small { display: block; margin-top: 5px; color: var(--muted); font-size: 9.5px; }
.scanner-redesign .scanner-file-strip > header > select { width: 104px; height: 34px; padding: 0 24px 0 8px; color: var(--ink); background: var(--soft); border: 1px solid var(--line); border-radius: 7px; font-size: 9px; cursor: pointer; }
.scanner-redesign .scanner-file-strip .scanner-page-list { min-width: 0; flex: 1 1 auto; align-items: stretch; background: color-mix(in srgb,var(--soft) 62%,var(--panel)); }
.scanner-redesign .scanner-file-strip .scanner-page-list article { width: 220px; min-width: 220px; min-height: 87px; flex: 0 0 220px; grid-template-columns: 47px minmax(0,1fr) 30px; gap: 9px; padding: 8px 9px; background: var(--panel); }
.scanner-redesign .scanner-file-strip .scanner-page-list article.active { background: var(--green-wash); box-shadow: inset 0 -3px var(--green); }
.scanner-redesign .scanner-file-strip .scanner-page-thumb { width: 46px; height: 59px; }
.scanner-redesign .scanner-file-strip .scanner-page-copy strong { font-size: 10.5px; }
.scanner-redesign .scanner-file-strip .scanner-page-copy small { margin-top: 5px; font-size: 9.5px; }
.scanner-redesign .scanner-file-strip .scanner-unassigned { min-height: 34px; margin: auto 9px; }
.scanner-redesign .scanner-file-strip .scanner-move-page { width: 165px; flex-basis: 165px; padding: 10px; }

@media (max-width: 1100px) {
  .scanner-redesign .scanner-file-strip > header { width: 235px; flex-basis: 235px; }
  .scanner-redesign .scanner-file-strip .scanner-page-list article { width: 205px; min-width: 205px; flex-basis: 205px; }
}
@media (max-width: 700px) {
  .scanner-redesign .scanner-file-strip > header { width: 205px; flex-basis: 205px; }
}

/* Dense scanner controls: keep actions, remove repetitive instructional copy */
.scanner-redesign .scanner-studio { padding-right: 304px; }
.scanner-redesign .scanner-inspector { width: 292px; }
.scanner-inspector-tabs { gap: 3px; padding: 4px; }
.scanner-inspector-tabs button { min-height: 32px; font-size: 9.5px; }
.scanner-redesign .scanner-edit-toolbar { min-height: 46px; display: block; padding: 6px; background: var(--soft); }
.scanner-redesign .scanner-edit-toolbar > nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; margin: 0; }
.scanner-redesign .scanner-edit-toolbar > nav button { min-height: 32px; padding: 0 4px; font-size: 9px; }
.scanner-redesign .scanner-edit-toolbar > nav svg { width: 13px; height: 13px; }
.scanner-redesign .scanner-preset-picker { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 8px; }
.scanner-redesign .scanner-preset-picker > span { grid-column: 1/-1; grid-template-columns: 16px minmax(0,1fr); margin: 0; }
.scanner-redesign .scanner-preset-picker > span svg { grid-row: auto; width: 14px; height: 14px; }
.scanner-redesign .scanner-preset-picker > span strong { font-size: 10px; }
.scanner-redesign .scanner-preset-picker > button { min-height: 36px; padding: 0 8px; text-align: center; }
.scanner-redesign .scanner-preset-picker > button strong { font-size: 10px; }
.scanner-redesign .scanner-fine-controls > summary { min-height: 42px; padding: 8px 10px; }
.scanner-redesign .scanner-fine-controls > summary > span { grid-template-columns: 17px auto; gap: 6px; }
.scanner-redesign .scanner-fine-controls > summary strong { font-size: 10px; }
.scanner-redesign .scanner-adjustment-grid > section { padding: 9px 10px; }
.scanner-redesign .scanner-adjustment-title { grid-template-columns: 24px minmax(0,1fr); gap: 7px; margin-bottom: 5px; }
.scanner-redesign .scanner-adjustment-title > svg { width: 24px; height: 24px; padding: 5px; }
.scanner-redesign .scanner-adjustment-title strong { font-size: 10.5px; }
.scanner-redesign .scanner-adjustment-title small,
.scanner-redesign .scanner-adjustment small,
.scanner-redesign .scanner-content-alignment small,
.scanner-redesign .scanner-boundary-button small { display: none; }
.scanner-redesign .scanner-adjustment { padding: 7px 0; }
.scanner-redesign .scanner-adjustment > span { grid-template-columns: minmax(0,1fr) auto; }
.scanner-redesign .scanner-adjustment strong { font-size: 10px; }
.scanner-redesign .scanner-adjustment b { grid-column: 2; font-size: 9px; }
.scanner-redesign .scanner-adjustment input { height: 16px; margin-top: 4px; }
.scanner-redesign .scanner-content-alignment { min-height: 36px; grid-template-columns: 20px minmax(0,1fr); gap: 6px; margin-bottom: 4px; padding: 6px 7px; }
.scanner-redesign .scanner-content-alignment strong { font-size: 9.5px; }
.scanner-redesign .scanner-boundary-button { min-height: 40px; grid-template-columns: 22px minmax(0,1fr) 11px; padding: 6px 8px; }
.scanner-redesign .scanner-boundary-button strong { font-size: 10px; }
.scanner-mode-select { grid-template-columns: minmax(0,1fr) 126px; padding: 8px 10px; }
.scanner-mode-select > span { font-size: 10px; }
.scanner-mode-select select { min-height: 32px; font-size: 9.5px; }
.scanner-redesign .scanner-edit-panel > footer { min-height: 52px; justify-content: stretch; padding: 7px 8px; }
.scanner-redesign .scanner-apply-button { width: 100%; min-height: 38px; justify-content: center; }

@media (max-width: 1100px) {
  .scanner-redesign .scanner-studio { padding-right: 288px; }
  .scanner-redesign .scanner-inspector { width: 276px; }
}
@media (max-width: 900px) {
  .scanner-redesign .scanner-studio { padding-right: 0; }
  .scanner-redesign .scanner-inspector { width: 100%; }
}

/* Keep the scanner as a viewport-sized workspace instead of a scrolling page. */
.view-frame.scanner-view-frame {
  height: calc(100dvh - 62px);
  min-height: 0;
  box-sizing: border-box;
  padding-top: 18px;
  padding-bottom: 18px;
  overflow: hidden;
}

.scanner-view-frame > :is(.scanner-redesign, .scanner-complete) {
  height: 100%;
  min-height: 0;
}

.scanner-view-frame > .scanner-redesign:has(.scanner-file-strip) {
  grid-template-rows: 64px minmax(0, 1fr);
}

.scanner-redesign .scanner-file-strip {
  height: 64px;
  min-height: 0;
  overflow: hidden;
}

.scanner-view-frame > .scanner-redesign:not(:has(.scanner-file-strip)) {
  grid-template-rows: minmax(0, 1fr);
}

.scanner-redesign .scanner-file-strip > header {
  width: 132px;
  min-height: 64px;
  flex: 0 0 132px;
  display: flex;
  padding: 8px;
}

.scanner-redesign .scanner-file-strip > header > select {
  width: 100%;
  height: 34px;
}

.scanner-redesign .scanner-file-strip .scanner-page-list article {
  width: 190px;
  min-width: 190px;
  min-height: 63px;
  flex-basis: 190px;
  grid-template-columns: 38px minmax(0, 1fr) 26px;
  gap: 7px;
  padding: 6px 7px;
}

.scanner-redesign .scanner-file-strip .scanner-page-thumb {
  width: 38px;
  height: 50px;
}

.scanner-redesign .scanner-file-strip .scanner-page-copy strong {
  font-size: 10px;
}

.scanner-redesign .scanner-file-strip .scanner-page-copy small {
  margin-top: 3px;
  font-size: 9px;
}

.scanner-redesign .scanner-file-strip .scanner-page-list {
  overflow-x: auto;
  overflow-y: hidden;
}

.scanner-redesign .scanner-studio,
.scanner-redesign .scanner-preview,
.scanner-redesign .scanner-preview-stage,
.scanner-redesign .scanner-inspector {
  height: 100%;
  min-height: 0;
}

.scanner-redesign .scanner-studio,
.scanner-redesign .scanner-preview {
  overflow: hidden;
}

.scanner-redesign .scanner-comparison,
.scanner-redesign .scanner-comparison figure,
.scanner-redesign .scanner-comparison .scanner-image-viewport {
  height: 100%;
  min-height: 0;
}

.scanner-redesign .scanner-dropzone {
  height: 100%;
  min-height: 0;
}

@media (max-width: 900px) {
  .view-frame.scanner-view-frame {
    height: calc(100dvh - 62px);
    padding: 12px;
  }

  .scanner-redesign .scanner-studio {
    overflow-x: hidden;
    overflow-y: auto;
  }

  .scanner-redesign .scanner-preview,
  .scanner-redesign .scanner-inspector {
    height: auto;
  }

  .scanner-redesign .scanner-inspector {
    max-height: none;
    overflow-y: visible;
  }
}

/* Give every image mode a definite canvas; avoid percentage-height collapse. */
.scanner-redesign .scanner-preview-stage {
  position: relative;
}

.scanner-redesign .scanner-preview-stage.mode-compare > .scanner-comparison {
  position: absolute;
  inset: 10px;
  width: auto;
  height: auto;
  align-items: stretch;
}

.scanner-redesign .scanner-preview-stage.mode-compare > .scanner-comparison > figure {
  width: auto;
  height: auto;
  min-height: 0;
  align-self: stretch;
}

.scanner-redesign .scanner-preview-stage:is(.mode-scan, .mode-original) > .scanner-single-preview {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  min-height: 0;
}

/* Final compact in-flow preview mode bar. */
.scanner-redesign .scanner-preview {
  grid-template-rows: 44px minmax(0, 1fr);
}

.scanner-redesign .scanner-preview > header {
  position: relative;
  z-index: 1;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  justify-content: space-between;
  padding: 4px 6px 4px 10px;
  background: color-mix(in srgb, var(--panel) 42%, transparent);
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 66%, transparent);
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: blur(8px) saturate(1.03);
}

.scanner-redesign .scanner-preview > header > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  white-space: nowrap;
}

.scanner-redesign .scanner-preview > header > div strong {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scanner-redesign .scanner-preview > header > div small {
  flex: 0 0 auto;
  margin: 0;
  font-size: 9px;
  line-height: 1;
  white-space: nowrap;
}

.scanner-redesign .scanner-preview > header > div small::before {
  margin-right: 6px;
  color: var(--line-dark);
  content: "·";
}

.scanner-redesign .scanner-preview > header nav {
  width: min(360px, 58%);
  max-width: 360px;
  min-width: 280px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 2px;
  background: color-mix(in srgb, var(--soft) 54%, transparent);
  border-color: color-mix(in srgb, var(--line) 62%, transparent);
}

.scanner-redesign .scanner-preview > header nav button {
  min-width: 0;
  justify-content: center;
  min-height: 30px;
  padding: 0 8px;
  font-size: 9.5px;
}

.scanner-redesign .scanner-preview > header nav button + button {
  border-left: 1px solid color-mix(in srgb, var(--line) 58%, transparent);
}

@media (max-width: 760px) {
  .scanner-redesign .scanner-preview > header nav {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
}

.scanner-redesign .scanner-preview > header nav svg {
  width: 12px;
  height: 12px;
}

/* Compact, resettable fine-adjustment inspector. */
.scanner-redesign .scanner-fine-controls > summary {
  min-height: 34px;
  padding: 5px 8px;
}

.scanner-redesign .scanner-adjustment-grid > section {
  padding: 6px 2px 6px 12px;
}

.scanner-redesign .scanner-adjustment-grid > section + section {
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}

.scanner-redesign .scanner-adjustment-title {
  display: flex;
  align-items: center;
  min-height: 24px;
  margin: 0;
}

.scanner-redesign .scanner-adjustment-title > svg {
  width: 20px;
  height: 20px;
  padding: 4px;
}

.scanner-redesign .scanner-adjustment-title strong {
  font-size: 10px;
  line-height: 20px;
}

.scanner-redesign .scanner-adjustment {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 29px;
  padding: 3px 0;
}

.scanner-redesign .scanner-adjustment > .scanner-adjustment-label {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 20px;
  line-height: 20px;
}

.scanner-redesign .scanner-adjustment > .scanner-adjustment-value {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  min-width: 34px;
}

.scanner-redesign .scanner-adjustment-value b {
  line-height: 20px;
  text-align: right;
  white-space: nowrap;
}

.scanner-adjustment-reset,
.scanner-mode-select > button {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  color: var(--green);
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 5px;
}

.scanner-adjustment-reset {
  grid-column: auto;
  width: 10px;
  height: 10px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  opacity: .55;
}

.scanner-adjustment-reset svg,
.scanner-mode-select > button svg {
  width: 10px;
  height: 10px;
}

.scanner-adjustment-reset:not(:disabled):hover {
  color: var(--green);
  background: transparent;
  opacity: 1;
}

.scanner-adjustment-reset:disabled,
.scanner-mode-select > button:disabled {
  color: var(--muted);
  opacity: .42;
}

.scanner-redesign .scanner-adjustment input {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 16px;
  margin: 0;
}

.scanner-redesign .scanner-adjustment-grid > section:first-child {
  display: block;
}

.scanner-redesign .scanner-adjustment-grid > section:first-child > :is(.scanner-adjustment-title, .scanner-adjustment, .scanner-boundary-button) {
  grid-column: auto;
}

.scanner-redesign .scanner-preset-picker {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  padding: 6px 8px;
}

.scanner-redesign .scanner-preset-picker > span {
  grid-column: auto;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 4px;
}

.scanner-redesign .scanner-preset-picker > button {
  min-height: 52px;
  display: grid;
  grid-template-rows: 30px auto;
  gap: 3px;
  overflow: hidden;
  padding: 3px;
  text-align: center;
}

.scanner-redesign .scanner-preset-picker > button strong {
  overflow: hidden;
  font-size: 9px;
  line-height: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scanner-preset-thumb {
  position: relative;
  width: 100%;
  height: 30px;
  display: block;
  overflow: hidden;
  background: var(--preview-surface);
  border-radius: 3px;
}

.scanner-preset-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 38%;
}

.scanner-preset-thumb.preset-fidelity img {
  filter: contrast(.96) saturate(1.04);
}

.scanner-preset-thumb.preset-balanced img {
  filter: brightness(1.1) contrast(1.08) saturate(.82);
}

.scanner-preset-thumb.preset-clean-color img {
  filter: brightness(1.24) contrast(1.16) saturate(1.08);
}

.scanner-preset-thumb.preset-clean img {
  filter: grayscale(1) brightness(1.32) contrast(1.55);
}

.scanner-redesign .scanner-inspector {
  overflow-x: hidden;
}

.scanner-redesign :is(.scanner-fine-controls, .scanner-adjustment-grid, .scanner-adjustment-grid > section) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.scanner-redesign .scanner-content-alignment {
  min-height: 30px;
  grid-template-columns: 17px minmax(0, 1fr);
  gap: 4px;
  margin: 2px 0 4px;
  padding: 4px 5px;
}

.scanner-redesign .scanner-content-alignment strong {
  font-size: 8.5px;
}

.scanner-redesign .scanner-boundary-button {
  min-height: 34px;
  padding: 5px 7px;
}

.scanner-mode-select {
  grid-template-columns: auto minmax(0, 1fr) 10px;
  gap: 5px;
  padding: 6px 2px 6px 12px;
}

.scanner-mode-select select {
  width: 100%;
  min-width: 0;
  min-height: 30px;
}

.scanner-mode-select > button {
  width: 10px;
  min-width: 0;
  height: 10px;
  min-height: 0;
  padding: 0;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  opacity: .55;
}

.scanner-mode-select > button:not(:disabled):hover {
  color: var(--green);
  background: transparent;
  opacity: 1;
}

/* Comparison is one continuous canvas split into two equal panes. */
.scanner-redesign .scanner-preview-stage.mode-compare {
  padding: 0;
  background: var(--preview-surface);
}

.scanner-redesign .scanner-preview-stage.mode-compare > .scanner-comparison {
  inset: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.scanner-redesign .scanner-preview-stage.mode-compare > .scanner-comparison > figure {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.scanner-redesign .scanner-preview-stage.mode-compare > .scanner-comparison > figure + figure {
  border-left: 1px solid var(--line);
}

.scanner-redesign .scanner-preview-stage.mode-compare .scanner-image-viewport {
  inset: 0;
}

.scanner-redesign .scanner-preview-stage.mode-compare figcaption {
  top: 8px;
  left: 8px;
}

/* Boundary markers stay visually tiny; the pseudo element supplies the drag target. */
.scanner-redesign .scanner-crop-editor > button.corner {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  width: 9px;
  height: 9px;
  background: color-mix(in srgb, var(--lime) 42%, transparent);
  border-width: 1px;
  box-shadow: none;
  opacity: .62;
}

.scanner-redesign .scanner-crop-editor > button.edge {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  width: 7px;
  height: 7px;
  background: color-mix(in srgb, var(--panel) 35%, transparent);
  border-width: 1px;
  box-shadow: none;
  opacity: .52;
}

.scanner-redesign .scanner-crop-editor > button:is(:hover, :focus-visible, :active) {
  opacity: .78;
  scale: 1;
}

.scanner-boundary-inset {
  width: 126px;
  flex: 0 0 126px;
  display: grid;
  gap: 2px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.2;
}

.scanner-boundary-inset > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.scanner-boundary-inset b {
  color: var(--green);
  font: 600 8px/1 "DM Mono", monospace;
}

.scanner-boundary-inset input {
  width: 100%;
  height: 14px;
  margin: 0;
  accent-color: var(--green);
  cursor: pointer;
}

/* Refine control proportions after the compact inspector pass. */
.scanner-redesign .scanner-preview > header nav button {
  min-height: 27px;
  padding: 0 6px;
  font-size: 10px;
}

.scanner-redesign .scanner-preview > header nav svg {
  width: 13px;
  height: 13px;
}

.scanner-redesign .scanner-edit-toolbar {
  min-height: 38px;
  padding: 4px;
}

.scanner-redesign .scanner-edit-toolbar > nav button {
  min-height: 28px;
  font-size: 9.5px;
}

.scanner-redesign .scanner-preset-picker {
  gap: 5px;
  padding: 7px;
}

.scanner-redesign .scanner-preset-picker > button {
  aspect-ratio: 1;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) 13px;
  gap: 3px;
  padding: 4px;
  border-radius: 6px;
}

.scanner-redesign .scanner-preset-picker > button.active {
  background: var(--green-wash);
  border-color: var(--green);
  box-shadow: inset 0 0 0 1px var(--green);
}

.scanner-redesign .scanner-preset-thumb {
  position: absolute;
  inset: 3px;
  width: auto;
  height: auto;
  min-height: 0;
  border-radius: 4px;
}

.scanner-redesign .scanner-preset-thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: none;
  height: auto;
  object-fit: initial;
  transform: translate(-50%, -50%) scale(.1);
  transform-origin: center;
}

.scanner-redesign .scanner-preset-picker > button {
  position: relative;
  display: block;
}

.scanner-redesign .scanner-preset-picker > button strong {
  position: absolute;
  z-index: 2;
  right: 3px;
  bottom: 3px;
  left: 3px;
  padding: 3px 2px;
  color: var(--ink);
  background: color-mix(in srgb, var(--panel) 84%, transparent);
  border-radius: 0 0 4px 4px;
  backdrop-filter: blur(5px);
}

.scanner-redesign .scanner-edit-panel.scanner-inspector {
  display: flex;
  flex-direction: column;
}

.scanner-redesign .scanner-edit-panel > footer {
  position: sticky;
  z-index: 8;
  bottom: 0;
  flex: 0 0 auto;
  margin-top: auto;
}

/* Enterprise mail: private IMAP/SMTP client inside the company workspace. */
.view-frame.mail-view-frame { max-width: 1760px; height: calc(100dvh - 62px); padding: 16px 18px 20px; overflow: hidden; }
.workspace-mail-shell { height: 100%; min-height: 610px; display: grid; grid-template-columns: clamp(168px, 15vw, 195px) clamp(300px, 28vw, 350px) minmax(0, 1fr); color: var(--ink); background: var(--panel); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); overflow: hidden; }
.workspace-mail-shell button, .workspace-mail-shell input, .workspace-mail-shell textarea { font: inherit; }
.workspace-mail-folders { min-width: 0; display: flex; flex-direction: column; padding: 16px 12px; background: var(--soft); border-right: 1px solid var(--line); }
.workspace-mail-folders > header { min-height: 67px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 2px 5px 12px; border-bottom: 1px solid var(--line); }
.workspace-mail-folders > header div { min-width: 0; }
.workspace-mail-folders > header span, .workspace-mail-folders > header strong, .workspace-mail-folders > header small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-mail-folders > header span { color: var(--green); font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.workspace-mail-folders > header strong { margin-top: 4px; font-size: 11px; }
.workspace-mail-folders > header small { margin-top: 3px; color: var(--muted); font: 400 9px/1.3 "DM Mono", monospace; }
.workspace-mail-folders > header i { width: 25px; height: 25px; display: grid; flex: 0 0 auto; place-items: center; color: var(--green); background: var(--green-wash); border-radius: 6px; }
.workspace-mail-folders > header i svg { width: 13px; height: 13px; }
.workspace-mail-folders nav { min-height: 0; display: grid; align-content: start; gap: 3px; margin-top: 12px; overflow-y: auto; }
.workspace-mail-folders nav button { min-height: 34px; display: grid; grid-template-columns: 19px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 0 8px; color: var(--muted); background: transparent; border-radius: 6px; text-align: left; font-size: 10px; }
.workspace-mail-folders nav button:hover, .workspace-mail-folders nav button.active { color: var(--ink); background: var(--panel); }
.workspace-mail-folders nav button.active { box-shadow: inset 2px 0 var(--green); }
.workspace-mail-folders nav svg { width: 14px; height: 14px; stroke-width: 1.8; }
.workspace-mail-folders nav span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-mail-folders nav b { min-width: 20px; padding: 2px 5px; color: var(--green); background: var(--green-wash); border-radius: 10px; font: 600 9px/1.3 "DM Mono", monospace; text-align: center; }
.workspace-mail-list { min-width: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); border-right: 1px solid var(--line); overflow: hidden; }
.workspace-mail-list > header { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 13px; border-bottom: 1px solid var(--line); }
.workspace-mail-list > header div { min-width: 0; }
.workspace-mail-list > header strong, .workspace-mail-list > header small { display: block; }
.workspace-mail-list > header strong { font-size: 12px; }
.workspace-mail-list > header small { margin-top: 2px; color: var(--muted); font: 400 9px/1.3 "DM Mono", monospace; }
.workspace-mail-list > header > button { width: 28px; height: 28px; display: grid; place-items: center; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 6px; }
.workspace-mail-list > header > button:hover { color: var(--green); background: var(--green-wash); }
.workspace-mail-list > header svg { width: 13px; height: 13px; }
.workspace-mail-search { min-height: 41px; display: flex; align-items: center; gap: 7px; margin: 9px 11px; padding: 0 9px; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.workspace-mail-search:focus-within { border-color: var(--green); box-shadow: 0 0 0 2px var(--green-wash); }
.workspace-mail-search > svg { width: 13px; height: 13px; flex: 0 0 auto; }
.workspace-mail-search input { min-width: 0; flex: 1; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 10px; }
.workspace-mail-search button { width: 21px; height: 21px; display: grid; place-items: center; color: var(--muted); background: transparent; border-radius: 4px; }
.workspace-mail-search button svg { width: 11px; height: 11px; }
.workspace-mail-message-list { min-height: 0; overflow-y: auto; }
.workspace-mail-message-list > button { position: relative; width: 100%; min-height: 77px; display: grid; grid-template-columns: 33px minmax(0, 1fr) auto; align-items: start; gap: 9px; padding: 12px 11px; color: var(--ink); background: transparent; border-bottom: 1px solid var(--line); text-align: left; }
.workspace-mail-message-list > button:hover, .workspace-mail-message-list > button.active { background: var(--soft); }
.workspace-mail-message-list > button.active { box-shadow: inset 3px 0 var(--green); }
.workspace-mail-message-list > button.unread::after { content: ""; position: absolute; top: 18px; right: 9px; width: 6px; height: 6px; background: var(--green); border-radius: 50%; }
.workspace-mail-avatar { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; color: var(--green); background: var(--green-wash); border: 1px solid var(--line); border-radius: 50%; font: 700 11px/1 "DM Mono", monospace; }
.workspace-mail-summary { min-width: 0; display: block; }
.workspace-mail-summary > span { display: flex; justify-content: space-between; gap: 8px; }
.workspace-mail-summary strong, .workspace-mail-summary b, .workspace-mail-summary small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-mail-summary strong { min-width: 0; font-size: 10px; font-weight: 550; }
.workspace-mail-message-list > button.unread .workspace-mail-summary strong, .workspace-mail-message-list > button.unread .workspace-mail-summary b { font-weight: 800; }
.workspace-mail-summary time { flex: 0 0 auto; padding-right: 9px; color: var(--muted); font: 400 9px/1.4 "DM Mono", monospace; }
.workspace-mail-summary b { margin-top: 5px; font-size: 10px; }
.workspace-mail-summary small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.workspace-mail-message-list > button > svg { width: 12px; height: 12px; margin-top: 24px; color: var(--muted); }
.workspace-mail-message-list > .workspace-mail-load-more { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #416258; background: rgba(255, 255, 255, .46); font-size: 12px; font-weight: 700; text-align: center; }
.workspace-mail-message-list > .workspace-mail-load-more:hover { background: rgba(229, 241, 235, .82); box-shadow: none; }
.workspace-mail-message-list > .workspace-mail-load-more > svg { width: 14px; height: 14px; margin: 0; }
.workspace-mail-detail { min-width: 0; min-height: 0; overflow-y: auto; }
.workspace-mail-detail-empty, .workspace-mail-state { min-height: 100%; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 28px; color: var(--muted); text-align: center; }
.workspace-mail-detail-empty > svg, .workspace-mail-state > svg { width: 31px; height: 31px; color: var(--green); stroke-width: 1.4; }
.workspace-mail-detail-empty strong, .workspace-mail-state strong { color: var(--ink); font-size: 11px; }
.workspace-mail-detail-empty span { max-width: 330px; font-size: 10px; line-height: 1.6; }
.workspace-mail-detail-head { min-height: 112px; display: grid; grid-template-columns: minmax(0, 1fr); align-content: center; gap: 12px; padding: 16px 20px 14px; border-bottom: 1px solid var(--line); }
.workspace-mail-detail-head > div { min-width: 0; flex: 1; }
.workspace-mail-detail-head > div > span { color: var(--green); font-size: 9px; font-weight: 700; }
.workspace-mail-detail-head h2 { width: 100%; margin: 5px 0 0; font: 700 clamp(16px, 1.35vw, 20px)/1.3 var(--font-sans, sans-serif); letter-spacing: -.02em; overflow-wrap: anywhere; }
.workspace-mail-detail-head nav { min-width: 0; display: flex; flex: 0 0 auto; gap: 5px; overflow-x: auto; }
.workspace-mail-detail-head nav button { min-height: 31px; display: flex; align-items: center; gap: 5px; padding: 0 9px; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 6px; font-size: 9px; }
.workspace-mail-detail-head nav button:hover { color: var(--green); border-color: var(--green); }
.workspace-mail-detail-head nav svg { width: 12px; height: 12px; }
.workspace-mail-detail-back { display: none; }
.workspace-mail-addresses { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 5px 10px; padding: 16px 21px 12px; }
.workspace-mail-addresses > div { min-width: 0; flex: 1; }
.workspace-mail-addresses strong, .workspace-mail-addresses small { display: block; }
.workspace-mail-addresses strong { font-size: 10px; }
.workspace-mail-addresses small { margin-top: 3px; color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
.workspace-mail-addresses > time { grid-column: 2; color: var(--muted); font: 400 9px/1.4 "DM Mono", monospace; }
.workspace-mail-addresses details { margin-top: 6px; color: var(--muted); font-size: 9px; }
.workspace-mail-addresses summary { cursor: pointer; }
.workspace-mail-addresses dl { display: grid; gap: 4px; margin: 7px 0 0; }
.workspace-mail-addresses dl div { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 5px; }
.workspace-mail-addresses dt, .workspace-mail-addresses dd { margin: 0; overflow-wrap: anywhere; }
.workspace-mail-addresses dt { color: var(--muted); }
.workspace-mail-addresses dd { color: var(--ink); }
.workspace-mail-body { min-height: 260px; margin: 0; padding: 16px 22px 28px; color: var(--ink); background: transparent; border: 0; font: 400 12px/1.8 var(--font-sans, sans-serif); white-space: pre-wrap; overflow-wrap: anywhere; }
.workspace-mail-attachments { margin: 0 21px 22px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.workspace-mail-attachments > header { min-height: 38px; display: flex; align-items: center; gap: 7px; padding: 0 11px; background: var(--soft); border-bottom: 1px solid var(--line); }
.workspace-mail-attachments > header svg { width: 13px; height: 13px; color: var(--green); }
.workspace-mail-attachments > header strong { font-size: 9px; }
.workspace-mail-attachments > header span { color: var(--muted); font-size: 9px; }
.workspace-mail-attachments > div { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 7px; padding: 9px; }
.workspace-mail-attachments article { min-width: 0; display: flex; align-items: center; gap: 8px; padding: 9px; background: var(--soft); border-radius: 6px; }
.workspace-mail-attachments article > svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--green); }
.workspace-mail-attachments article span { min-width: 0; }
.workspace-mail-attachments article strong, .workspace-mail-attachments article small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-mail-attachments article strong { font-size: 9px; }
.workspace-mail-attachments article small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.workspace-mail-attachments article a { margin-left: auto; padding: 4px 6px; color: var(--green); background: var(--panel); border: 1px solid var(--line); border-radius: 4px; font-size: 8px; text-decoration: none; }
.workspace-mail-list-state { min-height: 180px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; color: var(--muted); font-size: 10px; }
.workspace-mail-list-state svg { width: 24px; height: 24px; color: var(--green); stroke-width: 1.5; }
.workspace-mail-error { margin: 0 11px 9px; padding: 9px 10px; color: var(--red); background: var(--licensed); border-radius: 5px; font-size: 9px; line-height: 1.5; }
.workspace-mail-setup { max-width: 950px; margin: 24px auto; padding: 26px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.workspace-mail-setup-copy { display: flex; align-items: flex-start; gap: 15px; }
.workspace-mail-setup-copy > span { width: 43px; height: 43px; display: grid; flex: 0 0 auto; place-items: center; color: var(--green); background: var(--green-wash); border-radius: 9px; }
.workspace-mail-setup-copy svg { width: 22px; height: 22px; }
.workspace-mail-setup-copy small { color: var(--green); font-size: 9px; font-weight: 750; letter-spacing: .1em; }
.workspace-mail-setup-copy h2 { margin: 5px 0 0; font-size: 20px; }
.workspace-mail-setup-copy p { max-width: 620px; margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.workspace-mail-setup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 23px; }
.workspace-mail-setup-grid > section { padding: 15px; background: var(--soft); border: 1px solid var(--line); border-radius: 8px; }
.workspace-mail-setup-grid header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.workspace-mail-setup-grid header strong { font-size: 10px; }
.workspace-mail-setup-grid header i { padding: 3px 6px; color: var(--muted); background: var(--panel); border-radius: 4px; font-size: 8px; font-style: normal; }
.workspace-mail-setup-grid header svg { width: 15px; height: 15px; color: var(--green); }
.workspace-mail-setup-grid dl { display: grid; gap: 7px; margin: 0; }
.workspace-mail-setup-grid dl div { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 7px; border-bottom: 1px solid var(--line); }
.workspace-mail-setup-grid dt, .workspace-mail-setup-grid dd { margin: 0; font-size: 9px; }
.workspace-mail-setup-grid dt { color: var(--muted); }
.workspace-mail-setup-grid code { display: block; margin-top: 6px; padding: 7px 8px; color: var(--green); background: var(--panel); border: 1px solid var(--line); border-radius: 4px; font-size: 9px; }
.workspace-mail-setup-grid p { margin: 10px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.workspace-mail-composer { width: min(760px, 100%); }
.workspace-mail-composer > header { min-height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; border-bottom: 1px solid var(--line); }
.workspace-mail-composer > header span { color: var(--green); font-size: 9px; font-weight: 700; }
.workspace-mail-composer > header h2 { margin: 3px 0 0; font-size: 16px; }
.workspace-mail-composer > header button { width: 28px; height: 28px; display: grid; place-items: center; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 6px; }
.workspace-mail-composer > header button svg { width: 13px; height: 13px; }
.workspace-mail-compose-body textarea { min-height: 260px; resize: vertical; line-height: 1.7; }
.workspace-mail-send-message { grid-column: 1 / -1; margin: 0; padding: 9px 10px; color: var(--red); background: var(--licensed); border-radius: 5px; font-size: 9px; }
.workspace-mail-send-message.success { color: var(--green); background: var(--green-wash); }
.spin { animation: everdrift-mail-spin .9s linear infinite; }
@keyframes everdrift-mail-spin { to { transform: rotate(360deg); } }

@media (max-width: 1120px) {
  .workspace-mail-detail-head nav { width: 100%; }
}

@media (max-width: 820px) {
  .view-frame.mail-view-frame { height: calc(100dvh - 115px); padding: 9px 9px 12px; }
  .workspace-mail-shell { min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .workspace-mail-folders { padding: 8px; border-right: 0; border-bottom: 1px solid var(--line); }
  .workspace-mail-folders > header { display: none; }
  .workspace-mail-folders nav { display: flex; gap: 4px; margin-top: 0; overflow-x: auto; }
  .workspace-mail-folders nav button { min-width: max-content; display: flex; min-height: 31px; padding: 0 9px; }
  .workspace-mail-folders nav button.active { box-shadow: inset 0 -2px var(--green); }
  .workspace-mail-list { border-right: 0; }
  .workspace-mail-list.detail-open { display: none; }
  .workspace-mail-detail { display: none; }
  .workspace-mail-detail.open { display: block; min-height: 0; }
  .workspace-mail-detail-back { width: 30px; height: 30px; display: grid; flex: 0 0 auto; place-items: center; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
  .workspace-mail-detail-back svg { width: 14px; height: 14px; }
  .workspace-mail-addresses { flex-wrap: wrap; }
  .workspace-mail-addresses > time { width: 100%; padding-left: 42px; }
  .workspace-mail-setup { margin: 8px auto; padding: 18px; }
  .workspace-mail-setup-grid { grid-template-columns: 1fr; }
}

/* ReachFlow mail workflow migrated into the Everdrift private mail client. */
.workspace-mail-shell.reachflow-mail { position: relative; grid-template-columns: clamp(310px, 31vw, 390px) minmax(0, 1fr); grid-template-rows: 58px minmax(0, 1fr); }
.workspace-mail-shell.reachflow-mail.list-collapsed { grid-template-columns: 0 minmax(0, 1fr); }
.workspace-mail-commandbar { grid-column: 1 / -1; min-width: 0; display: flex; align-items: center; gap: 7px; padding: 8px 11px; background: color-mix(in srgb, var(--panel) 92%, var(--soft)); border-bottom: 1px solid var(--line); }
.workspace-mail-commandbar > button { min-height: 33px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; color: var(--muted); background: var(--panel); border: 1px solid var(--line); border-radius: 7px; font-size: 9px; font-weight: 700; white-space: nowrap; }
.workspace-mail-commandbar > button:first-of-type { color: white; background: var(--green); border-color: var(--green); }
.workspace-mail-commandbar > button.icon-only { width: 33px; justify-content: center; padding: 0; }
.workspace-mail-commandbar svg { width: 13px; height: 13px; }
.workspace-mail-account { min-width: 150px; max-width: 205px; display: grid; grid-template-columns: minmax(0, 1fr) 18px; margin-right: 3px; padding-right: 11px; border-right: 1px solid var(--line); }
.workspace-mail-account > span, .workspace-mail-account > strong, .workspace-mail-account > small { grid-column: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-mail-account > span { color: var(--green); font-size: 8px; font-weight: 750; }
.workspace-mail-account > strong { margin-top: 1px; font-size: 10px; }
.workspace-mail-account > small { color: var(--muted); font: 400 8px/1.2 "DM Mono", monospace; }
.workspace-mail-account > svg { grid-column: 2; grid-row: 1 / 4; align-self: center; color: var(--green); }
.workspace-mail-global-search { min-width: 170px; max-width: 330px; height: 33px; display: flex; flex: 1; align-items: center; gap: 7px; margin-left: auto; padding: 0 9px; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 7px; }
.workspace-mail-global-search:focus-within { border-color: var(--green); box-shadow: 0 0 0 2px var(--green-wash); }
.workspace-mail-global-search input { min-width: 0; flex: 1; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 9px; }
.workspace-mail-global-search > button { width: 19px; height: 19px; display: grid; place-items: center; padding: 0; color: var(--muted); background: transparent; }
.reachflow-mail > .workspace-mail-list { grid-column: 1; grid-row: 2; grid-template-rows: auto minmax(0, 1fr); background: var(--panel); transition: opacity 160ms ease; }
.reachflow-mail.list-collapsed > .workspace-mail-list { visibility: hidden; opacity: 0; }
.workspace-mail-list-toolbar { min-height: 51px; display: grid !important; grid-template-columns: minmax(0, 1fr) auto 28px; align-items: center; gap: 8px; padding: 8px 10px !important; }
.workspace-mail-list-toolbar label, .workspace-mail-list-toolbar select { min-width: 0; width: 100%; }
.workspace-mail-list-toolbar select { height: 32px; padding: 0 28px 0 9px; color: var(--ink); background: var(--soft); border: 1px solid var(--line); border-radius: 6px; outline: 0; font-size: 10px; font-weight: 700; }
.workspace-mail-list-toolbar small { margin: 0 !important; white-space: nowrap; }
.workspace-mail-list-toolbar > button { width: 28px !important; height: 28px !important; }
.reachflow-mail > .workspace-mail-detail { grid-column: 2; grid-row: 2; background: var(--panel); }
.workspace-mail-list-expand { position: absolute; z-index: 6; top: 72px; left: 0; width: 25px; height: 48px; display: grid; place-items: center; color: var(--green); background: var(--panel); border: 1px solid var(--line); border-left: 0; border-radius: 0 7px 7px 0; box-shadow: var(--shadow); }
.workspace-mail-list-expand svg { width: 13px; height: 13px; }
.workspace-mail-row-flags { display: flex; align-items: center; gap: 3px; margin-top: 23px; color: var(--muted); }
.workspace-mail-row-flags svg { width: 11px; height: 11px; }
.workspace-mail-row-flags svg:first-child { color: #b98a23; fill: currentColor; }
.reachflow-mail .workspace-mail-detail-head { min-height: 82px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: 10px 16px; padding: 13px 20px; }
.reachflow-mail .workspace-mail-detail-head h2 { font-size: clamp(15px, 1.25vw, 19px); }
.reachflow-mail .workspace-mail-detail-head nav { justify-content: flex-end; align-items: center; overflow: visible; }
.reachflow-mail .workspace-mail-detail-head nav button.primary { color: white; background: var(--green); border-color: var(--green); }
.reachflow-mail .workspace-mail-detail-head nav details { position: relative; }
.reachflow-mail .workspace-mail-detail-head nav summary { width: 31px; height: 31px; display: grid; place-items: center; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 6px; list-style: none; cursor: pointer; }
.reachflow-mail .workspace-mail-detail-head nav summary::-webkit-details-marker { display: none; }
.reachflow-mail .workspace-mail-detail-head nav details > div { position: absolute; z-index: 8; top: 36px; right: 0; width: 145px; display: grid; padding: 5px; background: var(--panel); border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 12px 32px rgba(8, 24, 16, .16); }
.reachflow-mail .workspace-mail-detail-head nav details > div button { justify-content: flex-start; border: 0; background: transparent; }
.reachflow-mail .workspace-mail-detail-head nav details > div button.danger { color: var(--red); }
.workspace-mail-addresses > .workspace-mail-format { grid-column: 2; color: var(--muted); font-size: 8px; }
.workspace-mail-html-body { width: 100%; min-height: 520px; display: block; background: white; border: 0; border-top: 1px solid var(--line); }
.workspace-mail-home { min-height: 100%; display: grid; place-content: center; justify-items: center; gap: 22px; padding: 34px; text-align: center; }
.workspace-mail-home > div > svg { width: 34px; height: 34px; color: var(--green); stroke-width: 1.3; }
.workspace-mail-home > div > span { display: block; margin-top: 10px; color: var(--green); font-size: 8px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.workspace-mail-home h2 { margin: 5px 0 0; font-size: 18px; }
.workspace-mail-home p { margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.workspace-mail-home > section { width: min(500px, 100%); display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.workspace-mail-home > section button { min-height: 72px; display: grid; align-content: center; gap: 5px; padding: 9px; color: var(--muted); background: var(--soft); border: 1px solid var(--line); border-radius: 8px; }
.workspace-mail-home > section button:hover { color: var(--green); border-color: var(--green); }
.workspace-mail-home > section span { font-size: 9px; }
.workspace-mail-home > section strong { color: var(--ink); font: 700 17px/1 "DM Mono", monospace; }

.workspace-mail-composer { width: min(900px, 100%); }
.workspace-mail-formatbar { min-height: 42px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 5px 7px; background: var(--soft); border: 1px solid var(--line); border-radius: 7px; }
.workspace-mail-formatbar > div { display: flex; gap: 2px; padding: 2px; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; }
.workspace-mail-formatbar button, .workspace-mail-attachment-button { min-height: 27px; display: inline-flex; align-items: center; gap: 5px; padding: 0 8px; color: var(--muted); background: transparent; border: 0; border-radius: 5px; font-size: 9px; cursor: pointer; }
.workspace-mail-formatbar button:hover, .workspace-mail-formatbar button.active { color: var(--green); background: var(--green-wash); }
.workspace-mail-formatbar nav { display: flex; align-items: center; padding-left: 5px; border-left: 1px solid var(--line); }
.workspace-mail-formatbar svg { width: 12px; height: 12px; }
.workspace-mail-attachment-button { margin-left: auto; }
.workspace-mail-attachment-button input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; pointer-events: none; }
.workspace-mail-rich-wrap { display: block; }
.workspace-mail-rich-wrap > span { display: block; margin-bottom: 6px; color: #5d6a63; font-size: 11px; font-weight: 600; }
.workspace-mail-rich-editor { min-height: 280px; padding: 14px; background: var(--panel); border: 1px solid var(--line-dark); border-radius: 7px; outline: none; font-size: 12px; line-height: 1.7; overflow-y: auto; }
.workspace-mail-rich-editor:empty::before { content: attr(data-placeholder); color: var(--muted); }
.workspace-mail-rich-editor:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(36,80,63,.08); }
.workspace-mail-compose-attachments { display: flex; flex-wrap: wrap; gap: 6px; }
.workspace-mail-compose-attachments > span { min-width: 0; max-width: 260px; display: grid; grid-template-columns: 14px minmax(0, 1fr) auto 18px; align-items: center; gap: 5px; padding: 7px 8px; background: var(--soft); border: 1px solid var(--line); border-radius: 6px; }
.workspace-mail-compose-attachments svg { width: 12px; height: 12px; color: var(--green); }
.workspace-mail-compose-attachments b, .workspace-mail-compose-attachments small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.workspace-mail-compose-attachments small { color: var(--muted); }
.workspace-mail-compose-attachments button { padding: 0; background: transparent; }
.workspace-mail-send-review { grid-column: 1 / -1; display: grid; gap: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.workspace-mail-send-review > div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.workspace-mail-send-review span { color: var(--muted); font-size: 9px; }
.workspace-mail-send-review strong, .workspace-mail-send-review p { margin: 0; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
.workspace-mail-send-review > small { padding: 10px 12px; color: var(--green); background: var(--green-wash); font-size: 9px; }

.workspace-mail-template-modal { width: min(880px, 100%); }
.workspace-mail-template-manager { min-height: 470px; display: grid; grid-template-columns: 240px minmax(0, 1fr); }
.workspace-mail-template-manager > aside { min-width: 0; padding: 12px; background: var(--soft); border-right: 1px solid var(--line); overflow-y: auto; }
.workspace-mail-template-manager > aside header { display: flex; align-items: center; justify-content: space-between; padding: 0 3px 9px; }
.workspace-mail-template-manager > aside header strong { font-size: 10px; }
.workspace-mail-template-manager > aside header button { color: var(--green); background: transparent; font-size: 9px; }
.workspace-mail-template-manager > aside > button { width: 100%; display: block; padding: 9px; color: var(--ink); background: transparent; border-radius: 6px; text-align: left; }
.workspace-mail-template-manager > aside > button:hover, .workspace-mail-template-manager > aside > button.active { background: var(--panel); box-shadow: inset 2px 0 var(--green); }
.workspace-mail-template-manager > aside > button strong, .workspace-mail-template-manager > aside > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-mail-template-manager > aside > button strong { font-size: 10px; }
.workspace-mail-template-manager > aside > button small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.workspace-mail-template-manager > section { display: grid; align-content: start; gap: 12px; padding: 18px; overflow-y: auto; }
.workspace-mail-template-manager > section label > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 700; }
.workspace-mail-template-manager > section input, .workspace-mail-template-manager > section textarea { width: 100%; min-height: 38px; padding: 9px; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; outline: 0; font-size: 10px; }
.workspace-mail-template-manager > section textarea { min-height: 260px; resize: vertical; line-height: 1.7; }
.workspace-mail-template-manager > section footer { display: flex; justify-content: space-between; gap: 8px; }
.workspace-mail-template-manager > section footer button { min-height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; font-size: 9px; }
.workspace-mail-template-manager > section footer button.danger { color: var(--red); background: transparent; }

@media (max-width: 980px) {
  .workspace-mail-commandbar .workspace-mail-account { display: none; }
  .workspace-mail-shell.reachflow-mail { grid-template-columns: minmax(280px, 37vw) minmax(0, 1fr); }
  .reachflow-mail .workspace-mail-detail-head { grid-template-columns: minmax(0, 1fr); }
  .reachflow-mail .workspace-mail-detail-head nav { justify-content: flex-start; overflow-x: auto; }
}

@media (max-width: 820px) {
  .workspace-mail-shell.reachflow-mail, .workspace-mail-shell.reachflow-mail.list-collapsed { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .workspace-mail-commandbar { grid-row: 1; }
  .workspace-mail-commandbar > button:not(:first-of-type):not(.icon-only) { display: none; }
  .workspace-mail-global-search { min-width: 0; }
  .reachflow-mail > .workspace-mail-list { grid-column: 1; grid-row: 2; }
  .reachflow-mail > .workspace-mail-list.detail-open { display: none; }
  .reachflow-mail > .workspace-mail-detail { grid-column: 1; grid-row: 2; display: none; }
  .reachflow-mail > .workspace-mail-detail.open { display: block; }
  .workspace-mail-list-toolbar > button, .workspace-mail-list-expand { display: none; }
  .workspace-mail-template-manager { grid-template-columns: 1fr; grid-template-rows: 150px minmax(0, 1fr); }
  .workspace-mail-template-manager > aside { border-right: 0; border-bottom: 1px solid var(--line); }
  .workspace-mail-home > section { grid-template-columns: repeat(2, 1fr); }
}

.ed-back-to-top {
  position: fixed;
  right: 24px;
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 60;
  color: var(--ed-ink-dim);
  background: var(--ed-surface);
  border-color: var(--ed-hair);
  opacity: .7;
}
.ed-back-to-top[hidden] { display: none; }
.ed-back-to-top:hover, .ed-back-to-top:focus-visible { opacity: 1; transform: none; }

.ed-products-site .ed-nav {
  background: var(--ed-bg);
  border-bottom-color: var(--ed-hair);
  transition: min-height .5s ease, padding .5s ease;
}
.ed-product-switcher-popover::before {
  content: "";
  position: absolute;
  top: -13px;
  left: 0;
  width: 100%;
  height: 13px;
}

.ed-nav[data-static-nav]:not([data-scroll-ready]) { transition: none; }

/* Reuse navigation typography, with spacing suited to English words. */
html[lang="en"] .ed-nav-links > a,
html[lang="en"] .ed-product-switcher-trigger,
.ed-nav-links > .ed-language-switch {
  letter-spacing: .04em;
}
html[lang="en"] .ed-era-statement h2 {
  font-size: clamp(36px, 6vw, 80px);
}

/* English uses the existing Latin serif palette and native UI sans faces. */
html[lang="en"] .ed-site {
  --ed-serif-cn: var(--ed-serif-en);
  --ed-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: normal;
}
html[lang="en"] .ed-site h1,
html[lang="en"] .ed-site h2,
html[lang="en"] .ed-site h3,
html[lang="en"] .ed-manifesto-lede {
  letter-spacing: normal;
}
html[lang="en"] .ed-prose {
  letter-spacing: normal;
}
html[lang="en"] .ed-nav-links > a,
html[lang="en"] .ed-product-switcher-trigger {
  text-indent: 0;
}

/* English manifesto titles use the shared serif palette at regular weight. */
html[lang="en"] .ed-site .ed-era-statement h2,
html[lang="en"] .ed-site .ed-manifesto-lede,
html[lang="en"] .ed-site .ed-section-title,
html[lang="en"] .ed-site .ed-ending .ed-hero-statement {
  --ed-serif-cn: var(--ed-serif-en);
  font-family: var(--ed-serif-cn);
  font-weight: 400;
}

/* Self-hosted Source Serif 4. License accompanies the font in this stylesheet.
Copyright 2014 - 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.

This Font Software is licensed under the SIL Open Font License, Version 1.1.

This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/
@font-face {
  font-family: "Source Serif 4";
  src: url("/brand/fonts/source-serif-4-roman.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
html[lang="en"] .ed-site {
  --ed-serif-en: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-optical-sizing: auto;
}

/* English section labels share the site's existing uppercase kicker treatment. */
html[lang="en"] .ed-product-section-label,
html[lang="en"] .ed-legal-eyebrow,
html[lang="en"] .ed-kicker,
html[lang="en"] .ed-hero-kicker,
html[lang="en"] .ed-public-footer .ed-footer-column h3 {
  text-transform: uppercase;
}
html[lang="en"] .ed-public-footer .ed-footer-column h3 {
  letter-spacing: .12em;
}

/* Keep both navigation icon controls on the same center line as the links. */
.ed-nav-actions > .ed-theme-menu {
  transform: none;
}
.ed-nav-actions > .ed-language-switch {
  flex: 0 0 34px;
  align-self: center;
}
