* { 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-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-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: 300;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  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: var(--ed-hair);
  backdrop-filter: blur(16px);
}

.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 {
  position: relative;
  padding-bottom: 3px;
  color: var(--ed-ink-dim);
  font-size: 12px;
  letter-spacing: .3em;
  text-indent: .3em;
  text-shadow: 0 1px 14px rgba(10,11,14,.65);
  transition: color .35s ease;
}

.ed-nav-links a::after {
  position: absolute;
  right: 0;
  bottom: -4px;
  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 { color: var(--ed-ink); }

.ed-nav-links a:hover::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: clamp(24px,3vw,36px);
  font-weight: 750;
  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: 400; }

.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-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 {
  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 {
  color: #d9f765;
  translate: 4px 0;
}

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

.ed-footer-column > 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: 27px;
  height: auto;
  flex: 0 0 auto;
  opacity: .34;
}

.ed-footer-company p { margin: 0; }

.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-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) { display: none; }
  .ed-nav-links a { 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 { font-size: 25px; line-height: 1.9; }
  .ed-prose { font-size: 14px; line-height: 1.95; }
  .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 { 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-ending .ed-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-ending .ed-footer::before {
  content: none;
}

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

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

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

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

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

.ed-ending .ed-footer-column > a:hover {
  color: #526537;
}

.ed-ending .ed-footer-column > a i {
  color: #718348;
}

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

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

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

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

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

.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,.64); }

.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-ending .ed-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,.6); }

.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-ending .ed-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-ending .ed-footer-column h3 { color: rgba(231,228,220,.46); }

.ed-site[data-theme="dark"] .ed-ending .ed-footer-column h3 span { color: #a8bd68; }

.ed-site[data-theme="dark"] .ed-ending .ed-footer-column > a { color: rgba(231,228,220,.72); }

.ed-site[data-theme="dark"] .ed-ending .ed-footer-column > a:hover { color: #d9f765; }

.ed-site[data-theme="dark"] .ed-ending .ed-footer-column > a i { color: #a8bd68; }

.ed-site[data-theme="dark"] .ed-ending .ed-footer-column > a small { color: rgba(231,228,220,.34); }

.ed-site[data-theme="dark"] .ed-ending .ed-footer .is-coming:hover { color: rgba(231,228,220,.72); }

.ed-site[data-theme="dark"] .ed-ending .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-ending .ed-footer-company-mark {
  filter: invert(1);
  opacity: .3;
}

.ed-site[data-theme="dark"] .ed-ending .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,.62); }

.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,.58); }

.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,.62); }

.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-manifesto-lede { font-size: 28px; }
  .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); }
}
