:root {
  color-scheme:light;
  --ink:#132d2a;
  --muted:#526962;
  --teal:#075f53;
  --accent:#afe4c5;
  --paper:#f5f7f3;
  --line:#d6dfd8;
  --dark:#123f39;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-variant-numeric:tabular-nums;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
}

* {
  box-sizing:border-box;
}

body {
  margin:0;
}

header {
  background:#fff;
  border-bottom:1px solid var(--line);
}

.bar,main,footer {
  max-width:1280px;
  margin:auto;
  padding:0 clamp(18px,4vw,64px);
}

.bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:72px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:20px;
  font-weight:750;
  color:var(--ink);
  text-decoration:none;
  letter-spacing:-.7px;
  white-space:nowrap;
}

.brand>span:last-child {
  font-weight:400;
}

.brandmark {
  display:grid;
  place-items:center;
  background:var(--dark);
  color:#d4f6cf;
  font:italic bold 32px/1 Georgia;
  width:34px;
  height:34px;
  border-radius:8px;
  margin-right:6px;
  padding-bottom:6px;
}

nav {
  display:flex;
  align-items:stretch;
  gap:24px;
}

nav a {
  color:var(--muted);
  padding:24px 0 20px;
  border-bottom:3px solid transparent;
  font-size:14px;
  font-weight:650;
  text-decoration:none;
}

nav a[aria-current] {
  border-color:var(--teal);
  color:var(--teal);
}

a {
  color:var(--teal);
  text-underline-offset:3px;
}

a:hover {
  text-decoration:underline;
}

main {
  min-height:75vh;
  padding-bottom:56px;
}

h1,h2,h3,p,figure {
  margin:0;
}

h1,h2,h3 {
  line-height:1.15;
  letter-spacing:-.035em;
}

h1 {
  font-size:clamp(32px,4.1vw,58px);
  font-weight:620;
}

h2 {
  font-size:clamp(22px,2.25vw,32px);
  font-weight:630;
}

h3 {
  font-size:20px;
}

.title {
  margin:34px 0 24px;
}

.title>p:last-child:not(.eyebrow) {
  max-width:75ch;
  color:var(--muted);
  margin-top:10px;
}

.eyebrow,.meta-label {
  font-size:11px;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}

.eyebrow {
  margin-bottom:7px;
}

.meta,.muted,small,.caption {
  color:var(--muted);
  font-size:14px;
}

.quote {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  background:var(--dark);
  border-radius:14px;
  padding:21px 25px;
  color:#fafdf9;
  margin:0 0 14px;
}

.quote strong {
  font-size:22px;
}

.quote .meta-label {
  color:var(--accent);
}

.quote .quote-detail {
  max-width:57ch;
  font-size:13px;
  color:#d5e7e0;
}

.quote a {
  color:#daffdf;
}

.cases,.grid3 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.card,.panel,.item,.control-group {
  background:white;
  border:1px solid var(--line);
  border-radius:14px;
}

.card,.panel {
  padding:clamp(18px,2vw,28px);
}

.case {
  display:flex;
  flex-direction:column;
  align-items:start;
  position:relative;
  overflow:hidden;
}

.case:before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:#438271;
}

.case.bull:before {
  background:#49708e;
}

.case.superBull:before {
  background:#82728f;
}

.case h2 {
  font-size:21px;
}

.price {
  font-size:clamp(31px,3.3vw,49px);
  letter-spacing:-.06em;
  font-weight:620;
  line-height:1.2;
  margin:12px 0 2px;
}

.case p {
  margin:14px 0 19px;
  font-size:15px;
  color:#39514b;
}

.case a {
  margin-top:auto;
}

.action,.case a,.section-link {
  font-weight:680;
  font-size:14px;
}

.section-head,.row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
}

.section-head {
  margin:32px 0 14px;
}

.columns {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);
  gap:18px;
  margin-top:25px;
}

.columns>.panel .section-head:first-child {
  margin-top:0;
}

.panel>p,.panel>details,.panel>ul,.panel>.meta {
  margin-top:10px;
}

.panel h3:not(:first-child) {
  margin-top:20px;
}

.details-stack {
  margin-top:14px;
}

details {
  scroll-margin-top:20px;
}

summary {
  cursor:pointer;
  font-weight:650;
}

details[open]>summary {
  margin-bottom:12px;
}

.item,.control-group {
  padding:16px 20px;
  margin:10px 0;
}

.item summary strong {
  display:block;
  font-size:17px;
}

.item p,.item small {
  display:block;
  margin:8px 0;
}

.item summary .eyebrow {
  display:inline-block;
}

.chart {
  display:block;
  width:100%;
  height:auto;
  margin-top:14px;
}

.chart text {
  fill:var(--muted);
  font:12px sans-serif;
}

.metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:18px;
}

.metrics b {
  display:block;
  font-size:21px;
}

.risk-list {
  padding-left:20px;
}

.risk-list li {
  margin:10px 0;
}

.caption {
  margin-top:12px;
}

.pill {
  display:inline-block;
  background:#e8f1e9;
  color:#225548;
  border-radius:5px;
  padding:2px 8px;
  font-size:12px;
  font-weight:650;
}

.tabs,.actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}

button,.button,select,input,textarea {
  font:inherit;
  color:inherit;
}

button,.button,select {
  background:#fff;
  border:1px solid #a9bbb1;
  border-radius:7px;
  padding:8px 12px;
  font-size:14px;
}

button,.button {
  cursor:pointer;
  font-weight:650;
  text-decoration:none;
}

button:hover,.button:hover {
  background:#eaf2eb;
}

button[aria-pressed=true],.primary {
  background:var(--dark);
  color:white;
  border-color:var(--dark);
}

.primary:hover {
  background:#1c574d;
}

button:disabled {
  opacity:.6;
  cursor:wait;
}

input[type=number],input[type=search] {
  border:1px solid #97aa9f;
  border-radius:6px;
  padding:9px;
  background:#fff;
  width:100%;
  max-width:220px;
}

.table-wrap {
  overflow:auto;
}

table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

th,td {
  padding:12px 10px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--line);
}

th {
  color:var(--muted);
  font-size:13px;
}

tbody th {
  color:var(--ink);
}

.table-wrap:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #227dab;
  outline-offset:3px;
}

.notice,.error {
  padding:12px 16px;
  border-left:4px solid #669581;
  background:#eaf2e9;
  margin:12px 0;
}

.error {
  border-color:#9f651c;
  background:#fff3dc;
  color:#623c0e;
}

.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.field {
  padding:12px 0;
  border-top:1px solid var(--line);
}

.field label {
  display:block;
  font-weight:650;
}

.field input {
  margin:6px 5px 6px 0;
}

.field small {
  display:block;
}

.session-layout {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);
  align-items:start;
  gap:20px;
}

.results {
  position:sticky;
  top:14px;
}

.results dt {
  color:var(--muted);
}

dl {
  margin:12px 0;
}

dl div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  padding:7px 0;
}

dd {
  margin:0;
  font-weight:650;
}

.results .price {
  font-size:42px;
}

.list {
  display:grid;
  gap:10px;
}

.source-card {
  padding:16px 0;
  border-bottom:1px solid var(--line);
}

.source-card>p {
  margin:4px 0;
}

.skip {
  position:absolute;
  left:10px;
  top:-100px;
  background:white;
  padding:10px;
  z-index:1;
}

.skip:focus {
  top:5px;
}

.waterfall ol,.water-head {
  padding:0;
}

.waterfall li,.water-head {
  display:grid;
  grid-template-columns:1.3fr 1fr .6fr .65fr;
  align-items:center;
  gap:8px;
  font-size:13px;
  margin:8px 0;
}

.water-scale {
  display:flex;
  justify-content:space-between;
}

.water-track {
  position:relative;
  height:10px;
  background:var(--paper);
}

.water-track i {
  position:absolute;
  height:100%;
  background:#357869;
}

.water-track i.loss {
  background:#af7547;
}

.waterfall {
  margin:12px 0;
}

.bridge-list {
  padding-left:24px;
}

.bridge-list li {
  padding:8px;
}

.bridge-list h3 {
  font-size:17px;
}

footer {
  display:flex;
  justify-content:space-between;
  gap:15px;
  border-top:1px solid var(--line);
  padding-top:20px;
  padding-bottom:24px;
  font-size:13px;
  color:var(--muted);
}

[hidden] {
  display:none!important;
}

@media(max-width:850px) {
  .bar {
    align-items:start;
    flex-direction:column;
    gap:3px;
    padding-top:13px;
  }
  nav {
    gap:17px;
    flex-wrap:wrap;
  }
  nav a {
    padding:8px 0;
    font-size:13px;
  }
  .columns,.session-layout {
    grid-template-columns:1fr;
  }
  .results {
    position:static;
  }
  .case {
    padding:16px;
  }
  .title {
    margin:24px 0 18px;
  }
}

@media(max-width:600px) {
  .cases,.grid3,.form-grid {
    grid-template-columns:1fr;
  }
  .cases {
    gap:9px;
  }
  .case {
    display:grid;
    grid-template-columns:1fr auto;
    gap:2px 10px;
  }
  .case h2 {
    align-self:center;
  }
  .case .price {
    margin:0;
    font-size:31px;
  }
  .case small {
    grid-column:1/-1;
  }
  .case p {
    grid-column:1/-1;
    margin:7px 0 3px;
  }
  .case a {
    grid-column:1/-1;
  }
  .quote {
    align-items:start;
    flex-direction:column;
    gap:4px;
    padding:15px 17px;
  }
  nav {
    gap:8px 14px;
  }
  .section-head,.row {
    flex-wrap:wrap;
    gap:6px;
  }
  .metrics {
    grid-template-columns:1fr 1fr;
  }
  .columns {
    margin-top:16px;
  }
  .waterfall li,.water-head {
    font-size:11px;
  }
  footer {
    flex-wrap:wrap;
  }
  h1 {
    font-size:33px;
  }
  .title .eyebrow {
    font-size:10px;
  }
}

.quote {
  margin-top:12px;
}

.results>.primary {
  margin-top:12px;
}

.sensitivity {
  margin:14px 0;
}

.sensitivity figcaption {
  font-size:15px;
  font-weight:650;
  margin-bottom:8px;
}

.sensitivity>div {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(36px,.8fr) auto;
  align-items:center;
  gap:8px;
  margin:8px 0;
}

.sensitivity .track {
  height:9px;
  background:#eef3ee;
}

.sensitivity i {
  display:block;
  height:100%;
  background:#448476;
}

.sensitivity b {
  font-size:13px;
}

.results {
  max-height:calc(100vh - 30px);
  overflow:auto;
}

.source-card {
  overflow-wrap:anywhere;
}

@media(max-width:850px) {
  .results {
    max-height:none;
    overflow:visible;
  }
}

@media(max-width:850px) {
  .session-layout {
    display:flex;
    flex-direction:column;
  }
  .session-layout>div,.session-layout>.results {
    width:100%;
  }
  .session-layout>.results {
    order:-1;
  }
  .results table {
    font-size:13px;
  }
}

.market-widget{margin:1rem 0}.market-widget iframe{display:block;width:100%;max-width:480px;height:132px;border:0}.market-widget a{font-size:.85rem}

.price-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 30%);
  gap: clamp(20px, 4vw, 54px);
  align-items: center;
  margin: 24px 0 18px;
}

.price-intro .title {
  margin: 0;
}

.story-cover {
  display: block;
  overflow: hidden;
  border: 1px solid var(--dark);
  border-radius: 9px;
  background: var(--dark);
  color: #fafdf9;
  text-decoration: none;
}

.story-cover img {
  display: block;
  width: 100%;
  height: clamp(100px, 10vw, 135px);
  object-fit: cover;
  object-position: 65% 48%;
}

.story-cover > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  font-weight: 650;
  font-size: 14px;
}

.story-cover:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}

@media (max-width: 650px) {
  .price-intro {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .story-cover {
    display: flex;
    align-items: stretch;
  }

  .story-cover img {
    width: 36%;
    height: 80px;
  }

  .story-cover > span {
    flex: 1;
    gap: 8px;
  }
}
