/* Shared desktop onboarding. All overrides are scoped to guests. */
html[data-lab-guest] { --page:#f6f5ef;--ink:#183a32;--ink-soft:#4e665e;background:var(--page); }
html[data-lab-guest] body { margin:0;min-width:320px;color:var(--ink);background:transparent;font-family:"Aptos","Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.58; }
html[data-lab-guest] *, .lab-guest-carousel * { box-sizing:border-box; }
html[data-lab-guest] .lab-guest-main { width:min(1380px,calc(100% - 72px));margin:100px auto 36px; }
html[data-lab-guest] .marketing-story { display:grid;gap:30px; }
html[data-lab-guest] .marketing-hero { position:relative;min-height:552px;border:1px solid rgba(246,252,243,.92);border-radius:32px;background:#dfeae0 url('/assets/lab-web-v2-20261003/hero.webp?v=20261003-r27-navbar-status') right center/cover no-repeat;box-shadow:0 10px 25px rgba(37,66,47,.10),inset 0 1px 0 rgba(255,255,255,.6);padding:clamp(38px,4.5vw,62px) clamp(44px,6vw,84px); }
html[data-lab-guest] .marketing-hero-copy { width:62%; }
html[data-lab-guest] .marketing-brand-title { margin:0 0 11px;color:#103b32;font-size:clamp(27px,2.5vw,39px);font-weight:820;letter-spacing:-.025em;line-height:1.08; }
html[data-lab-guest] .marketing-title { margin:0;color:#103b32;font-size:clamp(48px,4.35vw,68px);font-weight:710;letter-spacing:-.048em;line-height:1.01; }
html[data-lab-guest] .story-nav { box-sizing:border-box;position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:80;width:min(1540px,calc(100% - 32px));padding:8px;gap:16px;border:1px solid rgba(255,255,255,.88);border-radius:999px;background:rgba(250,252,248,.96);box-shadow:0 7px 20px rgba(35,65,49,.12),inset 0 1px 0 #fff; }
html[data-desktop-onboarding] .story-nav { display:flex;align-items:center;justify-content:space-between; }
html[data-desktop-onboarding] .story-nav .nav-tabs,
html[data-desktop-onboarding] .story-nav .nav-sections,
html[data-desktop-onboarding] #lab-service-readonly-notice,
html[data-desktop-onboarding] .active-idea-chip,
html[data-desktop-onboarding] .lab-idea-switcher { display:none!important; }
html[data-desktop-onboarding] [data-tab-panel]:not([data-tab-panel="input"]) { display:none!important; }
html[data-desktop-onboarding] [data-tab-panel="input"] { display:block!important; }
html[data-desktop-onboarding] .account-button,
html[data-lab-guest] .standalone-guest-next { display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;min-width:100px;padding:10px 20px;border:1px solid rgba(29,118,96,.22);border-radius:999px;color:#fff;background:linear-gradient(145deg,#238b78,#005444);font:inherit;font-size:15px;font-weight:750;cursor:pointer; }
html[data-desktop-onboarding] .account-button svg { display:none; }
html[data-desktop-onboarding] .account-button [data-account-button-label] { display:inline!important;font-size:15px; }
.lab-guest-progress { display:flex;align-items:center;gap:2px;min-height:42px;padding:0 12px; }
.lab-guest-progress[hidden],.lab-guest-carousel[hidden] { display:none!important; }
.lab-guest-dot { display:grid;place-items:center;width:32px;height:42px;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer; }
.lab-guest-dot::before { content:"";display:block;width:12px;height:12px;border-radius:50%;background:#b4ccc2;transition:background-color .18s,box-shadow .18s; }
.lab-guest-dot.is-active::before { background:#0b6956;box-shadow:0 0 0 4px rgba(11,105,86,.10); }
.lab-guest-dot:not(:disabled):hover::before { box-shadow:0 0 0 5px rgba(11,105,86,.15); }
html[data-desktop-onboarding] .lab-guest-dot:disabled { cursor:default; }
html[data-desktop-onboarding] { --lab-guest-inline-inset:calc(clamp(30px,4.3vw,82px)*.7); }
html[data-desktop-onboarding] .marketing-hero { padding-left:var(--lab-guest-inline-inset)!important; }
.lab-work-state.lab-guest-carousel { box-sizing:border-box;grid-column:1/-1;min-height:552px;padding:clamp(24px,5vh,62px) clamp(30px,4.3vw,82px);padding-left:var(--lab-guest-inline-inset);border:1px solid rgba(255,255,255,.78);border-radius:36px;overflow:hidden;color:#073e30;background-color:#dcebe1;background-image:var(--lab-guest-photo);background-position:right top;background-size:cover;background-repeat:no-repeat;box-shadow:0 10px 25px rgba(37,66,47,.10),inset 0 1px 0 rgba(255,255,255,.6);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transition:transform 260ms cubic-bezier(.2,.8,.2,1),box-shadow 260ms ease,border-color 260ms ease; }
.lab-guest-copy { position:relative;width:55%;max-width:700px; }
/* The outer card keeps its geometry and hover; only two inert visual layers move. */
.lab-work-state.lab-guest-carousel { position:relative;isolation:isolate; }
.lab-guest-carousel.is-guest-sliding > .lab-guest-copy { visibility:hidden; }
.lab-work-state.lab-guest-carousel.lab-guest-slide-layer {
  position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:100%;margin:0;
  border:0;border-radius:0;box-shadow:none;pointer-events:none;transition:none;
  will-change:transform;
}
.lab-guest-slide-layer[data-guest-slide-layer="incoming"] { z-index:2; }
.lab-guest-carousel[data-guest-step="0"] { background-color:#f4f2e9; }
.lab-work-state.lab-guest-carousel .lab-guest-copy h1 { width:100%;margin:0 0 22px;font-size:clamp(32px,3.25vw,56px);font-weight:800;line-height:1.12;letter-spacing:-.035em;color:#073e30; }
.lab-guest-prose { margin:0 0 26px; }
.lab-guest-prose p { width:100%;margin:0 0 16px;font-size:clamp(20px,1.65vw,26px);line-height:1.48;color:#315e50;text-align:justify;hyphens:manual; }
.lab-guest-prose p:last-child { margin-bottom:0; }
.lab-guest-carousel .lab-state-action { display:inline-flex;align-items:center;justify-content:center;gap:34px;min-width:196px;min-height:66px;padding:16px 34px;border:1px solid rgba(29,118,96,.22);border-radius:999px;background:linear-gradient(145deg,#238b78,#005444);box-shadow:inset 0 2px 0 rgba(255,255,255,.22),0 7px 15px rgba(24,91,68,.13);color:#fff;font-size:23px;font-weight:800;line-height:1.15;cursor:pointer; }
.lab-guest-carousel .lab-state-action [data-guest-action-label] { font-size:inherit;font-weight:inherit; }
.lab-guest-carousel .lab-state-action > span[aria-hidden] { font-size:30px;line-height:1;font-weight:400; }
.lab-guest-carousel:focus-visible { outline:3px solid #0c6b54;outline-offset:5px; }
html[data-desktop-onboarding] button:focus-visible,html[data-lab-guest] button:focus-visible { outline:3px solid #0c6b54;outline-offset:4px; }
html[data-desktop-onboarding] button:disabled,html[data-lab-guest] button:disabled { cursor:wait; }
html[data-lab-guest] .lab-guest-dot:disabled { cursor:default; }
.lab-guest-carousel:hover,.lab-guest-carousel:focus-within,
html[data-lab-guest] .marketing-hero:hover { transform:translateY(-6px);border-color:rgba(23,108,88,.24);box-shadow:0 30px 68px rgba(47,71,103,.14),0 7px 18px rgba(23,108,88,.08); }
html[data-lab-guest] .marketing-hero { transition:transform 260ms cubic-bezier(.2,.8,.2,1),box-shadow 260ms ease,border-color 260ms ease; }
/* Password choice is shared by the desktop popover and the public login. */
html[data-design-version="v2"] .account-popover { background:rgba(248,252,246,.97);border-color:rgba(106,151,128,.24);box-shadow:0 16px 40px rgba(37,66,47,.16),inset 0 1px 0 rgba(255,255,255,.9); }
html[data-design-version="v2"] .account-login:not([hidden]) { display:flex;flex-direction:column;gap:10px;min-height:238px; }
html[data-design-version="v2"] .account-login > input { flex-shrink:0;border-color:#cddbd1;color:#183a32;background:#fff; }
html[data-design-version="v2"] .account-login > input:focus { border-color:#23785f;box-shadow:0 0 0 3px rgba(35,120,95,.12); }
.lab-remember-row { display:flex!important;align-items:center;gap:10px!important;min-height:45px;flex-shrink:0;margin:0;color:#315e50;font-size:13px;font-weight:600;cursor:pointer; }
.lab-remember-row input[type="checkbox"] { width:18px!important;height:18px;min-height:18px!important;margin:0;padding:0;flex:0 0 18px;accent-color:#176958; }
.lab-login-footer { display:flex;flex-direction:column;gap:10px;margin-top:auto; }
.lab-login-footer > button[type="submit"] { min-height:43px;padding:10px 20px;border:1px solid rgba(29,118,96,.22);border-radius:999px;background:linear-gradient(145deg,#238b78,#005444);box-shadow:inset 0 2px 0 rgba(255,255,255,.22),0 5px 12px rgba(24,91,68,.12);color:#fff;font:inherit;font-weight:750;cursor:pointer; }
html[data-design-version="v2"] .account-register { color:#176958; }
html[data-design-version="v2"] .account-register:hover,html[data-design-version="v2"] .account-register:focus-visible { color:#005444; }
.lab-login-footer .account-message { margin:0; }
.lab-login-footer .account-message:empty,.lab-login-memory-status[hidden] { display:none; }
.lab-login-memory-status { margin:0;color:#7b5641;font-size:12px;line-height:1.4; }
html[data-design-version="v2"] .account-avatar { background:linear-gradient(145deg,#238b78,#005444); }
.lab-guest-login-dialog { box-sizing:border-box;width:min(460px,calc(100% - 32px));padding:30px;border:1px solid #e0e7df;border-radius:27px;background:#fff;box-shadow:0 16px 40px rgba(37,66,47,.18);color:#183a32; }
.lab-guest-login-dialog::backdrop { background:rgba(22,45,36,.30);backdrop-filter:blur(5px); }
.lab-guest-login-dialog h2 { margin:0 35px 20px 0;font-size:25px;line-height:1.2; }
.lab-guest-login-dialog form { display:flex;flex-direction:column;gap:14px; }
.lab-guest-login-dialog label { display:grid;gap:7px;font-size:15px;font-weight:600; }
.lab-guest-login-dialog input { width:100%;min-height:48px;box-sizing:border-box;border:1px solid #cddbd1;border-radius:12px;padding:10px 13px;color:#183a32;background:#fcfdfb;font:inherit; }
.lab-guest-login-dialog input:focus { outline:2px solid #23785f;outline-offset:2px; }
.lab-guest-login-dialog button[type="submit"] { min-height:48px;padding:12px 22px;border:0;border-radius:12px;background:#176958;color:#fff;font:inherit;font-weight:650;cursor:pointer; }
.lab-guest-login-close { position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#183a32;font-size:26px;cursor:pointer; }
.lab-guest-message { min-height:24px;margin:0;color:#a04332;font-size:16px; }
.lab-guest-invite { margin:0;color:#315e50;font-size:14px;text-align:center; }
@media(max-width:960px) {
  html[data-desktop-onboarding] .marketing-hero { padding-left:calc(24px*.7)!important; }
  .lab-work-state.lab-guest-carousel { padding:28px 24px;padding-left:calc(24px*.7); }
  .lab-guest-copy { width:60%; }
}
@media(max-width:760px) {
  html[data-lab-guest] .lab-guest-main { width:calc(100% - 28px);margin-top:86px; }
  html[data-lab-guest] .marketing-hero { min-height:400px;padding:28px 24px; }
  .lab-work-state.lab-guest-carousel { min-height:520px;background-image:none; }
  .lab-guest-copy { width:100%; }
  .lab-guest-carousel::after { content:"";display:block;align-self:stretch;flex:0 0 auto;width:calc(100% + 24px + 24px*.7);aspect-ratio:2.5/1;margin:26px -24px -28px calc(-24px*.7);background-image:var(--lab-guest-photo);background-size:cover;background-position:right top;background-repeat:no-repeat; }
  .lab-guest-prose p { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .lab-guest-dot::before,.lab-guest-carousel,html[data-lab-guest] .marketing-hero { transition:none; }
  .lab-guest-carousel:hover,.lab-guest-carousel:focus-within,
  html[data-desktop-onboarding] .marketing-hero:hover,html[data-desktop-onboarding] .marketing-hero:focus-within { transform:none!important; }
}

html[data-service-mode="live"]:not([data-account-state="authenticated"]) .story-nav .nav-tabs { display:none!important; }

/* Stable cover and action position across the three desktop guest states. */
html[data-desktop-onboarding][data-service-mode="live"] [data-marketing-blocks="idea"] { grid-auto-rows:auto!important; }
@media(min-width:961px) {
  .lab-work-state.lab-guest-carousel { height:var(--lab-guest-panel-height,552px);min-height:var(--lab-guest-panel-height,552px);padding-top:36px;padding-bottom:36px; }
  .lab-guest-copy { display:flex;flex-direction:column;flex:1; }
  .lab-guest-carousel .lab-state-action { align-self:flex-start;margin-top:auto; }
  .lab-guest-carousel:is([data-guest-step="1"],[data-guest-step="2"]) > .lab-guest-copy { display:grid;grid-template-rows:auto minmax(0,1fr) auto;row-gap:22px; }
  .lab-guest-carousel:is([data-guest-step="1"],[data-guest-step="2"]) > .lab-guest-copy h1 { margin-bottom:0; }
  .lab-guest-carousel:is([data-guest-step="1"],[data-guest-step="2"]) > .lab-guest-copy .lab-guest-prose { align-self:center;margin:0; }
  .lab-guest-carousel:is([data-guest-step="1"],[data-guest-step="2"]) > .lab-guest-copy .lab-state-action { justify-self:start;margin-top:0; }
  .lab-guest-carousel[data-guest-step="2"] > .lab-guest-copy { width:52%; }
}

/* Shared brand mark: same app asset, no extra disc. */
.story-nav:has(> .lab-nav-brand) { --lab-brand-gap:12px;grid-template-columns:auto minmax(0,1fr) auto 42px;column-gap:var(--lab-brand-gap); }
.lab-nav-brand { display:flex;align-items:center;justify-content:center;grid-column:4;grid-row:1;justify-self:end;flex:0 0 42px;width:42px;height:42px;margin:0 4px 0 0;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;text-decoration:none; }
.lab-nav-brand img { display:block;width:42px;height:42px;object-fit:contain;object-position:center; }
.lab-nav-brand:focus-visible { outline:3px solid #0c6b54;outline-offset:2px; }
.story-nav:has(> .lab-nav-brand) > .nav-tabs { grid-column:1;grid-row:1;min-width:0; }
.story-nav:has(> .lab-nav-brand) > .nav-sections { grid-column:1 / -1;grid-row:2;min-width:0;overflow-x:auto;justify-content:flex-start; }
.story-nav:has(> .lab-nav-brand) > .account-nav,
.story-nav:has(> .lab-nav-brand):has(#lab-service-readonly-notice) > .account-nav { grid-column:3;grid-row:1; }
.story-nav:has(> .lab-nav-brand) > #lab-service-readonly-notice { grid-column:2;grid-row:1; }
.story-nav:has(> .lab-nav-brand) .account-popover { right:calc(-42px - var(--lab-brand-gap)); }
html[data-desktop-onboarding] .story-nav:has(> .lab-nav-brand) { justify-content:flex-start; }
html[data-desktop-onboarding] .story-nav:has(> .lab-nav-brand) > .lab-guest-progress { flex:1;min-width:0;padding-left:12px; }
@media(max-width:960px) {
  .story-nav:has(> .lab-nav-brand) { grid-template-columns:minmax(0,1fr) auto 42px;align-items:center; }
  .story-nav:has(> .lab-nav-brand) > .nav-tabs { overflow-x:auto;padding-bottom:0;border-bottom:0; }
  .story-nav:has(> .lab-nav-brand) > .account-nav,
  .story-nav:has(> .lab-nav-brand):has(#lab-service-readonly-notice) > .account-nav { grid-column:2;grid-row:1; }
  .story-nav:has(> .lab-nav-brand) > .lab-nav-brand { grid-column:3; }
  .story-nav:has(> .lab-nav-brand) > .nav-sections,
  .story-nav:has(> .lab-nav-brand) > #lab-service-readonly-notice { grid-column:1 / -1;grid-row:2; }
  .story-nav:has(> .lab-nav-brand):has(> .nav-sections:not([hidden])) > #lab-service-readonly-notice { grid-row:3; }
}

/* Approved desktop About, variant B. Scoped independently of account and theme. */
.lab-nav-brand[data-lab-about-open]{cursor:pointer;color:#103e35}
.lab-about-dialog{box-sizing:border-box;width:min(1224px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:30px;background:#f8f7f0;color:#103e35;box-shadow:0 24px 80px rgba(19,42,35,.22);overflow:auto;overscroll-behavior:contain;font-family:'Segoe UI',Arial,sans-serif;text-align:left;color-scheme:light}
.lab-about-dialog::backdrop{background:rgba(28,48,40,.24);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lab-about-dialog[open]{animation:lab-about-enter .2s ease-out}
.lab-about-dialog [hidden]{display:none!important}
.lab-about-close{position:sticky;top:18px;z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:18px 18px -62px auto;padding:0;border:0;border-radius:50%;color:#163f36;background:rgba(249,249,241,.72);cursor:pointer}
.lab-about-close:hover{background:#fff}
.lab-about-card{position:relative;isolation:isolate;min-height:724px}
.lab-about-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:right top;pointer-events:none}
.lab-about-copy{padding:38px 52px 48px}
.lab-about-eyebrow{margin:0 0 28px;font-size:14px;font-weight:650;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:#56706b}
.lab-about-copy h2{max-width:690px;margin:0 0 30px;font-size:52px;line-height:1.15;letter-spacing:-1.6px;font-weight:750;color:#073d34}
.lab-about-prose{max-width:600px;font-size:21px;line-height:1.48;color:#304e48}
.lab-about-prose p{margin:0 0 22px}
.lab-about-services{width:min(460px,100%);margin-top:40px}
.lab-about-services h3{margin:0 0 14px;font-size:18px;font-weight:650;line-height:1.3;color:#647571}
.lab-about-services button,.lab-about-back{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:70px;margin:0 0 12px;padding:18px 30px;border:1px solid rgba(255,255,255,.2);border-radius:32px;background:linear-gradient(115deg,#176c5d,#084f43);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);color:#fff;font:600 20px/1.35 'Segoe UI',Arial,sans-serif;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.lab-about-services button:hover,.lab-about-back:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(16,70,55,.18)}
.lab-about-services button>span:last-child{font-size:30px;line-height:1}
.lab-about-back{width:auto;margin-top:40px;min-height:56px;font-size:18px}
.lab-about-dialog button:focus-visible{outline:3px solid #0b7059;outline-offset:4px}
.lab-about-copy h2:focus{outline:none}
@keyframes lab-about-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){
 .lab-about-dialog{width:calc(100vw - 40px)}
 .lab-about-copy{padding:36px 36px 16px;background:#faf9f3}
 .lab-about-card{display:flex;flex-direction:column;min-height:0}
 .lab-about-art{position:static;order:2;height:auto;aspect-ratio:1630/965;object-fit:contain}
 .lab-about-copy h2{max-width:none;font-size:42px}
 .lab-about-prose{max-width:700px}
 .lab-about-services{margin-top:28px}
}
@media(max-width:600px){
 .lab-about-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:24px}
 .lab-about-close{top:10px;margin:10px 10px -54px auto}
 .lab-about-copy{padding:30px 24px 12px}
 .lab-about-eyebrow{margin-bottom:28px}
 .lab-about-copy h2{font-size:32px;line-height:1.15;letter-spacing:-.8px;margin-bottom:24px;overflow-wrap:break-word}
 .lab-about-prose{font-size:18px;line-height:1.5}
 .lab-about-services button{font-size:18px;min-height:64px;padding:16px 22px;border-radius:28px;gap:12px}
}
@media(prefers-reduced-motion:reduce){.lab-about-dialog[open]{animation:none}.lab-about-dialog button{transition:none}.lab-about-dialog button:hover{transform:none}}
