/* Section seven: try Malphas, coming soon. Words on the left, a drop area on the right that is visibly not live yet
   (dashed, dimmed, a "Coming soon" tag). Plain black ground. */
.s-try { position: relative; display: block; min-height: 0; padding: 120px 0 40px; background: #000; }
.s7wrap { width: min(1240px, calc(100vw - 48px)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center;
  padding-top: 100px; }
.s7txt h2 { margin: 24px 0 0; display: flex; flex-direction: column; font-family: var(--display); font-weight: 300; font-size: clamp(36px, 3.8vw, 58px); line-height: 1.06; letter-spacing: -.005em; color: #edede8; }
.s7txt h2 em { font-style: normal; color: rgba(237,237,232,.45); }
.s7txt p { margin: 22px 0 0; max-width: 32em; font-size: 16.5px; line-height: 1.65; color: rgba(237,237,232,.62); }
.s7btn { display: inline-flex; align-items: center; height: 46px; margin-top: 30px; padding: 0 24px; border-radius: 999px; border: 1px solid rgba(237,237,232,.3);
  color: #edede8; font-size: 15px; text-decoration: none; transition: border-color .3s, background .3s; }
.s7btn:hover { border-color: #edede8; background: rgba(237,237,232,.05); }
/* the drop area: live since 2026-10-11 (try.js). Idle = dashed and inviting; while checking and with a result it becomes a solid card */
.s7drop { position: relative; min-height: 320px; border-radius: 24px; border: 1.5px dashed rgba(237,237,232,.28); background: rgba(237,237,232,.02);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: rgba(237,237,232,.5); cursor: pointer;
  transition: border-color .35s, background .35s; outline: none; }
.s7drop:hover, .s7drop:focus-visible, .s7drop.drag { border-color: rgba(237,237,232,.6); background: rgba(237,237,232,.045); }
.s7drop.drag { border-style: solid; }
.s7idle { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 32px; }
.s7idle[hidden], .s7out[hidden] { display: none; }
.s7drop b { font-weight: 400; font-size: 17px; color: rgba(237,237,232,.8); }
.s7drop i { font-style: normal; font-size: 13.5px; color: rgba(237,237,232,.45); }
.s7ts { position: absolute; width: 0; height: 0; overflow: hidden; }
.s7drop.has-out { cursor: default; border-style: solid; border-color: rgba(237,237,232,.14); background: rgba(237,237,232,.025); align-items: stretch; justify-content: flex-start; text-align: left; }
.s7out { padding: 30px 32px 28px; display: flex; flex-direction: column; }
.s7file { display: flex; justify-content: space-between; gap: 16px; font-size: 13.5px; color: rgba(237,237,232,.5); }
.s7file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.s7file em { font-style: normal; flex: none; }
.s7v { margin-top: 22px; font-family: var(--display); font-weight: 300; font-size: clamp(26px, 2.4vw, 36px); letter-spacing: .06em; text-transform: uppercase; color: #edede8; }
.s7v.red { color: #F5223C; }
.s7h { margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: rgba(237,237,232,.68); }
.s7facts { margin: 22px 0 0; padding: 0; border-top: 1px solid rgba(237,237,232,.1); }
.s7row { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(237,237,232,.08); font-size: 14px; }
.s7row dt { color: rgba(237,237,232,.45); }
.s7row dd { margin: 0; color: rgba(237,237,232,.85); display: flex; align-items: center; gap: 12px; min-width: 0; }
.s7row code { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 13px; }
.s7copy, .s7lim summary { background: none; border: 0; padding: 0; font: inherit; font-size: 12.5px; color: rgba(237,237,232,.5); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.s7copy:hover, .s7lim summary:hover { color: #edede8; }
.s7does { margin: 18px 0 0; font-size: 14px; color: rgba(237,237,232,.68); }
.s7does b { font-weight: 500; color: rgba(237,237,232,.85); }
.s7guar { margin: 10px 0 0; font-size: 13px; line-height: 1.55; color: rgba(237,237,232,.45); }
.s7lim { margin-top: 8px; }
.s7lim summary { list-style: none; }
.s7lim summary::-webkit-details-marker { display: none; }
.s7lim ul { margin: 10px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.55; color: rgba(237,237,232,.45); }
.s7again { align-self: flex-start; margin-top: 22px; height: 42px; padding: 0 20px; border-radius: 999px; border: 1px solid rgba(237,237,232,.3); background: none;
  color: #edede8; font: inherit; font-size: 14.5px; cursor: pointer; transition: border-color .3s, background .3s; }
.s7again:hover { border-color: #edede8; background: rgba(237,237,232,.05); }
/* checking: one thin bone line sweeps under the text (no spinner) */
.s7bar { position: relative; height: 1px; margin-top: 26px; background: rgba(237,237,232,.1); overflow: hidden; }
.s7bar i { position: absolute; top: 0; left: -40%; width: 40%; height: 1px; background: rgba(237,237,232,.7); animation: s7sweep 1.4s var(--ease) infinite; }
@keyframes s7sweep { to { left: 100%; } }
@media (prefers-reduced-motion: reduce) { .s7bar i { animation: none; left: 0; width: 100%; opacity: .4; } }
@media (max-width: 900px) { .s7wrap { grid-template-columns: 1fr; } .s7drop { min-height: 240px; } }

/* Section eight: join the waitlist. The page closes on one clear step: a centred label, the two-line headline, one
   sentence and one bone button to the waitlist page. A soft bone light from above, like the other section heads. */
.s-join { position: relative; display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 14vh 0; background: #000; overflow: hidden; isolation: isolate; }
.s-join::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(55% 50% at 50% 0%, rgba(237,237,232,.085), rgba(237,237,232,0) 100%),
              radial-gradient(40% 35% at 50% 100%, rgba(232,40,63,.06), rgba(232,40,63,0) 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 30%, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 30%, #000 70%, transparent 100%); }
.s8wrap { position: relative; width: min(1240px, calc(100vw - 48px)); margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; }
.s8wrap h2 { margin: 28px 0 0; display: flex; flex-direction: column; font-family: var(--display); font-weight: 300; font-size: clamp(40px, 4.6vw, 76px); line-height: 1.1; letter-spacing: -.005em; color: #edede8; }
.s8wrap h2 em { font-style: normal; color: rgba(237,237,232,.45); }
.s8wrap p { margin: 22px 0 0; max-width: 30em; font-size: 16.5px; line-height: 1.65; color: rgba(237,237,232,.62); }
.s8btn { display: inline-flex; align-items: center; height: 50px; margin-top: 34px; padding: 0 30px; border-radius: 999px; background: #edede8; color: #070708;
  font-size: 15.5px; font-weight: 500; text-decoration: none; transition: background .3s, box-shadow .3s, transform .3s var(--ease); }
.s8btn:hover { background: #fff; box-shadow: 0 0 0 6px rgba(237,237,232,.08); }
.s8btn:active { transform: scale(.98); }
.s8fine { margin-top: 16px; font-size: 13px; color: rgba(237,237,232,.4); }
@media (max-width: 900px) { .s-join { min-height: 80vh; } }

/* Try Malphas: the "why only programs" note and the upload disclosure under the body copy */
.s7txt p.s7why { font-size: 15px; color: rgba(237,237,232,.55); }
.s7txt p.s7why b { font-weight: 500; color: rgba(237,237,232,.8); }
.s7txt p.s7fine { margin-top: 18px; font-size: 13.5px; line-height: 1.6; color: rgba(237,237,232,.42); }

/* the EXE/DLL + size line in the body copy */
.s7txt p b.s7only { font-weight: 500; color: rgba(237,237,232,.85); }
/* "report on its way" line in the result card */
.s7mail { margin: 14px 0 0; font-size: 13.5px; color: rgba(237,237,232,.7); }
/* the email pop-up: a small dark card over the drop area while the scan runs (email -> code -> you're in) */
.s7drop .s7pop { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); width: min(440px, calc(100% - 32px)); z-index: 3; text-align: left; cursor: default;
  padding: 22px 22px 18px; border-radius: 18px; background: rgba(12,12,13,.96); border: 1px solid rgba(237,237,232,.16);
  box-shadow: 0 24px 60px rgba(0,0,0,.6); animation: s7pin .45s var(--ease) both; }
@keyframes s7pin { from { opacity: 0; transform: translate(-50%, 12px); } }
@media (prefers-reduced-motion: reduce) { .s7drop .s7pop { animation: none; } }
.s7pop h3 { margin: 0; font-family: var(--display); font-weight: 300; font-size: 17px; letter-spacing: .14em; text-transform: uppercase; color: #edede8; }
.s7pop p { margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: rgba(237,237,232,.62); }
.s7prow { display: flex; gap: 8px; margin-top: 14px; }
.s7prow input { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border-radius: 10px; border: 1px solid rgba(237,237,232,.2); background: rgba(237,237,232,.04);
  color: #edede8; font: inherit; font-size: 14.5px; outline: none; transition: border-color .25s; }
.s7prow input:focus { border-color: rgba(237,237,232,.6); }
.s7prow input.s7pcode { letter-spacing: .4em; font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; }
.s7prow button { flex: none; height: 42px; padding: 0 18px; border-radius: 999px; border: 0; background: #edede8; color: #070708; font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.s7prow button:hover { background: #fff; }
.s7pop button:disabled, .s7pop input:disabled { opacity: .55; cursor: wait; }
.s7pop .s7perr { min-height: 0; margin: 8px 0 0; font-size: 13px; color: #F5223C; }
.s7pop .s7perr:empty { display: none; }
.s7pfoot { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-top: 12px; font-size: 12px; line-height: 1.5; color: rgba(237,237,232,.42); }
.s7pfoot button { flex: none; background: none; border: 0; padding: 0; font: inherit; font-size: 12.5px; color: rgba(237,237,232,.6); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.s7pfoot button:hover { color: #edede8; }
.s7drop.has-out { min-height: 380px; }
@media (max-width: 760px) { .s7drop .s7pop { bottom: 14px; padding: 18px 16px 14px; } .s7prow { flex-direction: column; } .s7prow button { width: 100%; } }
/* while the pop-up is open the card grows, so "Checking…" and its line stay visible above it */
.s7drop:has(.s7pop) { min-height: 480px; }
@media (max-width: 760px) { .s7drop:has(.s7pop) { min-height: 560px; } .s7prow input { height: 46px; } }

/* 2026-10-15: the privacy note as short lines and a list of what the team copy holds */
.s7txt .s7priv { margin-top: 18px; font-size: 14px; line-height: 1.6; color: rgba(237,237,232,.5); }
.s7txt .s7priv p { margin: 0 0 8px; }
.s7txt .s7priv b { font-weight: 500; color: rgba(237,237,232,.75); }
.s7txt .s7priv ul { margin: 0 0 10px; padding-left: 18px; }
.s7txt .s7priv li { margin: 2px 0; }