/* The public website on the LAOS blueprint: the same ground, mint, amber,
   Manrope and JetBrains Mono as the application (frontend/src/blueprint.css)
   and the investor deck. Loaded after site.css, public.css and
   navigation.css, so it re-tokens them rather than rewriting them. */
@font-face{font-family:"JetBrains Mono";src:url('fonts/jetbrains-mono-latin-variable.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}

body[data-public-site]{
  --ink:#0b1b1f;--deep:#070d0f;--teal:#055f5b;--paper:#f4f7f7;--chalk:#ffffff;--sage:#e7eeec;--muted:#44595d;--rule:#d5dede;
  --serif:Manrope,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --bp-ground:#070d0f;--bp-raised:#0c1619;--bp-line:rgb(226 238 235 / .14);--bp-line-strong:rgb(226 238 235 / .32);
  --bp-text:#e9f0ee;--bp-soft:#c7d4d2;--bp-muted:#9db0af;--bp-mint:#b2f1d7;--bp-amber:#f4bf5b;--bp-ease:cubic-bezier(.2,.8,.2,1);
  background:var(--paper);
}
body[data-public-site] :is(h1,h2,h3){font-weight:700;letter-spacing:-.035em}
body[data-public-site] h1{letter-spacing:-.04em}
body[data-public-site] :is(.menu-intro>p,.field-guide-copy>h3,.precision-row strong,.chapter-lead>h2,.chapter-card>h3,.mobile-journey-link,.directory-main,.mobile-audience-directory>summary){font-weight:600;letter-spacing:-.02em}

/* Labels speak in the app's mono. */
body[data-public-site] :is(.eyebrow,.nav-kicker,.section-index>span:first-child,.row-number,.hero-caption span,.sample-pill,.journey-marker span,.journey-index a>span){font-family:var(--mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
body[data-public-site] .eyebrow{font-size:12px}

/* Square corners, as in the app. */
body[data-public-site] :is(.button,.button-small,.text-link.button,input,select,textarea,.audience-dropdown){border-radius:2px}

/* The hero carries the deck's opening. */
body[data-public-site] .hero-a .hero-scrim{background:linear-gradient(90deg,rgb(7 13 15 / .92) 0%,rgb(7 13 15 / .72) 38%,rgb(7 13 15 / .18) 72%,rgb(7 13 15 / 0) 100%),linear-gradient(0deg,rgb(7 13 15 / .7) 0%,rgb(7 13 15 / 0) 40%)}
body[data-public-site] .hero-a-content h1{max-width:12ch}
body[data-public-site] .hero-eyebrow{color:var(--bp-soft)}

/* ---- Six parties, one record ---------------------------------------- */
.relay{padding-block:104px 32px;background:var(--paper)}
.relay-head{display:grid;gap:14px;max-width:780px}
.relay-head h2{margin:0}
.relay-head p{margin:0;color:var(--muted);font-size:18px;line-height:1.55;max-width:62ch}
.relay-chain{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid var(--rule);background:var(--chalk)}
.relay-chain li{position:relative;display:grid;gap:4px;align-content:start;padding:20px 18px 22px;min-width:0}
.relay-chain li+li{border-left:1px solid var(--rule)}
.relay-chain b{font-size:17px;letter-spacing:-.01em}
.relay-chain span{color:var(--muted);font-size:14px;line-height:1.4}
.relay-chain em{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#875100;margin-top:10px}
.relay-chain li:last-child em{color:transparent}
.relay-answer{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline}
.relay-answer strong{font-size:24px;letter-spacing:-.02em}
.relay-answer span{color:var(--muted)}

/* ---- The product tour: real screens on the application's own ground --- */
.tour{background:var(--bp-ground);color:var(--bp-text);padding-block:120px 40px}
.tour .eyebrow{color:var(--bp-mint)}
.tour-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 56px;align-items:end;padding-bottom:56px}
.tour-head h2{color:#fff;margin:10px 0 0}
.tour-head p{margin:0;color:var(--bp-soft);font-size:18px;line-height:1.55}
.tour-list{list-style:none;margin:0;padding:0}
.tour-item{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;align-items:center;padding-block:64px;border-top:1px solid var(--bp-line)}
.tour-item:nth-child(even){grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.tour-item:nth-child(even) .tour-copy{order:2}
.tour-copy{display:grid;gap:14px;align-content:start;min-width:0}
.tour-copy .tour-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bp-mint);display:flex;gap:12px;align-items:center}
.tour-copy .tour-kicker span{color:var(--bp-muted)}
.tour-copy h3{color:#fff;font-size:34px;line-height:1.1;margin:0}
.tour-copy p{margin:0;color:var(--bp-soft);font-size:17px;line-height:1.6}
.tour-points{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:9px}
.tour-points li{display:grid;grid-template-columns:14px 1fr;gap:10px;font-size:15px;line-height:1.45;color:var(--bp-text)}
.tour-points li::before{content:"";width:6px;height:6px;margin-top:8px;background:var(--bp-mint)}
.tour-figure{margin:0;min-width:0;border:1px solid var(--bp-line);border-radius:2px;background:var(--bp-raised);box-shadow:0 48px 96px -48px rgb(0 0 0 / .9),0 0 0 1px rgb(0 0 0 / .4);overflow:hidden}
.tour-figure img{display:block;width:100%;height:auto}
.tour-figure figcaption{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-top:1px solid var(--bp-line);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--bp-muted)}
.tour-note{padding-block:28px 0;border-top:1px solid var(--bp-line);color:var(--bp-muted);font-size:14px;line-height:1.55;max-width:80ch}

/* ---- Follow one mob: the story film and its loops on the light ground --- */
.film-story{background:var(--paper);color:var(--ink)}
.film-story .eyebrow,.film-story .tour-copy .tour-kicker{color:var(--teal)}
.film-story .tour-head h2,.film-story .tour-copy h3{color:var(--ink)}
.film-story .tour-head p,.film-story .tour-copy p{color:var(--muted)}
.film-story .tour-copy .tour-kicker span{color:#768c90}
.film-story .tour-points li{color:var(--ink)}
.film-story .tour-points li::before{background:var(--teal)}
.film-story .tour-item{border-top-color:var(--rule)}
.film-story .tour-note{border-top-color:var(--rule);color:var(--muted)}
.film-hero,.loop-figure{position:relative;margin:0;min-width:0;overflow:hidden;border:1px solid var(--rule);border-radius:12px;background:#f5f2e8;box-shadow:0 40px 80px -48px rgb(11 27 31 / .45)}
.film-hero img,.film-hero video,.loop-figure img,.loop-figure video{display:block;width:100%;height:auto;aspect-ratio:16 / 9}
.film-hero video{background:#f5f2e8}
.film-hero video[hidden],.film-hero img[hidden]{display:none}
.film-hero figcaption{display:flex;justify-content:space-between;gap:16px;padding:10px 16px;border-top:1px solid var(--rule);background:var(--chalk);font-size:12px;font-weight:600;color:var(--muted)}
.film-play{position:absolute;left:50%;top:calc(50% - 20px);transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;padding:12px 22px 12px 12px;border:0;border-radius:999px;background:var(--teal);color:#fff;font:inherit;cursor:pointer;box-shadow:0 16px 40px -16px rgb(5 95 91 / .7);transition:transform .25s var(--bp-ease),box-shadow .25s var(--bp-ease)}
.film-play:hover{transform:translate(-50%,-50%) scale(1.03)}
.film-play:focus-visible,.loop-control:focus-visible,.film-transcript summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.film-play[hidden]{display:none}
.film-play-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--teal);font-size:16px;padding-left:3px}
.film-play-text{display:grid;gap:1px;text-align:left}
.film-play-text b{font-size:16px;font-weight:800}
.film-play-text span{font-size:12.5px;font-weight:600;opacity:.82}
.film-size{display:none}
.film-transcript{margin:18px 0 8px;border:1px solid var(--rule);border-radius:10px;background:var(--chalk);padding:0 18px}
.film-transcript summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--teal)}
.film-transcript ol{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.film-transcript li{display:grid;grid-template-columns:170px 1fr;gap:12px;font-size:15px;line-height:1.45;color:var(--ink)}
.film-transcript li span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);padding-top:2px}
.loop-list{margin-top:48px}
.loop-figure .loop-video{position:absolute;inset:0;height:100%;object-fit:cover;opacity:0;transition:opacity .35s var(--bp-ease)}
.loop-figure.is-playing .loop-video{opacity:1}
.loop-control{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 9px;border:1px solid var(--rule);border-radius:999px;background:rgb(255 255 255 / .92);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;backdrop-filter:blur(6px)}
.loop-control .loop-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:10px}
.loop-control[disabled]{opacity:.6;cursor:default}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:760px){
  .loop-figure img,.loop-figure video{aspect-ratio:9 / 16}
  .loop-figure{max-width:420px;margin-inline:auto}
  .film-transcript li{grid-template-columns:1fr;gap:2px}
  /* phones: the whole still is the Play button, with one round icon; the length and size sit in the caption */
  .film-play,.film-play:hover{left:0;top:0;transform:none;width:100%;aspect-ratio:16 / 9;display:grid;place-items:center;padding:0;border-radius:0;background:transparent;box-shadow:none}
  .film-play:focus-visible{outline-offset:-4px}
  .film-play-icon{width:60px;height:60px;background:var(--teal);color:#fff;font-size:19px;padding-left:4px;box-shadow:0 14px 30px -12px rgb(5 95 91 / .85),0 0 0 6px rgb(255 255 255 / .55)}
  .film-play:active .film-play-icon{transform:scale(.94)}
  .film-play:not([disabled]) .film-play-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .film-play[disabled]{background:rgb(11 27 31 / .55)}
  .film-size{display:inline}
  .film-hero figcaption{flex-direction:column;gap:2px}
}
@media (prefers-reduced-motion:reduce){.film-play,.loop-figure .loop-video{transition:none}}

/* ---- In the paddock: the phone on the light ground ------------------- */
.field-band{background:var(--sage);padding-block:112px}
.field-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.field-copy{display:grid;gap:16px;align-content:start}
.field-copy h2{margin:0}
.field-copy p{margin:0;color:var(--muted);font-size:18px;line-height:1.6;max-width:52ch}
.field-copy .tour-points li{color:var(--ink)}
.field-copy .tour-points li::before{background:var(--teal)}
.phones{display:flex;justify-content:center;gap:28px;align-items:flex-start}
.phone{margin:0;width:min(300px,44%);flex:none;padding:9px;border-radius:30px;background:#0b1b1f;box-shadow:0 40px 80px -40px rgb(11 27 31 / .55)}
.phone img{display:block;width:100%;height:auto;border-radius:22px}
.phone:nth-child(2){margin-top:72px}
.phone figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#9db0af;text-align:center;padding:10px 4px 2px}

@media (max-width:1000px){
  .relay-chain{grid-template-columns:repeat(3,minmax(0,1fr))}
  .relay-chain li:nth-child(4){border-left:0}
  .relay-chain li:nth-child(n+4){border-top:1px solid var(--rule)}
  .tour-head,.tour-item,.tour-item:nth-child(even),.field-layout{grid-template-columns:minmax(0,1fr)}
  .tour-item:nth-child(even) .tour-copy{order:0}
  .tour-item{gap:28px;padding-block:48px}
}
@media (max-width:640px){
  .relay,.field-band{padding-block:72px}
  .tour{padding-block:80px 24px}
  .relay-chain{grid-template-columns:minmax(0,1fr)}
  .relay-chain li+li{border-left:0;border-top:1px solid var(--rule)}
  .relay-chain li:last-child em{display:none}
  .tour-copy h3{font-size:27px}
  .tour-figure figcaption{flex-direction:column;gap:4px}
  .phones{gap:14px}
  .phone{padding:6px;border-radius:22px}
  .phone img{border-radius:17px}
  .phone:nth-child(2){margin-top:40px}
}
@media (prefers-reduced-motion:no-preference){
  .tour-figure{transition:transform .5s var(--bp-ease),box-shadow .5s var(--bp-ease)}
  .tour-item:hover .tour-figure{transform:translateY(-4px)}
}
