/* Shared styles for Q4 Labs product pages, Trust and Insights.
   Loaded after q4-labs.css, which supplies tokens, .container, .section, .section-head, .kicker, .dark-band. */

.p-hero {
  position:relative;
  background:var(--ink);
  color:var(--paper);
  padding:210px 0 110px;
  overflow:hidden
}

.p-hero:after {
  content:'';
  position:absolute;
  right:6vw;
  top:150px;
  width:min(420px,38vw);
  height:min(420px,38vw);
  opacity:.5;
  background-image:radial-gradient(circle,rgba(238,229,212,.55) 0 1.5px,transparent 2px);
  background-size:18px 18px;
  -webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);
  mask-image:radial-gradient(circle,#000 30%,transparent 70%)
}

.p-hero.p-pattern-polysoma:after {
  background-image:radial-gradient(circle,rgba(155,189,209,.8) 0 1.5px,transparent 2px),repeating-linear-gradient(45deg,transparent 0 17px,rgba(155,189,209,.28) 17px 18px),repeating-linear-gradient(-45deg,transparent 0 17px,rgba(155,189,209,.28) 17px 18px);
  background-size:18px 18px,36px 36px,36px 36px
}

.p-hero.p-pattern-altiera:after {
  background-image:repeating-conic-gradient(from 45deg,rgba(238,229,212,.3) 0 25%,transparent 0 50%);
  background-size:22px 22px
}

.p-hero.p-pattern-lumen:after {
  background-image:repeating-radial-gradient(circle at 50% 50%,transparent 0 12px,rgba(238,229,212,.35) 13px 14px,transparent 15px 26px);
  background-size:auto
}

.p-hero .container {
  position:relative;
  z-index:2
}

.p-crumb {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:rgba(238,229,212,.6)
}

.p-crumb a {
  border-bottom:1px solid rgba(238,229,212,.35)
}

.p-hero h1 {
  font:400 clamp(90px,13vw,200px)/.8 'Instrument Serif';
  letter-spacing:-.07em;
  margin:34px 0 26px
}

.p-hero .p-promise {
  font:400 clamp(34px,3.6vw,56px)/1 'Instrument Serif';
  letter-spacing:-.03em;
  margin:0 0 28px;
  max-width:760px
}

.p-hero .p-lede {
  font-size:17px;
  line-height:1.75;
  color:rgba(238,229,212,.78);
  max-width:620px;
  margin:0
}

.p-type {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  margin-top:34px;
  border:1px solid rgba(238,229,212,.3);
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:rgba(238,229,212,.85)
}

.p-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:38px
}

.p-btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 20px;
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  border:1px solid rgba(238,229,212,.6);
  color:var(--paper)
}

.p-btn.solid {
  background:var(--blue);
  border-color:var(--blue);
  color:#fff
}

.p-btn:hover {
  opacity:.8
}

/* Screenshot placeholder */
.p-shot {
  margin-top:0;
  aspect-ratio:16 / 9;
  border:1px solid var(--line);
  background-color:#e7ddca;
  background-image:radial-gradient(circle,rgba(53,69,54,.22) 1px,transparent 1.5px);
  background-size:14px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  padding:24px
}

.p-shot b {
  font:400 clamp(30px,3vw,46px)/1 'Instrument Serif';
  color:var(--ink)
}

.p-shot span {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:#777066
}

/* Numbered steps */
.p-steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}

.p-step {
  padding:30px 28px 40px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:280px;
  background:var(--paper)
}

.p-step:nth-child(even) {
  background:#e7ddca
}

.p-step span {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  color:var(--blue)
}

.p-step h3 {
  font:400 40px/.95 'Instrument Serif';
  letter-spacing:-.03em;
  margin:60px 0 16px
}

.p-step p {
  font-size:14px;
  line-height:1.75;
  color:#4f4d45;
  margin:0
}

/* Use cases */
.p-uses {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  border-top:1px solid var(--line)
}

.p-use {
  display:grid;
  grid-template-columns:220px 1fr;
  gap:30px;
  padding:28px 0;
  border-bottom:1px solid var(--line)
}

.p-use:nth-child(odd) {
  padding-right:40px
}

.p-use:nth-child(even) {
  padding-left:40px;
  border-left:1px solid var(--line)
}

.p-use a {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:var(--blue);
  padding-top:4px
}

.p-use p {
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#4f4d45
}

/* Spec table */
.p-specs {
  border-top:1px solid var(--line)
}

.p-spec {
  display:grid;
  grid-template-columns:.6fr 1.4fr;
  gap:70px;
  padding:26px 0;
  border-bottom:1px solid var(--line)
}

.p-spec dt {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:#777066;
  padding-top:4px
}

.p-spec dd {
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  max-width:720px
}

.section.alt {
  background:#e7ddca
}

/* Method strip */
.p-method {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(238,229,212,.18);
  border:1px solid rgba(238,229,212,.18);
  margin-top:10px
}

.p-method div {
  background:var(--ink);
  padding:26px;
  min-height:190px
}

.p-method span {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:rgba(238,229,212,.55)
}

.p-method b {
  display:block;
  font:400 34px/1 'Instrument Serif';
  margin:40px 0 12px
}

.p-method p {
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:rgba(238,229,212,.7)
}

.p-method div.on {
  background:#20332c
}

.p-method div.on span {
  color:#9bbdd1
}

/* Other systems */
.p-others {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}

.p-others a {
  display:block;
  padding:28px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:190px
}

.p-others a:hover {
  background:#e7ddca
}

.p-others span {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:#777066
}

.p-others b {
  display:block;
  font:400 44px/1 'Instrument Serif';
  margin:44px 0 10px
}

.p-others p {
  margin:0;
  font-size:14px;
  color:#4f4d45;
  line-height:1.6
}

/* CTA */
.p-cta {
  background:var(--ink);
  color:var(--paper);
  padding:130px 0
}

.p-cta h2 {
  font:400 clamp(64px,9vw,136px)/.8 'Instrument Serif';
  letter-spacing:-.06em;
  margin:22px 0 36px;
  max-width:1000px
}

.p-cta p {
  color:rgba(238,229,212,.7);
  max-width:520px;
  line-height:1.75
}

/* Labs overview card links */
.lab .lab-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:26px;
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  border-bottom:1px solid currentColor;
  padding-bottom:6px;
  align-self:flex-start
}

.lab {
  transition:background .2s ease
}

.lab:hover {
  background:#e2d5bf !important
}

/* Insights */
.i-list {
  border-top:1px solid var(--line)
}

.i-item {
  display:grid;
  grid-template-columns:1fr 200px;
  gap:40px;
  padding:38px 0;
  border-bottom:1px solid var(--line);
  align-items:start
}

.i-item .i-num {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  color:var(--blue);
  padding-top:10px
}

.i-item h3 {
  font:400 clamp(34px,3.6vw,54px)/.98 'Instrument Serif';
  letter-spacing:-.03em;
  margin:0 0 14px
}

.i-item p {
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#4f4d45;
  max-width:720px
}

.i-item .i-meta {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:#777066;
  text-align:right;
  padding-top:10px
}

.i-item .i-meta em {
  display:inline-block;
  font-style:normal;
  margin-top:10px;
  padding:6px 9px;
  border:1px solid var(--line)
}

@media(max-width:1000px) {
  .p-steps,.p-method {
    grid-template-columns:repeat(2,1fr)
  }

  .p-uses {
    grid-template-columns:1fr
  }

  .p-use:nth-child(odd),.p-use:nth-child(even) {
    padding-left:0;
    padding-right:0;
    border-left:0
  }

  .p-others {
    grid-template-columns:1fr
  }

}

@media(max-width:700px) {
  .p-hero {
    padding:160px 0 80px
  }

  .p-hero h1 {
    font-size:88px
  }

  .p-steps,.p-method {
    grid-template-columns:1fr
  }

  .p-use,.p-spec {
    grid-template-columns:1fr;
    gap:10px
  }

  .i-item {
    grid-template-columns:1fr;
    gap:12px
  }

  .i-item .i-meta {
    text-align:left
  }

}

.dark-band a,.p-spec dd a {
  border-bottom:1px solid currentColor
}

/* Stats strip */
.p-stats {
  background:var(--ink);
  color:var(--paper);
  padding:80px 0
}

.p-stats-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(238,229,212,.2)
}

.p-stats-grid div {
  padding:30px 30px 30px 0;
  border-bottom:1px solid rgba(238,229,212,.2)
}

.p-stats-grid div + div {
  padding-left:30px;
  border-left:1px solid rgba(238,229,212,.2)
}

.p-stats-grid b {
  display:block;
  font:400 clamp(64px,7vw,110px)/.9 'Instrument Serif';
  letter-spacing:-.04em
}

.p-stats-grid span {
  display:block;
  margin-top:14px;
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:rgba(238,229,212,.6)
}

.p-stats p {
  margin:30px 0 0;
  max-width:720px;
  font-size:15px;
  line-height:1.75;
  color:rgba(238,229,212,.72)
}

/* Comparison table */
.p-compare {
  width:100%;
  border-collapse:collapse;
  border-top:1px solid var(--line)
}

.p-compare th,.p-compare td {
  text-align:left;
  vertical-align:top;
  padding:24px 24px 24px 0;
  border-bottom:1px solid var(--line)
}

.p-compare thead th {
  font:600 12px Manrope,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:#777066;
  font-weight:400
}

.p-compare thead th:nth-child(2) {
  color:var(--blue)
}

.p-compare tbody th {
  width:22%;
  font:400 30px/1 'Instrument Serif';
  letter-spacing:-.02em
}

.p-compare td {
  width:39%;
  font-size:16px;
  line-height:1.7;
  color:#4f4d45
}

.p-compare td:first-of-type {
  color:var(--ink)
}

@media(max-width:700px) {
  .p-stats-grid {
    grid-template-columns:1fr
  }

  .p-stats-grid div + div {
    padding-left:0;
    border-left:0
  }

  .p-compare thead {
    display:none
  }

  .p-compare tr {
    display:block;
    padding:20px 0;
    border-bottom:1px solid var(--line)
  }

  .p-compare th,.p-compare td {
    display:block;
    width:auto;
    padding:6px 0;
    border:0
  }

  .p-compare td:first-of-type:before {
    content:'Polysoma · ';
    font:600 12px Manrope,sans-serif;
    color:var(--blue)
  }

  .p-compare td:last-of-type:before {
    content:'Survey panel · ';
    font:600 12px Manrope,sans-serif;
    color:#777066
  }

}

/* Polysoma console (illustrative run) */
.pconsole{margin:0;background:#101a17;color:#eee5d4;border:1px solid rgba(23,35,31,.6);font-family:Manrope,Arial,sans-serif}
.pc-bar{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(238,229,212,.14);font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:rgba(238,229,212,.6)}
.pc-bar span:first-child{color:#9bbdd1}
.pc-grid{display:grid;grid-template-columns:1fr 1.15fr}
.pc-col+.pc-col{border-left:1px solid rgba(238,229,212,.14)}
.pc-block{padding:22px 24px;border-bottom:1px solid rgba(238,229,212,.1)}
.pc-col .pc-block:last-child{border-bottom:0}
.pc-label{font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:rgba(238,229,212,.5);margin-bottom:14px}
.pc-files{list-style:none;margin:0;padding:0;font:12px 'DM Mono'}
.pc-files li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed rgba(238,229,212,.1)}
.pc-files b{font-weight:400;color:#9bbdd1;font-size:10px;letter-spacing:.1em}
.pc-note{margin-top:12px;font:10px 'DM Mono';letter-spacing:.1em;text-transform:uppercase;color:rgba(238,229,212,.45)}
.pc-q{font:400 22px/1.2 'Instrument Serif';margin:0}
.pc-a{font-size:14px;line-height:1.7;color:rgba(238,229,212,.78);margin:12px 0 0}
.pc-ok{margin-top:12px;font:10px 'DM Mono';letter-spacing:.1em;text-transform:uppercase;color:#a9c29a}
.pc-params{width:100%;border-collapse:collapse;font:12px 'DM Mono'}
.pc-params td{padding:7px 0;border-bottom:1px dashed rgba(238,229,212,.1)}
.pc-params td:nth-child(2){color:#eee5d4}
.pc-params td:nth-child(1),.pc-params td:nth-child(3){color:rgba(238,229,212,.5)}
.pc-params td:nth-child(3){text-align:right;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.pc-result{display:flex;align-items:flex-end;gap:18px}
.pc-result b{font:400 64px/.9 'Instrument Serif';letter-spacing:-.03em}
.pc-result small{font-size:24px;margin-left:2px}
.pc-result span{font:10px/1.6 'DM Mono';letter-spacing:.1em;text-transform:uppercase;color:rgba(238,229,212,.55);padding-bottom:6px}
.pc-dist{display:block;width:100%;height:auto;margin:18px 0 6px}
.pc-dist text{font:9px 'DM Mono';letter-spacing:.08em;fill:rgba(238,229,212,.6)}
.pc-conf{font:10px 'DM Mono';letter-spacing:.12em;text-transform:uppercase;color:rgba(238,229,212,.55)}
.pc-conf b{font-weight:400;color:#9bbdd1}
.pc-segs{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:16px;background:rgba(238,229,212,.12)}
.pc-segs div{background:#101a17;padding:14px}
.pc-segs span{display:block;font:9px 'DM Mono';letter-spacing:.1em;text-transform:uppercase;color:rgba(238,229,212,.5)}
.pc-segs b{display:block;font:400 34px/1 'Instrument Serif';margin-top:10px}
.pc-segs .neg{color:#d99a86}
.pc-segs .pos{color:#a9c29a}
.pc-foot{padding:14px 20px;border-top:1px solid rgba(238,229,212,.14);font:10px 'DM Mono';letter-spacing:.12em;text-transform:uppercase;color:rgba(238,229,212,.5)}
@media(max-width:900px){.pc-grid{grid-template-columns:1fr}.pc-col+.pc-col{border-left:0;border-top:1px solid rgba(238,229,212,.14)}.pc-bar{flex-direction:column}}

/* Lumen hero: depth-field animation (trylumen.io) */
.p-hero.has-depth:after { display:none }
.depth-field { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0 }
.depth-field canvas { position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity .9s ease }
.depth-field canvas.is-ready { opacity:1 }
.depth-field:after { content:''; position:absolute; inset:0; background:repeating-linear-gradient(to bottom, rgba(0,0,0,.42) 0 1px, transparent 1px 4px) }
.depth-field-shade { position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(23,35,31,.92) 0%, rgba(23,35,31,.7) 34%, rgba(23,35,31,.15) 70%, rgba(23,35,31,0) 100%),
             radial-gradient(ellipse 110% 85% at 60% 55%, transparent 45%, rgba(23,35,31,.6) 85%, rgba(23,35,31,.9) 100%) }
@media(max-width:700px){ .depth-field-shade { background:linear-gradient(0deg, rgba(23,35,31,.92) 0%, rgba(23,35,31,.7) 55%, rgba(23,35,31,.35) 100%) } }

/* Three use cases: one row of three columns, label above text */
.p-uses.p-uses-3{grid-template-columns:repeat(3,1fr)}
.p-uses.p-uses-3 .p-use{grid-template-columns:1fr;gap:16px;padding:28px 32px 36px;border-left:1px solid var(--line)}
.p-uses.p-uses-3 .p-use:first-child{padding-left:0;border-left:0}
.p-uses.p-uses-3 .p-use:last-child{padding-right:0}
@media(max-width:1000px){
  .p-uses.p-uses-3{grid-template-columns:1fr}
  .p-uses.p-uses-3 .p-use,.p-uses.p-uses-3 .p-use:first-child,.p-uses.p-uses-3 .p-use:last-child{padding:24px 0;border-left:0}
}
.p-use{align-content:start;align-items:start}
.p-use a{line-height:1.5}

/* Product video */
.p-video{margin:0}
.p-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#0b0f14;border:1px solid var(--line)}
.p-video figcaption{margin-top:12px;font:600 12px Manrope,sans-serif;letter-spacing:0;text-transform:none;color:#777066}

/* Vigil overview: one place to ask */
.vg{margin:0;background:#101a17;color:#eee5d4;border:1px solid rgba(23,35,31,.6)}
.vg-head{display:grid;grid-template-columns:1.3fr auto;gap:40px;align-items:end;padding:34px 34px 28px;border-bottom:1px solid rgba(238,229,212,.14)}
.vg-kicker{font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:#9bbdd1}
.vg-title{font:400 clamp(34px,3.4vw,52px)/1 'Instrument Serif';letter-spacing:-.02em;margin:14px 0 14px}
.vg-sub{margin:0;max-width:620px;font-size:15px;line-height:1.7;color:rgba(238,229,212,.72)}
.vg-tabs{display:flex;border:1px solid rgba(238,229,212,.3)}
.vg-tabs button{background:transparent;border:0;color:rgba(238,229,212,.7);padding:12px 18px;font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.vg-tabs button+button{border-left:1px solid rgba(238,229,212,.3)}
.vg-tabs button[aria-selected="true"]{background:#eee5d4;color:#17231f}
.vg-stage{display:grid;grid-template-columns:220px 1fr;min-height:360px}
.vg-sources{display:flex;flex-direction:column;gap:10px;padding:28px 24px;border-right:1px solid rgba(238,229,212,.14);font:11px 'DM Mono';color:rgba(238,229,212,.75)}
.vg-sources span{padding:9px 12px;border:1px dashed rgba(238,229,212,.2)}
.vg-sources .vg-src-label{padding:0 0 4px;border:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(238,229,212,.45)}
.vg-panel{padding:0 0 18px}
.vg-bar{display:flex;justify-content:space-between;gap:12px;padding:16px 26px;border-bottom:1px solid rgba(238,229,212,.1);font-size:14px}
.vg-bar span{font:10px 'DM Mono';letter-spacing:.12em;text-transform:uppercase;color:rgba(238,229,212,.45)}
.vg-msg{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:18px 26px 4px}
.vg-msg b{font-size:14px}
.vg-msg small{margin-left:8px;font:10px 'DM Mono';color:rgba(238,229,212,.45)}
.vg-msg p,.vg-mail p{margin:6px 0 0;font-size:15px;line-height:1.65;color:rgba(238,229,212,.88);max-width:640px}
.vg-av{display:flex;align-items:center;justify-content:center;width:38px;height:38px;font:normal 11px 'DM Mono';background:#354536;color:#eee5d4}
.vg-av-bot{background:#eee5d4;color:#17231f;font:400 20px 'Instrument Serif'}
.vg-at{color:#9bbdd1}
.vg-cite{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vg-cite span{padding:6px 10px;border:1px solid rgba(155,189,209,.35);font:10px 'DM Mono';letter-spacing:.06em;color:#9bbdd1}
.vg-mail{padding:22px 26px}
.vg-mail-meta{font:11px/1.8 'DM Mono' !important;color:rgba(238,229,212,.55) !important;margin:0 0 14px !important}
.vg-foot{padding:14px 26px;border-top:1px solid rgba(238,229,212,.14);font:10px 'DM Mono';letter-spacing:.12em;text-transform:uppercase;color:rgba(238,229,212,.5)}
@media(max-width:900px){.vg-head{grid-template-columns:1fr;gap:24px}.vg-stage{grid-template-columns:1fr}.vg-sources{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid rgba(238,229,212,.14)}.vg-sources .vg-src-label{width:100%}}
@media(max-width:600px){.vg-head{padding:26px 20px}.vg-msg,.vg-bar,.vg-mail{padding-left:18px;padding-right:18px}.vg-tabs button{padding:11px 12px}}

/* Altiera overview: deployment boundary */
.at{margin:0;background:#101a17;color:#eee5d4;border:1px solid rgba(23,35,31,.6)}
.at-head{display:grid;grid-template-columns:1.2fr auto;gap:40px;align-items:end;padding:34px 34px 28px;border-bottom:1px solid rgba(238,229,212,.14)}
.at-kicker,.at-col-label,.at-core-label{font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:#9bbdd1}
.at-col-label{color:rgba(238,229,212,.45);display:block;margin-bottom:10px}
.at-title{font:400 clamp(34px,3.4vw,52px)/1 'Instrument Serif';letter-spacing:-.02em;margin:14px 0}
.at-sub{margin:0;max-width:560px;font-size:15px;line-height:1.7;color:rgba(238,229,212,.72)}
.at-tabs{display:flex;border:1px solid rgba(238,229,212,.3)}
.at-tabs button{background:transparent;border:0;color:rgba(238,229,212,.7);padding:12px 16px;font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.at-tabs button+button{border-left:1px solid rgba(238,229,212,.3)}
.at-tabs button[aria-selected="true"]{background:#eee5d4;color:#17231f}
.at-body{display:grid;grid-template-columns:1fr 300px;gap:0}
.at-env{margin:28px;padding:22px;border:1px dashed rgba(169,194,154,.55);position:relative}
.at-env-label{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:14px}
.at-env-label span:last-child{margin-left:auto;font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:#a9c29a}
.at-dot{width:8px;height:8px;border-radius:50%;background:#a9c29a;box-shadow:0 0 0 4px rgba(169,194,154,.18)}
.at-row{display:grid;grid-template-columns:1fr 40px 1.1fr 40px 1fr;align-items:center}
.at-col{display:flex;flex-direction:column;gap:8px}
.at-chip{padding:9px 11px;border:1px solid rgba(238,229,212,.2);font:11px 'DM Mono';color:rgba(238,229,212,.85)}
.at-flow{display:flex;flex-direction:column;gap:14px;align-items:center}
.at-flow i{display:block;width:100%;height:1px;background:linear-gradient(90deg,rgba(155,189,209,0),#9bbdd1,rgba(155,189,209,0));background-size:200% 100%;animation:atflow 2.4s linear infinite}
.at-flow i+i{animation-delay:1.2s}
@keyframes atflow{from{background-position:100% 0}to{background-position:-100% 0}}
@media (prefers-reduced-motion: reduce){.at-flow i{animation:none;background:rgba(155,189,209,.6)}}
.at-core{padding:22px;background:#eee5d4;color:#17231f;text-align:center}
.at-core .at-core-label{color:#2a70a1}
.at-core b{display:block;font:400 30px/1 'Instrument Serif';margin:10px 0}
.at-core-meta{font:10px/1.5 'DM Mono';letter-spacing:.06em;color:#625d53}
.at-side{border-left:1px solid rgba(238,229,212,.14);display:flex;flex-direction:column}
.at-log{padding:26px 24px;border-bottom:1px solid rgba(238,229,212,.14)}
.at-log-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px dashed rgba(238,229,212,.1);font:11px 'DM Mono'}
.at-log-row span{color:rgba(238,229,212,.5)}
.at-log-row b{font-weight:400;text-align:right}
.at-log-row.at-ok b{color:#a9c29a}
.at-out{padding:22px 24px}
.at-out p{margin:6px 0;font:11px 'DM Mono';color:rgba(217,154,134,.85)}
.at-foot{padding:14px 26px;border-top:1px solid rgba(238,229,212,.14);font:10px 'DM Mono';letter-spacing:.12em;text-transform:uppercase;color:rgba(238,229,212,.5)}
@media(max-width:1100px){.at-head{grid-template-columns:1fr;gap:24px}.at-body{grid-template-columns:1fr}.at-side{border-left:0;border-top:1px solid rgba(238,229,212,.14)}}
@media(max-width:760px){.at-env{margin:18px;padding:18px}.at-row{grid-template-columns:1fr;gap:12px}.at-flow{flex-direction:row;height:24px}.at-flow i{width:1px;height:100%;background:#9bbdd1;animation:none}.at-tabs{flex-wrap:wrap}.at-tabs button{flex:1;padding:11px 8px}.at-head{padding:26px 20px}}

/* Insights articles */
.a-hero{padding:190px 0 90px}
.a-hero .a-title{font:400 clamp(56px,7vw,110px)/.9 'Instrument Serif';letter-spacing:-.05em;margin:30px 0 24px;max-width:1100px}
.a-meta{margin-top:30px;font:600 12px Manrope,sans-serif;letter-spacing:0;text-transform:none;color:rgba(238,229,212,.6)}
.a-body{width:min(760px,calc(100% - 36px));margin:0 auto;padding:90px 0 110px;font-size:18px;line-height:1.8;color:#2e332f}
.a-body p{margin:0 0 22px}
.a-body h2{font:400 clamp(38px,4vw,56px)/1 'Instrument Serif';letter-spacing:-.03em;color:#17231f;margin:10px 0 26px}
.a-body h3{font:400 32px/1.05 'Instrument Serif';color:#17231f;margin:8px 0 14px}
.a-label{display:block;margin-top:70px;font:600 12px Manrope,sans-serif;letter-spacing:0;text-transform:none;color:#2a70a1}
.a-body>.a-label:first-child{margin-top:0}
.a-callout{margin:40px 0;padding:28px 0;border-top:1px solid #17231f;border-bottom:1px solid #17231f;font:400 clamp(26px,2.6vw,36px)/1.15 'Instrument Serif';color:#17231f}
.a-table{overflow-x:auto;margin:36px 0}
.a-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6}
.a-table th{text-align:left;font:600 12px Manrope,sans-serif;letter-spacing:0;text-transform:none;color:#777066;padding:12px 16px 12px 0;border-bottom:1px solid rgba(23,35,31,.35)}
.a-table td{padding:14px 16px 14px 0;border-bottom:1px solid rgba(23,35,31,.15);vertical-align:top}
.a-table td:first-child{color:#17231f;font-weight:600}
.a-table table{table-layout:auto}.a-table th,.a-table td{min-width:120px}
.a-table td:first-child,.a-table th:first-child{width:28%}
@media(max-width:700px){.a-table table,.a-table thead,.a-table tbody,.a-table tr,.a-table td{display:block;width:auto!important;min-width:0}.a-table thead{display:none}.a-table tr{border-bottom:1px solid rgba(23,35,31,.35);padding:14px 0}.a-table td{border:0;padding:4px 0}.a-table td[data-h]::before{content:attr(data-h);display:block;font:600 12px Manrope,sans-serif;letter-spacing:0;text-transform:none;color:#777066;margin-top:6px}}
.a-case{border-top:1px solid rgba(23,35,31,.22);padding-top:26px;margin-top:40px}
.a-case .a-label{margin-top:0}
.a-notes{margin-top:70px;padding-top:24px;border-top:1px solid rgba(23,35,31,.22);font-size:15px;color:#4f4d45}
.a-q{margin-top:30px}
.a-source{margin-top:40px;padding-top:18px;border-top:1px solid rgba(23,35,31,.22);font-size:14px;color:#625d53}
.a-source a{color:#2a70a1;border-bottom:1px solid currentColor}
@media(max-width:700px){.a-hero{padding:150px 0 60px}.a-body{font-size:16px;padding:60px 0 80px}}

/* Insights index: linked items */
a.i-item{color:inherit;text-decoration:none}
a.i-item:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.i-item .i-meta em.i-read{border-color:#17231f;color:#17231f}

/* Insights from Markdown */
.a-cover{margin:0 0 50px}
.a-cover img{width:100%;height:auto;display:block;border:1px solid rgba(23,35,31,.15)}
.a-body a{color:#2a70a1;border-bottom:1px solid currentColor}
.a-body ul,.a-body ol{margin:0 0 22px;padding-left:22px}
.a-body li{margin-bottom:8px}
.a-body img{max-width:100%;height:auto}
.a-body h3{margin-top:10px}
.a-body .a-label + h3{margin-top:8px}
.a-body .a-label{margin-top:56px}

/* Legal pages */
.a-todo{background:#f3d9a4;color:#17231f;padding:0 4px}
.a-body td{font-size:14px}
