/* The platform's public page (templates/platform/landing.html), on top of public.css. Dark, warm and calm:
   the "nacht" theme's navy with its orange accent, glows instead of photos, the product itself as the image. */
.platform-landing{--lp-navy:var(--s-hero-bg);--lp-ink:var(--s-hero-ink);--lp-accent:var(--s-hero-accent);--lp-paper:#f7f5f1;--lp-line:color-mix(in srgb,var(--s-ink) 10%,transparent);background:var(--lp-paper)}
.platform-landing h1,.platform-landing h2{letter-spacing:-.025em}
.platform-landing em{font-style:var(--s-em-style);color:var(--lp-accent)}

/* Opening */
.lp-hero{position:relative;background:var(--lp-navy);color:var(--lp-ink);padding-bottom:0;z-index:1}
.lp-glow-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.lp-glow{position:absolute;inset:-30% -10% auto;height:120%;pointer-events:none;background:radial-gradient(40% 45% at 72% 30%,color-mix(in srgb,var(--lp-accent) 38%,transparent),transparent 70%),radial-gradient(35% 40% at 15% 10%,#3d6bd94d,transparent 70%);filter:blur(10px)}
.lp-header{position:relative;z-index:2}
.lp-intro{position:relative;z-index:2;text-align:center;padding-top:56px;padding-bottom:40px}
.lp-pill{display:inline-flex;align-items:center;gap:9px;margin:0 0 26px;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;background:#ffffff12;border:1px solid #ffffff22;backdrop-filter:blur(6px)}
.lp-dot{width:8px;height:8px;border-radius:50%;background:var(--lp-accent);box-shadow:0 0 0 0 var(--lp-accent);animation:lp-pulse 2.4s infinite}
@keyframes lp-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lp-accent) 70%,transparent)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.lp-intro h1{font-size:clamp(40px,6.4vw,78px);line-height:1.02;margin:0 auto 24px;max-width:15ch}
.lp-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;max-width:640px;margin:0 auto 34px;opacity:.82}
.lp-actions{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;margin:0}
.lp-cta{padding:15px 26px;font-size:16px;border-radius:999px;box-shadow:0 12px 30px -10px color-mix(in srgb,var(--lp-accent) 80%,transparent);transition:transform .2s,box-shadow .2s}
.lp-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px color-mix(in srgb,var(--lp-accent) 90%,transparent)}
.lp-cta span{display:inline-block;transition:transform .2s}.lp-cta:hover span{transform:translateX(4px)}
.lp-link{color:var(--lp-ink);font-weight:600;text-decoration:underline;text-decoration-color:#ffffff55;text-underline-offset:5px}
.lp-link:hover{text-decoration-color:var(--lp-accent)}

/* The product in a browser window, tilted towards the reader, with a few labels floating around it. */
.lp-stage{position:relative;z-index:2;perspective:1600px;padding-bottom:0;margin-bottom:-90px}
.lp-window{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #ffffff30;box-shadow:0 50px 100px -30px #000c,0 0 0 8px #ffffff0d;transform:rotateX(12deg) scale(.97);transform-origin:center top;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.lp-window.is-flat{transform:rotateX(0) scale(1)}
.lp-window-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#eef0f3;border-bottom:1px solid #dfe2e6}
.lp-window-bar span{width:11px;height:11px;border-radius:50%;background:#d6d9de}
.lp-window-bar span:nth-child(1){background:#ff6058}.lp-window-bar span:nth-child(2){background:#ffbd2e}.lp-window-bar span:nth-child(3){background:#28c940}
.lp-window-bar p{margin:0 auto;padding:4px 14px;border-radius:6px;background:#fff;font-size:12px;color:#5d636b}
.lp-window img{display:block;width:100%;height:auto}
.lp-float{position:absolute;z-index:3;margin:0;display:flex;align-items:center;gap:9px;padding:10px 15px;border-radius:12px;background:#fff;color:var(--s-ink);font-size:14px;font-weight:600;box-shadow:0 18px 40px -14px #0008;animation:lp-float 6s ease-in-out infinite}
.lp-float b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:8px;background:color-mix(in srgb,var(--lp-accent) 16%,#fff);color:var(--lp-accent);font-size:12px}
.lp-float-a{left:-14px;top:22%}
.lp-float-b{right:-18px;top:12%;animation-delay:-2s}
.lp-float-c{right:6%;bottom:16%;animation-delay:-4s}
@keyframes lp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Everything on one place: a quiet band of words. */
.lp-strip{padding:150px 0 20px}
.lp-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px}
.lp-strip li{padding:8px 15px;border-radius:999px;border:1px solid var(--lp-line);background:#fff;font-size:14px;font-weight:600;color:color-mix(in srgb,var(--s-ink) 80%,transparent)}

/* Showcase rows */
.lp-section{position:relative;padding:110px 0}
.lp-kicker{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-accent)}
.lp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;align-items:center}
.lp-copy h2{font-size:clamp(32px,4vw,50px);line-height:1.08;margin:0 0 20px}
.lp-copy>p{font-size:17px;line-height:1.7;color:var(--s-text);margin:0 0 22px}
.lp-ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.lp-ticks li{display:flex;gap:11px;align-items:flex-start;font-weight:600;font-size:15px}
.lp-ticks li::before{content:"✓";flex:0 0 24px;height:24px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--lp-accent) 16%,#fff);color:var(--lp-accent);font-size:13px}
.lp-shot{margin:0;position:relative;z-index:0}
.lp-shot::before{content:"";position:absolute;inset:8% -6% -6% 8%;border-radius:28px;background:radial-gradient(closest-side,color-mix(in srgb,var(--lp-accent) 25%,transparent),transparent);z-index:-1;filter:blur(20px)}
.lp-shot img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--lp-line);background:#fff;box-shadow:0 40px 80px -40px #0006}
.lp-shot-tall{max-width:440px;justify-self:center}

/* AI: the dark band again, so it stands out */
.lp-ai{background:var(--lp-navy);color:var(--lp-ink);overflow:hidden}
.lp-glow-ai{inset:auto -10% -40% 30%;height:110%;background:radial-gradient(45% 50% at 60% 50%,color-mix(in srgb,var(--lp-accent) 28%,transparent),transparent 70%)}
.lp-ai .lp-copy>p{color:var(--lp-ink);opacity:.8}
.lp-ai h2{color:var(--lp-ink)}
.lp-ai-list{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.lp-ai-list li{position:relative;padding-left:32px;line-height:1.6;opacity:.88}
.lp-ai-list li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:5px;background:linear-gradient(135deg,var(--lp-accent),color-mix(in srgb,var(--lp-accent) 50%,#ffd27a))}
.lp-ai-list strong{display:block;color:var(--lp-ink);margin-bottom:2px}
.lp-ai-demo{position:relative;z-index:1;display:grid;gap:18px}
.lp-card{background:#fff;color:var(--s-ink);border-radius:18px;padding:22px 24px;box-shadow:0 40px 80px -30px #000d}
.lp-card-label{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--s-muted)}
.lp-finding{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid #eceae5}
.lp-finding:first-of-type{border-top:0;padding-top:0}
.lp-finding p{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--s-text)}
.lp-finding strong{font-size:14px}
.lp-badge{flex-shrink:0;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;background:#fae2dc;color:#982f20}
.lp-badge.warn{background:#fcefd4;color:#7c5410}
.lp-fix{font-weight:600;color:var(--s-ink)!important}
.lp-chat{margin-left:48px}
.lp-q{margin:0 0 12px auto;max-width:85%;width:fit-content;padding:11px 15px;border-radius:16px 16px 4px 16px;background:var(--s-ink);color:#fff;font-size:14px}
.lp-a{margin:0;padding:12px 15px;border-radius:16px 16px 16px 4px;background:color-mix(in srgb,var(--lp-accent) 10%,#fff);font-size:14px;line-height:1.55}
.lp-a span{display:block;margin-top:6px;font-size:12px;color:var(--s-muted)}

/* The rest, compact */
.lp-grid{margin-top:110px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lp-grid article{padding:26px;border-radius:18px;background:#fff;border:1px solid var(--lp-line);transition:transform .25s,box-shadow .25s,border-color .25s}
.lp-grid article:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--lp-accent) 40%,transparent);box-shadow:0 24px 50px -30px #0005}
.lp-grid svg{width:40px;height:40px;padding:9px;box-sizing:border-box;border-radius:12px;background:color-mix(in srgb,var(--lp-accent) 14%,#fff);stroke:var(--lp-accent);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lp-grid h3{font-size:17px;margin:16px 0 6px}
.lp-grid p{margin:0;font-size:14px;line-height:1.6;color:var(--s-text)}

/* Steps */
.lp-steps-section{background:#fff;border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line)}
.lp-steps-section h2{font-size:clamp(32px,4vw,50px);margin:0 0 50px}
.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.lp-steps li{position:relative;padding-top:66px}
.lp-steps span{position:absolute;top:0;left:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--lp-navy);color:#fff;font-size:20px;font-weight:700;box-shadow:0 10px 24px -10px var(--lp-navy)}
.lp-steps li:not(:last-child)::after{content:"";position:absolute;top:24px;left:64px;right:-14px;height:2px;background:linear-gradient(90deg,var(--lp-accent),transparent)}
.lp-steps h3{font-size:19px;margin:0 0 8px}
.lp-steps p{margin:0;line-height:1.6;color:var(--s-text)}

/* Sign up: dark with a warm glow */
.lp-signup{background:var(--lp-navy);color:var(--lp-ink);overflow:hidden}
.lp-glow-signup{inset:-20% 40% auto -20%;height:120%;background:radial-gradient(40% 45% at 40% 40%,color-mix(in srgb,var(--lp-accent) 30%,transparent),transparent 70%)}
.lp-signup-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.lp-signup h2{color:var(--lp-ink)}
.lp-signup .lp-copy>p{color:var(--lp-ink);opacity:.8}
.lp-ticks-light li{color:var(--lp-ink)}
.lp-ticks-light li::before{background:#ffffff1c;color:var(--lp-ink)}
.lp-form{border:0;border-radius:22px;box-shadow:0 40px 90px -30px #000e}
.lp-form .lp-cta{width:100%;justify-content:center}
.lp-footer{background:var(--lp-navy);color:var(--lp-ink);border-top:1px solid #ffffff1a}
.lp-footer a:not(.site-brand){color:var(--lp-ink)}

/* Form */
.landing-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.landing-form-grid p{margin:0 0 16px}
.landing-form-grid .full{grid-column:1/-1}
.landing-form-grid label,.landing-size legend{display:block;font-size:14px;font-weight:600;margin-bottom:7px;color:var(--s-ink)}
.landing-form-grid input,.landing-form-grid textarea{width:100%;box-sizing:border-box}
.landing-size{border:0;padding:0;margin:0 0 18px}
.landing-size legend{float:none;margin-bottom:8px}
.landing-size label{display:inline-flex;align-items:center;gap:8px;margin:0 8px 8px 0;padding:9px 14px;border:1px solid var(--s-field);border-radius:999px;font-size:14px;cursor:pointer;background:#fff;white-space:nowrap}
.landing-size label:has(input:checked){border-color:var(--s-ink);box-shadow:0 0 0 1px var(--s-ink)}
.landing-size input{accent-color:var(--s-ink);margin:0}
.landing-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:4px 0 20px;color:var(--s-text)}
.landing-consent input{margin-top:3px;flex-shrink:0}
.landing-consent a{text-decoration:underline}
.landing-thanks h3{font-size:22px;margin:0 0 8px;color:var(--s-ink)}
.landing-thanks p{margin:0;color:var(--s-text)}
.landing-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:36px;padding-bottom:36px}
.landing-footer p{margin:0}
.landing-footer a:not(.site-brand){text-decoration:underline}
.platform-landing .errorlist{list-style:none;padding:0;margin:4px 0 0;color:#b14d31;font-size:13px}

/* Gentle reveal while scrolling (only when the script runs and motion is welcome) */
.lp-js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.lp-js [data-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .lp-js [data-reveal]{opacity:1;transform:none;transition:none}
  .lp-window{transform:none;transition:none}
  .lp-float,.lp-dot{animation:none}
}

@media(max-width:1000px){
  .lp-row,.lp-signup-grid{grid-template-columns:1fr;gap:44px}
  .lp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-float-a{left:8px}.lp-float-b{right:8px}
}
@media(max-width:700px){
  .lp-intro{padding-top:30px}
  .lp-stage{margin-bottom:-40px}
  .lp-float{display:none}
  .lp-window{transform:none}
  .lp-strip{padding-top:90px}
  .lp-section{padding:72px 0}
  .lp-grid{grid-template-columns:1fr;margin-top:70px}
  .lp-steps{grid-template-columns:1fr;gap:34px}
  .lp-steps li:not(:last-child)::after{display:none}
  .lp-chat{margin-left:0}
  .landing-form-grid{grid-template-columns:1fr}
}
.lp-form{color:var(--s-ink)}.lp-form .landing-size label{color:var(--s-ink)}
