/* Energy Elevation pages. Light page only (no dark panels), on the site's tokens. */
.ee-page { padding-top: clamp(2rem, 4vw, 3rem); overflow-x: clip; }
.ee-page section { border-top: 0; padding: 0; }
.ee-wrap { width: min(var(--max), 100% - 2.5rem); margin-inline: auto; padding-bottom: 4rem; }
.ee-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(1.4rem, 3vw, 2.2rem); margin-bottom: 1.25rem; }
.ee-eyebrow { font-family: var(--mono); font-size: .72rem; letter-spacing: var(--track); text-transform: uppercase; color: var(--ink-mute); margin: 0 0 .75rem; }
.ee-h { font-family: var(--serif); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.12; margin: 0 0 .9rem; color: var(--text); }
.ee-title { font-family: var(--serif); font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1; margin: 0 0 .9rem; letter-spacing: -.02em; }
.ee-lede { font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.3; color: var(--ink-soft); max-width: 44ch; margin: 0 0 2rem; }
.ee-card p { line-height: 1.6; color: var(--text); }
.ee-fine { font-size: .86rem; color: var(--ink-mute); line-height: 1.5; }
.ee-err { color: var(--accent); font-weight: 500; }
.ee-row { display: flex; gap: .75rem; align-items: center; }
.ee-row.wrap { flex-wrap: wrap; width: auto; margin-inline: 0; }  /* not the site's page-width .wrap */
.ee-link { background: none; border: 0; padding: 0; font: inherit; color: var(--text); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ee-note { background: var(--bg); border: 1px solid var(--line); border-radius: 6px; padding: .9rem 1rem; margin-bottom: 1.25rem; font-size: .95rem; line-height: 1.5; }

/* the assessment */
#ee-app { max-width: 46rem; margin: 0 auto; scroll-margin-top: 5.5rem; }
.ee-start .btn, .ee-gate .btn { margin-top: .5rem; }
.ee-progress { height: 3px; background: var(--line); border-radius: 3px; overflow: hidden; }
.ee-progress i { display: block; height: 100%; background: var(--ink); transition: width .25s ease; }
.ee-count { font-family: var(--mono); font-size: .72rem; letter-spacing: var(--track); text-transform: uppercase; color: var(--ink-mute); margin: .7rem 0 0; }
.ee-q .ee-eyebrow { margin-top: 1.2rem; }
.ee-ask { font-family: var(--serif); font-size: clamp(1.1rem, 2vw, 1.3rem); color: var(--ink-soft); margin: 1.2rem 0 0; }
.ee-deck { position: relative; flex: 1 1 auto; min-width: 0; max-width: 34rem; }
.ee-swipe-row { display: flex; align-items: center; justify-content: center; gap: .5rem; margin: 0 0 1.4rem; }
.ee-cue { display: flex; flex-direction: column; align-items: center; gap: .3rem; background: none; border: 0; padding: .25rem; cursor: pointer;
  color: #9aa1a8; font: inherit; -webkit-tap-highlight-color: transparent; transition: color .15s, opacity .15s; }
.ee-cue span { font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute); }
.ee-cue svg { display: block; fill: none; stroke: currentColor; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.ee-cue.side svg { width: 50px; height: 130px; }
.ee-cue.up { margin: .9rem auto .35rem; }
.ee-cue.up svg { width: 58px; height: 34px; }
.ee-cue:focus-visible { color: var(--ink); }
.ee-cue:active { opacity: .55; }
.ee-cue[data-d="charge"].on { color: #2f7d4f; }
.ee-cue[data-d="drain"].on { color: #b4532a; }
.ee-cue[data-d="neutral"].on { color: var(--ink); }
.ee-swipe { position: relative; z-index: 1; min-height: 14rem; display: flex; align-items: center; justify-content: center; text-align: center; padding: 2.4rem 1.2rem;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 1px 2px rgba(20, 20, 20, .05), 0 8px 24px rgba(20, 20, 20, .06);
  touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; cursor: grab; --p: 0;
  transition: transform .25s cubic-bezier(.2, .8, .3, 1.2), border-color .15s, background-color .15s; }
.ee-swipe.ee-held { cursor: grabbing; }
.ee-swipe:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.ee-under { position: absolute; inset: 0; z-index: 0; transform: translateY(10px) scale(.96); box-shadow: none; background: var(--bg); pointer-events: none; transition: none; }
.ee-swipe[data-dir="charge"] { border-color: #2f7d4f; background-color: color-mix(in srgb, #2f7d4f calc(var(--p) * 7%), var(--surface)); }
.ee-swipe[data-dir="drain"] { border-color: #b4532a; background-color: color-mix(in srgb, #b4532a calc(var(--p) * 7%), var(--surface)); }
.ee-swipe[data-dir="neutral"] { border-color: var(--ink-mute); }
.ee-stamp { position: absolute; top: 1rem; font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; padding: .35rem .6rem;
  border: 1.5px solid currentColor; border-radius: 3px; opacity: 0; pointer-events: none; }
.ee-stamp.charge { left: 1rem; color: #1f5c38; transform: rotate(-8deg); }
.ee-stamp.drain { right: 1rem; color: #8a3b1c; transform: rotate(8deg); }
.ee-stamp.neutral { left: 50%; color: var(--ink-soft); transform: translateX(-50%); }
.ee-swipe[data-dir="charge"] .ee-stamp.charge, .ee-swipe[data-dir="drain"] .ee-stamp.drain, .ee-swipe[data-dir="neutral"] .ee-stamp.neutral { opacity: var(--p); }
.ee-nudge { animation: ee-nudge 1.6s ease-in-out .6s 1; }
@keyframes ee-nudge { 0%, 100% { transform: none; } 25% { transform: translateX(-22px) rotate(-2deg); } 55% { transform: translateX(22px) rotate(2deg); } 80% { transform: none; } }
.ee-hint-touch { display: none; }
@media (pointer: coarse) { .ee-hint-touch { display: inline; } .ee-hint-keys { display: none; } }
.ee-moment { font-family: var(--serif); font-size: clamp(1.5rem, 3.4vw, 2.1rem); line-height: 1.2; margin: 0; max-width: 28ch; color: var(--text); }
.ee-nav .ee-link { white-space: nowrap; }
.ee-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 1.1rem; gap: 1rem; }
.ee-hint { font-size: .82rem; color: var(--ink-mute); text-align: right; }
.ee-vs { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: stretch; margin: 1rem 0; }
.ee-opt { font-family: var(--serif); font-size: clamp(1.25rem, 2.6vw, 1.6rem); line-height: 1.2; text-align: left; padding: 1.5rem; min-height: 9rem;
  background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); color: var(--text); cursor: pointer; }
.ee-opt:active { border-color: var(--ink); background: var(--surface); }
/* Hover only where there is a mouse: a phone keeps "hover" on the spot last
   tapped, so the next question's option under the finger looked picked. */
@media (hover: hover) and (pointer: fine) {
  .ee-opt:hover { border-color: var(--ink); background: var(--surface); }
  .ee-cue:hover { color: var(--ink); }
  .ee-cue[data-d="charge"]:hover { color: #2f7d4f; }
  .ee-cue[data-d="drain"]:hover { color: #b4532a; }
}
.ee-or { align-self: center; font-family: var(--mono); font-size: .72rem; letter-spacing: var(--track); text-transform: uppercase; color: var(--ink-mute); }
.ee-gate form { display: grid; gap: 1rem; max-width: 28rem; margin: 1.5rem 0 1rem; }
.ee-gate label { display: grid; gap: .4rem; font-size: .9rem; font-weight: 500; }
.ee-opt-l { font-weight: 400; color: var(--ink-mute); }
.ee-card input, .ee-card textarea { font: inherit; padding: .8rem .9rem; border: 1px solid var(--line-strong); border-radius: 2px; background: var(--surface); color: var(--text); width: 100%; box-sizing: border-box; }
/* 16px or more, or iPhones zoom the page in on focus and leave it zoomed. */
.ee-card input, .ee-card textarea { font-size: max(16px, 1rem); }
.ee-card input:focus, .ee-card textarea:focus { outline: 2px solid var(--ink); outline-offset: 1px; }

/* result and team */
.ee-res-head { margin-bottom: 1.5rem; }
.ee-res-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.ee-res-grid > .ee-card { margin-bottom: 0; }
.ee-res-grid + * { margin-top: 1.25rem; }
.ee-res-grid.two { grid-template-columns: 1fr 1fr; margin-bottom: 1.25rem; }
.ee-shape { margin-top: 1rem; }
.ee-prose h3 { font-family: var(--mono); font-size: .72rem; letter-spacing: var(--track); text-transform: uppercase; color: var(--ink-mute); font-weight: 400; margin: 1.5rem 0 .4rem; }
.ee-prose p { margin: 0 0 .5rem; }
.ee-complement { margin-top: 1.25rem !important; padding-top: 1rem; border-top: 1px solid var(--line); }
.ee-linkbox { display: flex; gap: .5rem; margin: 1rem 0; }
.ee-linkbox input { font-family: var(--mono); font-size: .8rem; }
@media (pointer: coarse) { .ee-card .ee-linkbox input { font-size: 16px; } }
.ee-team-cta form input { flex: 1; }
.ee-team-cta form + * { margin-top: .9rem; }
.ee-scale { display: inline-grid; justify-self: start; margin-bottom: .8rem; }
.ee-stars { display: flex; gap: .4rem; }
.ee-scale-ends { display: flex; justify-content: space-between; margin-top: .35rem; font-size: .78rem; color: var(--ink-mute); }
.ee-stars button { width: 44px; height: 44px; border: 1px solid var(--line-strong); background: var(--surface); border-radius: 2px; font-family: var(--mono); cursor: pointer; color: var(--text); }
.ee-stars button.on { background: var(--ink); color: var(--on-ink); border-color: var(--ink); }
.ee-feedback form { display: grid; gap: .7rem; max-width: 32rem; }
.ee-feedback .btn { justify-self: start; }
.ee-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.ee-chip { font: inherit; font-size: .85rem; padding: .4rem .8rem; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--surface); color: var(--text); cursor: pointer; }
.ee-chip.on { background: var(--ink); color: var(--on-ink); border-color: var(--ink); }
.ee-tablewrap { overflow-x: auto; }
.ee-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.ee-table th { text-align: left; font-family: var(--mono); font-weight: 400; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute); padding: .5rem .75rem .5rem 0; border-bottom: 1px solid var(--line); }
.ee-table td { padding: .75rem .75rem .75rem 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.ee-take { text-align: center; }
.ee-take p { margin-inline: auto; max-width: 44ch; }
.ee-loading { color: var(--ink-mute); padding: 3rem 0; }

@media (max-width: 760px) {
  .ee-res-grid, .ee-res-grid.two { grid-template-columns: 1fr; }
  .ee-wrap { width: min(var(--max), 100% - 1.5rem); }
  .ee-card { padding: 1.25rem 1.1rem; }
  .ee-swipe { min-height: 17rem; padding: 2.6rem .8rem; }
  .ee-moment { font-size: 1.3rem; }
  .ee-swipe-row { gap: .15rem; margin-inline: -.6rem; }
  .ee-cue { padding: .15rem 0; }
  .ee-cue.side svg { width: 40px; height: 110px; }
  .ee-cue span { font-size: .6rem; letter-spacing: .06em; }
  .ee-opt { min-height: 0; padding: 1.2rem; }
  .ee-share .ee-row { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .ee-share .ee-row .btn { width: 100%; min-width: 0; white-space: normal; text-align: center; justify-content: center; padding-inline: .4rem; letter-spacing: .06em; }
  .ee-share .ee-row + * { margin-top: .9rem; }
  .ee-share .ee-row .btn { box-sizing: border-box; }
  .ee-table thead { display: none; }
  .ee-table, .ee-table tbody, .ee-table tr, .ee-table td { display: block; width: auto; }
  .ee-table tr { padding: .9rem 0; border-bottom: 1px solid var(--line); }
  .ee-table td { border: 0; padding: .15rem 0; }
  .ee-table td[data-l] { display: grid; grid-template-columns: 6.5rem 1fr; gap: .5rem; }
  .ee-table td[data-l]::before { content: attr(data-l); font-family: var(--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute); padding-top: .2rem; }
  .ee-team-cta form.ee-row { display: grid; grid-template-columns: 1fr; gap: .6rem; }
  .ee-team-cta form.ee-row .btn { width: 100%; justify-content: center; text-align: center; }
  .ee-linkbox { flex-wrap: wrap; }
  .ee-linkbox input { flex: 1 1 100%; }
  .ee-vs { grid-template-columns: 1fr; gap: .6rem; }
  .ee-or { justify-self: center; }
  .ee-hint { text-align: left; }
  .ee-nav { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .ee-swipe, .ee-progress i { transition: none !important; } .ee-nudge { animation: none; } }
.ee-row .btn, .ee-linkbox .btn { margin: 0; }
.ee-row { justify-content: flex-start; flex-wrap: wrap; margin-inline: 0; }
.ee-team-cta .ee-link { text-align: left; }
.ee-blue { color: #2f6fd0; }
.ee-chip.on { background: #2f6fd0; border-color: #2f6fd0; color: #fff; }
.ee-type-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .5rem 1.5rem; }
.ee-type-list a, .ee-type-card { color: var(--text); text-decoration: none; display: flex; flex-direction: column; }
.ee-type-list a span, .ee-type-card span { font-size: .85rem; color: var(--ink-mute); }
.ee-type-list a:hover b, .ee-type-card:hover b { text-decoration: underline; }
.ee-band { margin: 2rem 0; }
.ee-type-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; margin-top: 1rem; }
.ee-type-card { margin: 0; }
.ee-type-card b { font-family: var(--serif); font-weight: 400; font-size: 1.35rem; margin-top: .5rem; }
.ee-type-name { color: inherit; text-decoration: none; }
.ee-type-name:hover { text-decoration: underline; }
