/* Almagest AI public landing (Views/Brands/almagest/Home/Landing.cshtml).
   Source: Irina Luckey's redesigned landing page (Claude Design artboard, 2026-09-13), flattened to
   static HTML. Every rule is scoped under .alma-landing so the portal's Tailwind build (loaded by
   _PublicHead for the cookie banner and brand tokens) cannot restyle it, and its preflight reset
   (ul{list-style:none}, h1-h6{font-size:inherit}, a{color:inherit}) is undone below. */
html{scroll-behavior:smooth}
body{margin:0;background:#070B1A}
.alma-landing{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.alma-landing ul{list-style:disc}
.alma-landing .member ul{list-style:disc;margin:0;padding-left:18px}
.alma-landing q{quotes:none}
.alma-landing input,.alma-landing select,.alma-landing textarea{box-shadow:none}
.alma-landing{
  --bg:#070B1A; --bg2:#0B1128; --bg3:#0F1633;
  --line:rgba(154,163,204,.16); --line2:rgba(154,163,204,.30);
  --teal:#3FD8C2; --teal2:#8CEEE0; --tealink:#04302C;
  --peri:#9AA3CC; --fog:#C3CAE6; --white:#EEF1FA;
  --paper:#F4F6FB; --paper2:#FFFFFF;
  --ink:#0E1430; --ink2:#39436E; --ink3:#5C6693; --tealdk:#0A6259;
  --maxw:1200px;
  --stars:url("../images/almagest/stars.svg");
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(20px,5vw,64px);
  --sec:clamp(64px,7.5vw,124px);
}
*{box-sizing:border-box}


.alma-landing img{max-width:100%;display:block}
.alma-landing a{color:var(--teal);text-decoration:none}
.alma-landing h1,.alma-landing h2,.alma-landing h3{margin:0}
.alma-landing .wrap{max-width:var(--maxw);margin:0 auto}
.alma-landing .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 20px}
.alma-landing .eyebrow.on-light{color:var(--tealdk)}
.alma-landing .h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.2vw,66px);line-height:1.04;letter-spacing:-.02em;text-wrap:balance}
.alma-landing .h2{font-family:var(--serif);font-weight:300;font-size:clamp(29px,3.7vw,46px);line-height:1.1;letter-spacing:-.018em;text-wrap:balance}
.alma-landing .h3{font-family:var(--sans);font-weight:600;font-size:17px;letter-spacing:-.01em;line-height:1.35}
.alma-landing .lede{font-size:clamp(17px,1.55vw,20px);line-height:1.6;color:var(--fog);max-width:56ch;text-wrap:pretty}
.alma-landing .lede.on-light{color:var(--ink3)}
.alma-landing .body{font-size:15.5px;line-height:1.65;color:var(--peri)}
.alma-landing .body.on-light{color:var(--ink3)}
.alma-landing .sec{padding:var(--sec) var(--pad)}
.alma-landing .sec-dark{background:var(--bg)}
.alma-landing .sec-deep{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.alma-landing .sec-light{background:var(--paper);color:var(--ink)}
.alma-landing .rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- buttons ---------- */
.alma-landing .btn{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600;padding:14px 24px;border-radius:4px;border:1px solid transparent;cursor:pointer;font-family:var(--sans);transition:background .18s,border-color .18s,color .18s,transform .18s}
.alma-landing .btn-primary{background:var(--teal);color:var(--tealink);border-color:var(--teal)}
.alma-landing .btn-primary:hover{background:var(--teal2);border-color:var(--teal2);color:var(--tealink)}
.alma-landing .btn-ghost{background:transparent;color:var(--white);border-color:var(--line2)}
.alma-landing .btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.alma-landing .btn-sm{padding:10px 18px;font-size:14px}
.alma-landing .btn:focus-visible,.alma-landing a:focus-visible,.alma-landing button:focus-visible,.alma-landing input:focus-visible,.alma-landing select:focus-visible,.alma-landing textarea:focus-visible{outline:2px solid var(--teal);outline-offset:3px}

/* ---------- logo ---------- */
.alma-landing .logo{display:flex;align-items:center;gap:13px;color:var(--white)}
.alma-landing .logo:hover{color:var(--white)}
.alma-landing .logo svg{width:30px;height:30px;flex:none}
.alma-landing .wordmark{font-family:var(--serif);font-weight:300;letter-spacing:.26em;text-transform:uppercase;line-height:1;white-space:nowrap}
.alma-landing .wordmark .ai{color:var(--teal);letter-spacing:.16em}

/* ---------- header ---------- */
.alma-landing header{position:sticky;top:0;z-index:60;background:rgba(7,11,26,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.alma-landing .navbar{max-width:var(--maxw);margin:0 auto;padding:15px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px}
.alma-landing .navlinks{display:flex;align-items:center;gap:clamp(16px,2.2vw,30px)}
.alma-landing .navlinks a{font-size:14px;font-weight:500;color:var(--peri);transition:color .18s}
.alma-landing .navlinks a:hover{color:var(--white)}
.alma-landing .navlinks a.btn-primary,.alma-landing .navlinks a.btn-primary:hover{color:var(--tealink)}
.alma-landing .navtoggle{display:none;background:none;border:1px solid var(--line2);border-radius:4px;color:var(--white);padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}
@media(max-width:900px){
  .alma-landing .navbar{flex-wrap:wrap;row-gap:14px}
  .alma-landing .navlinks{flex-wrap:wrap;gap:14px 18px;width:100%}
}

/* ---------- hero ---------- */
.alma-landing .hero{position:relative;overflow:hidden;padding:clamp(56px,7vw,104px) var(--pad) clamp(56px,7vw,96px);
  background:
    radial-gradient(90% 70% at 62% 6%, rgba(44,49,100,.85) 0%, rgba(16,20,50,.5) 45%, rgba(7,11,26,0) 76%),
    radial-gradient(70% 60% at 88% 78%, rgba(33,58,94,.7) 0%, rgba(7,11,26,0) 70%),
    linear-gradient(180deg,#0C1129 0%, #080D20 60%, var(--bg) 100%);}
.alma-landing .hero::before{content:"";position:absolute;inset:0;background-image:var(--stars);background-size:cover;opacity:.85;pointer-events:none}
.alma-landing .hero-flourish{position:absolute;right:-14%;top:-16%;width:min(760px,72vw);opacity:.1;pointer-events:none}
.alma-landing .hero-grid{position:relative;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,72px);align-items:center}
@media(max-width:980px){.alma-landing .hero-grid{grid-template-columns:1fr}}
.alma-landing .hero h1{margin-bottom:22px}
.alma-landing .hero .kicker{font-family:var(--serif);font-size:clamp(17px,1.65vw,21px);font-weight:400;color:var(--teal);line-height:1.4;margin:0 0 18px;max-width:46ch;letter-spacing:-.01em}
.alma-landing .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.alma-landing .trustrow{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.alma-landing .trustrow span{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--peri);display:flex;align-items:center;gap:8px}
.alma-landing .trustrow span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal);flex:none}

/* snapshot: what the platform is, in the hero's right column */
.alma-landing .snapshot{border:1px solid var(--line2);border-radius:8px;background:linear-gradient(180deg,rgba(20,27,60,.92),rgba(10,15,36,.94));box-shadow:0 40px 90px -30px rgba(0,0,0,.8);padding:clamp(22px,2.6vw,30px);container-type:inline-size}
.alma-landing .snapshot-head{margin:0 0 16px;font-family:var(--serif);font-weight:400;font-size:clamp(16px,1.45vw,20px);line-height:1.3;color:var(--white);letter-spacing:-.01em}
/* Irina asked for this line to hold on ONE line (2026-09-17). A vw clamp cannot know how wide
   the box actually is, so size it against the box itself. 4.15cqi is set from the measured
   worst case: the -.01em tracking rounds per glyph, so the string is ~11% wider per font-px at
   13px than at 23px, and a coefficient tuned at desktop wraps again around 1000px. */
@supports (font-size:1cqi){.alma-landing .snapshot-head{font-size:clamp(14px,4.15cqi,20px)}}
.alma-landing .snapshot-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.alma-landing .snapshot-list li{position:relative;padding-left:23px;font-size:14px;line-height:1.5;color:var(--peri)}
.alma-landing .snapshot-list li::before{content:"";position:absolute;left:3px;top:.26em;width:6.5px;height:12px;border:solid var(--teal);border-width:0 2.2px 2.2px 0;border-radius:1px;transform:rotate(43deg)}
.alma-landing .snapshot-list b{color:var(--white);font-weight:600}

/* ---------- audience: moving row ---------- */
/* content capped at --maxw so one copy of the row always spans the visible strip (the loop has no gap) */
.alma-landing .audience{background:var(--bg);border-top:1px solid var(--line);padding:22px max(var(--pad),calc((100% - var(--maxw))/2));display:flex;align-items:center;gap:clamp(18px,3vw,40px)}
.alma-landing .audience .label{margin:0;flex:none;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.alma-landing .marquee{display:flex;flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.alma-landing .marquee-track{list-style:none;margin:0;padding:0;display:flex;flex:none;align-items:center;animation:alma-marquee 40s linear infinite}
.alma-landing .marquee:hover .marquee-track{animation-play-state:paused}
.alma-landing .marquee-track li{display:flex;align-items:center;white-space:nowrap;font-family:var(--serif);font-weight:300;font-size:clamp(18px,1.7vw,22px);color:var(--fog);letter-spacing:-.005em}
.alma-landing .marquee-track li::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal);margin:0 clamp(24px,3vw,40px);flex:none}
@keyframes alma-marquee{to{transform:translateX(-100%)}}
@media(max-width:640px){.alma-landing .audience{flex-direction:column;align-items:stretch;gap:12px}}
/* ---------- "One run, end to end" pipeline animation (#run) ----------
   Source: Irina Luckey's "Almagest AI Landing Animation" artboard (2026-09-17), which adds this one
   section to the 2026-09-13 page. Her note: the elements sit in their FINISHED state by default so
   the section reads correctly with JS off; .armed drops them to the start frame and .run plays them
   in with staggered delays.

   Three deliberate changes from the artboard, where the animation was declared on bare .anim and so
   ran its whole 7.1s timeline at page load -- long finished before a visitor scrolls two thirds down
   the page to see it:
     1. every animation is gated on .anim.run, which almagest-landing.js adds when the block first
        scrolls into view and re-adds for the Replay button;
     2. the fill mode is `both`, not the artboard's `backwards`. Backwards only holds the FROM frame
        during the delay; once each animation ended the element fell back to its computed style, which
        is now .armed's opacity:0 -- so everything animated in and then disappeared. The artboard never
        showed this because nothing ever applied .armed there. `both` holds the TO frame as well, which
        is the finished state. barGrow gained opacity for the same reason: it animated transform only,
        so an armed bar grew while invisible.
     3. .armed is a plain opacity:0, NOT an animation, so the prefers-reduced-motion rule at the end
        of this file cannot undo it -- the JS therefore never arms the block when the visitor has
        asked for reduced motion, and the finished state is what they get.
   The metric tiles keep their data-val/data-pre/data-suf/data-dp attributes from the artboard: they
   are the hook for counting the figures up, which nothing reads yet. */
.alma-landing .anim{margin-top:clamp(30px,4vw,46px);border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.022);overflow:hidden}
.alma-landing .anim-rail{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px 18px;border-bottom:1px solid var(--line)}
.alma-landing .rail-step{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:7px 15px;color:var(--white);border:1px solid rgba(63,216,194,.5);background:rgba(63,216,194,.1)}
.alma-landing .rail-step b{color:var(--teal);font-weight:500}
.alma-landing .replay{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--peri);background:none;border:1px solid var(--line);border-radius:999px;padding:7px 15px;cursor:pointer;transition:color .18s,border-color .18s}
.alma-landing .replay:hover{color:var(--teal);border-color:rgba(63,216,194,.5)}
.alma-landing .anim-stage{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
@media(max-width:880px){.alma-landing .anim-stage{grid-template-columns:1fr}}
.alma-landing .acol{background:var(--bg2);padding:22px 20px}
.alma-landing .acol-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--peri);margin-bottom:16px}
.alma-landing .acol-h .ct{color:var(--teal);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.alma-landing .docs{display:grid;gap:7px}
.alma-landing .doc{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.03);font-size:12.5px;line-height:1.3;color:var(--fog)}
.alma-landing .doc i{width:12px;height:15px;flex:none;border:1px solid var(--line2);border-radius:2px;background:linear-gradient(180deg,rgba(195,202,230,.22),rgba(195,202,230,.04))}
.alma-landing .mgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.alma-landing .mtile{border:1px solid var(--line);border-radius:6px;padding:13px 12px;background:rgba(255,255,255,.03)}
.alma-landing .mtile .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--peri)}
.alma-landing .mtile .v{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:7px;font-variant-numeric:tabular-nums;color:var(--white);line-height:1}
.alma-landing .mtile .d{font-family:var(--mono);font-size:9.5px;color:var(--teal);margin-top:6px;letter-spacing:.04em}
.alma-landing .acol-note{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--peri)}
.alma-landing .paper{border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.04);padding:16px 15px;display:grid;gap:9px}
.alma-landing .pline{height:7px;border-radius:3px;background:rgba(195,202,230,.2);transform-origin:left}
.alma-landing .pline.t{height:11px;width:70%;background:rgba(195,202,230,.48)}
.alma-landing .pline.s{width:86%}
.alma-landing .pbars{display:flex;align-items:flex-end;gap:6px;height:54px;margin:5px 0 2px}
.alma-landing .pbars i{flex:1;border-radius:2px 2px 0 0;background:linear-gradient(180deg,var(--teal),rgba(63,216,194,.25));transform-origin:bottom}
.alma-landing .pcites{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.alma-landing .pgate{margin-top:4px;display:flex;align-items:center;gap:10px;border:1px solid rgba(63,216,194,.42);background:rgba(63,216,194,.08);border-radius:5px;padding:10px 12px;font-size:12.5px;color:var(--white);font-weight:600;line-height:1.3}
.alma-landing .pgate em{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-left:auto;font-weight:400;font-style:normal;flex:none}
.alma-landing .anim-note{margin:0;padding:12px 18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--peri)}

@keyframes docIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes tileIn{from{opacity:0;transform:translateY(11px) scale(.97)}to{opacity:1;transform:none}}
@keyframes lineIn{from{opacity:0;transform:scaleX(.12)}to{opacity:1;transform:none}}
@keyframes barGrow{from{opacity:0;transform:scaleY(.03)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes railOn{from{color:var(--peri);border-color:var(--line);background:transparent}to{color:var(--white);border-color:rgba(63,216,194,.5);background:rgba(63,216,194,.1)}}

/* start frame -- JS only, and never under prefers-reduced-motion (see the note above) */
.alma-landing .anim.armed .doc,.alma-landing .anim.armed .mtile,.alma-landing .anim.armed .pline,.alma-landing .anim.armed .pbars i,.alma-landing .anim.armed .pcite,.alma-landing .anim.armed .pgate,.alma-landing .anim.armed .acol-note{opacity:0}
.alma-landing .anim.armed .rail-step{color:var(--peri);border-color:var(--line);background:transparent}

/* 01 Ingest -- the rail pill lights, then six documents land 0.28s apart */
.alma-landing .anim.run .rail-step{animation:railOn .01s linear both}
.alma-landing .anim.run .rail-step:nth-child(1){animation-delay:.05s}
.alma-landing .anim.run .rail-step:nth-child(2){animation-delay:2.4s}
.alma-landing .anim.run .rail-step:nth-child(3){animation-delay:4.3s}

.alma-landing .anim.run .doc{animation:docIn .55s cubic-bezier(.2,.7,.3,1) both}
.alma-landing .anim.run .doc:nth-child(1){animation-delay:.15s}
.alma-landing .anim.run .doc:nth-child(2){animation-delay:.43s}
.alma-landing .anim.run .doc:nth-child(3){animation-delay:.71s}
.alma-landing .anim.run .doc:nth-child(4){animation-delay:.99s}
.alma-landing .anim.run .doc:nth-child(5){animation-delay:1.27s}
.alma-landing .anim.run .doc:nth-child(6){animation-delay:1.55s}

/* 02 Summarise -- four metric tiles, then the normalisation note */
.alma-landing .anim.run .mtile{animation:tileIn .6s cubic-bezier(.2,.7,.3,1) both}
.alma-landing .anim.run .mtile:nth-child(1){animation-delay:2.5s}
.alma-landing .anim.run .mtile:nth-child(2){animation-delay:2.8s}
.alma-landing .anim.run .mtile:nth-child(3){animation-delay:3.1s}
.alma-landing .anim.run .mtile:nth-child(4){animation-delay:3.4s}
.alma-landing .anim.run .acol-note{animation:fadeUp .5s ease-out both;animation-delay:3.7s}

/* 03 Draft -- paper lines wipe in, bars grow, citations appear, human gate last at 6.6s */
.alma-landing .anim.run .pline{animation:lineIn .5s ease-out both}
.alma-landing .anim.run .pline:nth-of-type(1){animation-delay:4.4s}
.alma-landing .anim.run .pline:nth-of-type(2){animation-delay:4.6s}
.alma-landing .anim.run .pline:nth-of-type(3){animation-delay:4.8s}
.alma-landing .anim.run .pline:nth-of-type(4){animation-delay:5.0s}
.alma-landing .anim.run .pbars i{animation:barGrow .55s cubic-bezier(.2,.7,.3,1) both}
.alma-landing .anim.run .pbars i:nth-child(1){animation-delay:5.25s}
.alma-landing .anim.run .pbars i:nth-child(2){animation-delay:5.37s}
.alma-landing .anim.run .pbars i:nth-child(3){animation-delay:5.49s}
.alma-landing .anim.run .pbars i:nth-child(4){animation-delay:5.61s}
.alma-landing .anim.run .pbars i:nth-child(5){animation-delay:5.73s}
.alma-landing .anim.run .pbars i:nth-child(6){animation-delay:5.85s}
.alma-landing .anim.run .pcite{animation:fadeUp .4s ease-out both}
.alma-landing .anim.run .pcite:nth-child(1){animation-delay:6.05s}
.alma-landing .anim.run .pcite:nth-child(2){animation-delay:6.2s}
.alma-landing .anim.run .pcite:nth-child(3){animation-delay:6.35s}
.alma-landing .anim.run .pgate{animation:fadeUp .5s cubic-bezier(.2,.7,.3,1) both;animation-delay:6.6s}

@media (prefers-reduced-motion:reduce){
  .alma-landing .marquee{-webkit-mask-image:none;mask-image:none}
  .alma-landing .marquee-track{flex-wrap:wrap;row-gap:8px}
  .alma-landing .marquee-track[aria-hidden="true"]{display:none}
}

/* run panel */
.alma-landing .panel{border:1px solid var(--line2);border-radius:8px;background:linear-gradient(180deg,rgba(20,27,60,.92),rgba(10,15,36,.94));box-shadow:0 40px 90px -30px rgba(0,0,0,.8);overflow:hidden;backdrop-filter:blur(6px)}
.alma-landing .panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.alma-landing .panel-head .t{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--peri)}
.alma-landing .panel-head .v{font-family:var(--mono);font-size:11px;color:var(--teal)}
.alma-landing .panel-body{padding:16px;display:grid;gap:8px}
.alma-landing .step{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.02)}
.alma-landing .step .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);flex:none}
.alma-landing .step .txt{font-size:13.5px;color:var(--fog);flex:1;line-height:1.45}
.alma-landing .step .st{font-family:var(--mono);font-size:10.5px;color:var(--peri);letter-spacing:.06em;text-transform:uppercase;flex:none}
.alma-landing .step.gate{border-color:rgba(63,216,194,.42);background:rgba(63,216,194,.08)}
.alma-landing .step.gate .txt{color:var(--white);font-weight:600}
.alma-landing .step.gate .st{color:var(--teal)}
.alma-landing .finding{margin-top:6px;padding:15px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.alma-landing .finding p{margin:0;font-size:13.5px;line-height:1.6;color:var(--fog)}
.alma-landing .cites{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.alma-landing .cite{font-family:var(--mono);font-size:10px;color:var(--peri);border:1px solid var(--line2);border-radius:3px;padding:4px 8px}
.alma-landing .panel-foot{padding:12px 18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--peri)}
.alma-landing .run-bar{height:2px;background:var(--line)}
.alma-landing .run-bar span{display:block;height:100%;width:100%;background:var(--teal);transition:width .6s ease}
.alma-landing .run .step,.alma-landing .run .step .dot{transition:opacity .35s,border-color .35s,background-color .35s}
.alma-landing .run .step.is-queued{opacity:.42}
.alma-landing .run .step.is-queued .dot{background:var(--line2)}
.alma-landing .run .step.gate.is-queued{border-color:var(--line);background:rgba(255,255,255,.02)}
.alma-landing .run .step.gate.is-queued .txt{color:var(--fog);font-weight:400}
.alma-landing .run .step.is-running .dot{animation:alma-pulse 1s ease-in-out infinite}
.alma-landing .run .step.is-running .st{color:var(--teal)}
.alma-landing .run .finding{transition:opacity .5s,transform .5s}
.alma-landing .run .finding.is-hidden{opacity:0;transform:translateY(6px)}
@keyframes alma-pulse{0%,100%{box-shadow:0 0 0 0 rgba(63,216,194,.6)}50%{box-shadow:0 0 0 6px rgba(63,216,194,0)}}

/* ---------- provenance strip ---------- */
.alma-landing .prov{background:var(--paper2);padding:clamp(30px,4vw,44px) var(--pad);border-bottom:1px solid #E3E7F2}
.alma-landing .prov .label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);text-align:center;margin:0 0 24px}
.alma-landing .prov .logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(26px,4vw,54px)}
.alma-landing .prov img{height:clamp(26px,2.6vw,32px);width:auto;max-width:136px;object-fit:contain;opacity:.72;filter:saturate(0)}

/* ---------- generic grids ---------- */
.alma-landing .grid{display:grid;gap:clamp(28px,4vw,64px)}
.alma-landing .g-2{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}
.alma-landing .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
.alma-landing .card{border:1px solid var(--line);border-radius:8px;padding:26px 24px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.008));transition:border-color .2s,transform .2s}
.alma-landing .card:hover{border-color:rgba(63,216,194,.42);transform:translateY(-2px)}
.alma-landing .card .n{font-family:var(--mono);font-size:11px;color:var(--teal);margin-bottom:16px;letter-spacing:.05em}
.alma-landing .card h3{margin-bottom:9px}
.alma-landing .card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--peri)}
.alma-landing .card.accent{border-color:rgba(63,216,194,.34);background:rgba(63,216,194,.06)}
.alma-landing .card.accent p{color:var(--fog)}

/* ---------- problem ---------- */
.alma-landing .pains{display:grid;gap:1px;background:#E1E6F1;border:1px solid #E1E6F1;border-radius:8px;overflow:hidden}
.alma-landing .pains div{background:var(--paper2);padding:17px 20px;font-size:15px;line-height:1.55;color:var(--ink)}
.alma-landing .cycle{margin-top:clamp(38px,5vw,64px);border-top:1px solid #E1E6F1;padding-top:clamp(30px,4vw,48px)}
.alma-landing .cycle-head{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;justify-content:space-between;margin-bottom:26px}
.alma-landing .cycle-head h3{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.2vw,26px);color:var(--ink);letter-spacing:-.01em}
.alma-landing .cycle-head .tot{font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.alma-landing .track{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.alma-landing .leg{background:var(--paper2);border:1px solid #E1E6F1;border-radius:6px;padding:16px 15px}
.alma-landing .leg .w{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--tealdk);margin-bottom:9px}
.alma-landing .leg .n{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.35}
.alma-landing .leg .d{font-size:13px;color:var(--ink3);margin-top:6px;line-height:1.5}
.alma-landing .leg.now{background:#0E1430;border-color:#0E1430}
.alma-landing .leg.now .w{color:var(--teal)}
.alma-landing .leg.now .n{color:#fff}
.alma-landing .leg.now .d{color:var(--peri)}
.alma-landing .cycle-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(20px,3vw,40px);align-items:start}
.alma-landing .cycle-body .track{grid-template-columns:1fr;gap:8px}
.alma-landing .cycle-body .leg{display:grid;grid-template-columns:104px 1fr;column-gap:16px;padding:14px 16px}
.alma-landing .cycle-body .leg .w{grid-row:span 2;margin:2px 0 0}
.alma-landing .cycle-body .leg .d{margin-top:4px}
@media(max-width:900px){.alma-landing .cycle-body{grid-template-columns:1fr}}
@media(max-width:480px){.alma-landing .cycle-body .leg{grid-template-columns:1fr}.alma-landing .cycle-body .leg .w{grid-row:auto;margin:0 0 8px}}
.alma-landing .pull{margin-top:clamp(34px,4vw,52px);display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:30px;align-items:start;border-top:1px solid #E1E6F1;padding-top:clamp(28px,4vw,44px)}
.alma-landing .pull q{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.5vw,30px);line-height:1.3;letter-spacing:-.015em;color:var(--ink);quotes:none;display:block}

/* ---------- tabs ---------- */
.alma-landing .tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(30px,4vw,46px);border-bottom:1px solid var(--line);padding-bottom:16px}
.alma-landing .tab{font-family:var(--sans);font-size:14px;font-weight:600;padding:11px 18px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--peri);cursor:pointer;transition:.18s}
.alma-landing .tab:hover{color:var(--white);border-color:var(--line2)}
.alma-landing .tab[aria-selected="true"]{background:rgba(63,216,194,.12);border-color:rgba(63,216,194,.5);color:var(--teal)}
.alma-landing .tabpanel{margin-top:clamp(26px,3.5vw,38px);border:1px solid var(--line);border-radius:10px;padding:clamp(24px,3.2vw,42px);background:rgba(255,255,255,.022);display:grid;grid-template-columns:minmax(250px,.88fr) minmax(300px,1.22fr);gap:clamp(26px,4vw,56px);align-items:start}
@media(max-width:820px){.alma-landing .tabpanel{grid-template-columns:1fr}}
.alma-landing .tabpanel[hidden]{display:none}
.alma-landing .tabpanel h3{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.4vw,31px);letter-spacing:-.015em;line-height:1.2}
.alma-landing .tabpanel .sub{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--fog)}
.alma-landing .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.alma-landing .chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(63,216,194,.34);border-radius:3px;padding:6px 10px}
.alma-landing .stepslist{display:grid;gap:9px}
.alma-landing .stepslist div{display:flex;gap:14px;align-items:baseline;padding:14px 16px;border-radius:6px;background:rgba(255,255,255,.03)}
.alma-landing .stepslist b{font-family:var(--mono);font-size:11px;color:var(--teal);font-weight:500;flex:none}
.alma-landing .stepslist span{font-size:14.5px;line-height:1.55;color:var(--fog)}

/* ---------- outputs ---------- */
.alma-landing .outs{display:grid;grid-template-columns:repeat(auto-fit,minmax(322px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:clamp(30px,4vw,46px)}
.alma-landing .out{background:var(--bg2);padding:26px 24px}
.alma-landing .out h3{margin-bottom:9px}
.alma-landing .out p{margin:0;font-size:14px;line-height:1.6;color:var(--peri)}

/* ---------- trust ---------- */
.alma-landing .tcard{background:var(--paper2);border:1px solid #E1E6F1;border-radius:8px;padding:24px}
.alma-landing .tcard h3{margin-bottom:8px;color:var(--ink)}
.alma-landing .tcard p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink3)}

/* ---------- security ---------- */
.alma-landing .sec-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(322px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:clamp(30px,4vw,46px)}
.alma-landing .sec-tiles>div{background:var(--bg2);padding:26px 22px}
.alma-landing .sec-tiles h3{margin-bottom:8px;font-size:16px}
.alma-landing .sec-tiles p{margin:0;font-size:13.5px;line-height:1.6;color:var(--peri)}

/* ---------- origin ---------- */
.alma-landing .origin{position:relative;overflow:hidden;background:linear-gradient(180deg,#080D20,#0C1230)}
.alma-landing .origin .mark-bg{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(760px,120vw);opacity:.055;pointer-events:none}
.alma-landing .origin .inner{position:relative;max-width:820px;margin:0 auto;text-align:center}
.alma-landing .origin .h2{margin-bottom:24px}
.alma-landing .origin p{margin:0 auto;max-width:62ch}
.alma-landing .origin .sig{margin-top:32px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}

/* ---------- team ---------- */
.alma-landing .team{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:clamp(30px,4vw,46px)}
.alma-landing .member{background:var(--paper2);border:1px solid #E1E6F1;border-radius:10px;padding:28px;display:flex;flex-direction:column}
.alma-landing .member .top{display:flex;gap:20px;align-items:center}
.alma-landing .member img.ph{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none;border:1px solid #E1E6F1;background:#EDF0F7}
.alma-landing .member h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:-.01em;color:var(--ink);line-height:1.15}
.alma-landing .member .role{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tealdk);margin-top:8px}
.alma-landing .member .bio{margin:20px 0 0;font-size:14.5px;line-height:1.65;color:var(--ink3)}
.alma-landing .member .bio li{margin-bottom:7px}
.alma-landing .member ul{margin:0;padding-left:18px}
.alma-landing .member .marks{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:auto;padding-top:22px;border-top:1px solid #EDF0F7}
.alma-landing .member .marks img{height:24px;width:auto;max-width:112px;object-fit:contain;opacity:.7;filter:saturate(0)}
.alma-landing .member .links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;padding-bottom:22px}
.alma-landing .member .links a{font-size:14px;font-weight:600;color:var(--tealdk)}
.alma-landing .member .links a:hover{text-decoration:underline}

/* ---------- contact ---------- */
.alma-landing .form{border:1px solid var(--line2);border-radius:10px;padding:clamp(24px,3vw,34px);background:rgba(255,255,255,.03)}
.alma-landing .field{display:grid;gap:7px;margin-bottom:15px}
.alma-landing .field span{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--peri)}
.alma-landing .field input,.alma-landing .field select,.alma-landing .field textarea{background:rgba(7,11,26,.7);border:1px solid var(--line2);border-radius:4px;padding:13px 14px;color:var(--white);font-size:15px;font-family:var(--sans);outline:none;width:100%}
.alma-landing .field textarea{resize:vertical;min-height:84px}
.alma-landing .field input::placeholder,.alma-landing .field textarea::placeholder{color:#7A83AD}
.alma-landing .field select{color-scheme:dark}
.alma-landing .form .fine{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--peri)}
.alma-landing .next-label{margin:30px 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.alma-landing .next-steps{margin:0;padding:0;list-style:none;counter-reset:alma-next;display:grid;gap:11px}
.alma-landing .next-steps li{counter-increment:alma-next;display:flex;gap:12px;align-items:baseline;font-size:15px;line-height:1.55;color:var(--fog)}
.alma-landing .next-steps li::before{content:"0" counter(alma-next);font-family:var(--mono);font-size:11px;color:var(--teal);flex:none}
.alma-landing .contact-facts{margin-top:24px;display:grid;gap:11px;font-size:15px;color:var(--fog)}
.alma-landing .contact-facts div{display:flex;gap:11px;align-items:baseline}
.alma-landing .contact-facts div::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal);flex:none;transform:translateY(-3px)}
.alma-landing .thanks h3{font-family:var(--serif);font-weight:400;font-size:24px}
.alma-landing .thanks p{margin:14px 0 0;font-size:15.5px;line-height:1.6;color:var(--fog)}

/* ---------- footer ---------- */
.alma-landing footer{padding:44px var(--pad);background:var(--bg);border-top:1px solid var(--line)}
.alma-landing .foot{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.alma-landing .foot .small{font-size:13px;color:var(--peri)}
.alma-landing .foot nav{display:flex;gap:22px;font-size:13.5px}
.alma-landing .foot nav a{color:var(--peri)}
.alma-landing .foot nav a:hover{color:var(--teal)}

/* ---------- demo form: honeypot + error state ---------- */
.alma-landing .field.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;margin:0}
.alma-landing .form .err{color:#FFB4A8}
.alma-landing .form .err a{color:var(--teal);font-weight:600}
.alma-landing .btn[disabled]{opacity:.7;cursor:progress}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the privacy control in the public footer keyboard-accessible. */
.alma-landing footer [data-cookie-settings] { font: inherit; color: inherit; background: transparent; border: 0; cursor: pointer; min-height: 44px; text-decoration: underline; }
.alma-landing footer [data-cookie-settings]:focus-visible { outline: 2px solid var(--brand-accent); outline-offset: 4px; }
