/* ============================================================
   INDUSTRY LANDING PAGE — a lean, conversion-focused page that
   shares the site's tokens (ivory editorial). One CTA repeated:
   book a consultation. Depth + atmosphere borrowed from the main
   site so it reads premium, not like a generic ad page.
   ============================================================ */
.lp{overflow-x:clip}
.lp .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}

/* eyebrow — mono label + pulsing dot, used throughout */
.lp-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ember-soft);font-weight:600}
.lp-eyebrow.ctr{justify-content:center}
.lp-eyebrow .led{width:7px;height:7px;border-radius:50%;background:var(--ember-soft);
  box-shadow:0 0 10px var(--glow);animation:ledPulse 2.4s var(--ease) infinite}
/* hero's opening line 20% larger so it leads the page (section eyebrows unchanged) */
.lp-hero .lp-eyebrow{font-size:13.2px}

.lp-head{margin-bottom:34px}
.lp-head.ctr{text-align:center}
.lp h2{font-size:clamp(24px,3.4vw,36px);line-height:1.08;letter-spacing:-.02em;margin-top:12px;color:var(--ink)}
.lp-head p{font-size:15.5px;color:var(--ink-soft);margin-top:12px;max-width:56ch;line-height:1.55}
.lp-head.ctr p{margin-left:auto;margin-right:auto}

/* ---------- Nav ---------- */
.lp-nav{position:sticky;top:0;z-index:50;transition:.3s var(--ease)}
.lp-nav.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
.lp-nav-in{max-width:var(--maxw);margin:0 auto;padding:16px var(--gutter);display:flex;align-items:center;
  justify-content:space-between}
.lp-nav .brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;letter-spacing:.06em;
  font-size:16px;color:var(--ink);text-decoration:none}
.lp-nav-cta{font-family:inherit;font-weight:600;font-size:13.5px;color:#F6F4EF;background:var(--ink);
  padding:11px 20px;border-radius:var(--r-pill);text-decoration:none;transition:.2s var(--ease)}
.lp-nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 26px -14px rgba(20,15,12,.5)}

/* ---------- Hero — left-aligned single column (real chat lives in the widget) */
.lp-hero{text-align:left;padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(44px,5vw,72px)}
.lp-hero-l{max-width:680px}
.lp-hero-try{font-size:13px;color:var(--ink-faint);margin-top:22px}
.lp-hero-try b{color:var(--ember-soft);font-weight:600}
.lp-hero h1{font-size:clamp(32px,4.6vw,52px);line-height:1.05;letter-spacing:-.025em;margin:16px 0 0;
  color:var(--ink);font-weight:700}
.lp-sub{font-size:clamp(16px,1.5vw,18.5px);line-height:1.55;color:var(--ink-soft);margin-top:18px;max-width:50ch}
.lp-sub b{color:var(--ink);font-weight:700}
.lp-hero-cta{display:flex;align-items:center;justify-content:flex-start;gap:20px;flex-wrap:wrap;margin-top:26px}
.lp .btn.btn-primary svg,.lp-modal .btn.btn-primary svg{width:17px;height:17px;stroke:currentColor;
  fill:none;stroke-width:2.2;vertical-align:middle}
.lp-textlink{font-weight:600;font-size:14px;color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid var(--line-2);padding-bottom:2px;transition:.2s var(--ease)}
.lp-textlink:hover{color:var(--ink);border-color:var(--ink-soft)}
.lp-ticks{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 22px;margin:24px 0 0;padding:0}
.lp-ticks li{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);font-weight:600}
.lp-ticks svg{width:15px;height:15px;stroke:var(--green-soft);fill:none;stroke-width:2.4;flex:none}

/* Hero chat mockup — a lit product surface */
.lp-hero-r{position:relative;isolation:isolate}
.lp-chat{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel);
  padding:16px 16px 20px;box-shadow:0 44px 100px -50px rgba(28,20,14,.55),0 12px 30px -20px rgba(28,20,14,.3);
  position:relative;overflow:hidden}
.lp-chat::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(60% 70% at 70% 10%,color-mix(in srgb,var(--ember-soft) 12%,transparent),transparent 70%)}
.lp-chat-top{display:flex;align-items:center;gap:11px;padding:4px 6px 14px;border-bottom:1px solid var(--line)}
.lp-chat-orb{width:34px;height:34px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 32% 28%,var(--orb-lit) 0%,var(--ember-soft) 26%,var(--ember-deep) 100%);
  box-shadow:0 0 0 3px var(--orb-ring),0 6px 16px -6px var(--glow)}
.lp-chat-id{display:flex;flex-direction:column;line-height:1.25}
.lp-chat-id b{font-size:14px;color:var(--ink)}
.lp-chat-id span{font-size:11px;color:var(--ink-faint)}
.lp-chat-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-soft)}
.lp-chat-live i{width:6px;height:6px;border-radius:50%;background:var(--green-soft);
  box-shadow:0 0 8px rgba(143,111,62,.5);animation:ledPulse 2.4s var(--ease) infinite}
.lp-chat-body{display:flex;flex-direction:column;gap:9px;padding-top:14px}
.lpc-bub{max-width:82%;padding:11px 14px;border-radius:15px;font-size:13.5px;line-height:1.5}
.lpc-bub.a{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);
  border-bottom-left-radius:5px}
.lpc-bub.u{align-self:flex-end;background:var(--ember-soft);color:#F6F4EF;border-bottom-right-radius:5px}

/* ---------- Pain — editorial stacked list, not a checklist ---------- */
.lp-pain{padding:clamp(48px,6vw,80px) var(--gutter);border-top:1px solid var(--line)}
.lp-pains{list-style:none;margin:0 auto;padding:0;max-width:660px}
.lp-pains li{position:relative;padding:19px 0 19px 30px;border-bottom:1px solid var(--line);
  font-size:17px;line-height:1.5;color:var(--ink)}
.lp-pains li:last-child{border-bottom:none}
.lp-pains li::before{content:"";position:absolute;left:0;top:27px;width:14px;height:2px;border-radius:2px;
  background:#C0644E}

/* ---------- Benefits ---------- */
.lp-benefits{padding:clamp(48px,6vw,80px) var(--gutter);
  background:var(--product-canvas);position:relative;isolation:isolate}
.lp-benefits::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,var(--bg),transparent 12%,transparent 88%,var(--bg))}
/* Fine grain film on every product-canvas surface — the same tactile texture
   the main site uses so these read as designed surfaces, not flat CSS gradient. */
.lp-benefits::before,.lp-pricing::before,.lp-final-card::before{content:"";position:absolute;inset:0;
  z-index:-1;pointer-events:none;mix-blend-mode:overlay;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.lp-final-card{isolation:isolate}
.lp-ben-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lp-ben{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 20px;
  box-shadow:0 16px 40px -28px rgba(28,20,14,.4);transition:.3s var(--ease)}
.lp-ben:hover{transform:translateY(-4px);box-shadow:0 30px 66px -34px rgba(28,20,14,.42);border-color:var(--line-2)}
.lp-ben h3{font-size:16px;letter-spacing:-.01em;color:var(--ink);margin-bottom:9px}
.lp-ben p{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}

/* ---------- Scenario ---------- */
.lp-scenario{padding:clamp(40px,5vw,64px) var(--gutter)}
.lp-scn-card{max-width:720px;margin:0 auto;border-radius:var(--r-lg);border:1px solid var(--line);
  background:var(--panel);padding:28px 30px;box-shadow:0 24px 60px -40px rgba(28,20,14,.4)}
.lp-scn-who{font-family:var(--font-serif);font-size:22px;color:var(--ink);margin-top:10px;line-height:1.2}
.lp-scn-steps{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:0}
.lp-scn-steps li{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);
  font-size:15px;color:var(--ink-soft);line-height:1.5}
.lp-scn-steps li:last-child{border-bottom:none}
.lp-scn-n{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:rgba(143,111,62,.12);border:1px solid rgba(143,111,62,.3);color:var(--ember-soft);
  font-family:var(--font-mono);font-size:11px;font-weight:600;margin-top:1px}

/* ---------- How it works ---------- */
.lp-how{padding:clamp(48px,6vw,80px) var(--gutter)}
.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lp-step{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel);padding:26px 22px;
  box-shadow:0 16px 40px -30px rgba(28,20,14,.35)}
.lp-step-n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;
  background:var(--ink);color:#F6F4EF;font-family:var(--font-mono);font-size:14px;font-weight:600;margin-bottom:14px}
.lp-step h3{font-size:16.5px;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}
.lp-step p{font-size:14px;line-height:1.55;color:var(--ink-soft)}

/* ---------- Pricing ---------- */
.lp-pricing{padding:clamp(48px,6vw,80px) var(--gutter);background:var(--product-canvas);
  position:relative;isolation:isolate}
.lp-pricing::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,var(--bg),transparent 12%,transparent 88%,var(--bg))}
.lp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,340px));gap:18px;justify-content:center}
.lp-plan{position:relative;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel);
  padding:28px 26px;box-shadow:0 22px 54px -34px rgba(28,20,14,.42);display:flex;flex-direction:column}
.lp-plan.featured{border-color:rgba(143,111,62,.4);box-shadow:0 34px 78px -40px var(--glow),0 12px 30px -20px rgba(28,20,14,.3)}
.lp-plan-badge{position:absolute;top:-11px;left:26px;font-family:var(--font-mono);font-size:9.5px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#F6F4EF;background:var(--ember-soft);
  padding:4px 11px;border-radius:var(--r-pill)}
.lp-plan-name{font-family:var(--font-serif);font-size:23px;color:var(--ink);line-height:1.1}
.lp-plan-line{font-size:13.5px;color:var(--ink-soft);margin-top:6px;min-height:2.6em;line-height:1.4}
.lp-plan-price{display:flex;align-items:baseline;gap:5px;margin-top:8px;padding-top:16px;
  border-top:1px solid var(--line)}
.lp-plan-price b{font-family:var(--font-serif);font-size:38px;font-weight:400;color:var(--ink)}
.lp-plan-price span{font-size:14px;color:var(--ink-faint)}
.lp-plan-setup{font-size:12.5px;color:var(--ink-faint);margin-top:4px}
.lp-plan-feat{list-style:none;margin:18px 0 22px;padding:0;display:flex;flex-direction:column;gap:10px;flex:1}
.lp-plan-feat li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink-soft);line-height:1.4}
.lp-check{width:17px;height:17px;border-radius:50%;flex:none;margin-top:1px;display:grid;place-items:center;
  background:rgba(143,111,62,.12);border:1px solid rgba(143,111,62,.3)}
.lp-check svg{width:9px;height:9px;stroke:var(--ember-soft);fill:none;stroke-width:3}
.lp-plan .btn.btn-primary{width:100%;justify-content:center}
.lp-plan-note{text-align:center;font-size:13px;color:var(--ink-faint);margin-top:22px;max-width:52ch;
  margin-left:auto;margin-right:auto;line-height:1.5}

/* ---------- Proof strip ---------- */
/* ---------- Businesses — the shared main-page section, mounted verbatim.
   Cards/band/window styles come from businesses.css + services.css (loaded
   by the landing HTML); this only frames the section on the page. ---------- */
.lp-bizsec{padding:clamp(38px,4.8vw,60px) 0 clamp(28px,3.6vw,46px);border-top:1px solid var(--line)}
.lp-bizsec .sec-head{margin-bottom:28px}
/* safety net: components.css hides .reveal, but the main page's motion
   engine that un-hides it isn't loaded here */
.lp-bizsec .reveal{opacity:1;transform:none}
/* landing pages don't load motion.css, so the live-dot pulse lives here too */
@keyframes ledPulse{0%{box-shadow:0 0 0 0 rgba(200,156,96,.5)}70%{box-shadow:0 0 0 7px rgba(200,156,96,0)}100%{box-shadow:0 0 0 0 rgba(200,156,96,0)}}

/* ---------- Case-study window (modal) ---------- */
.lp-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.lp-modal[hidden]{display:none}
.lp-modal-back{position:absolute;inset:0;background:rgba(20,15,12,.5);backdrop-filter:blur(4px)}
.lp-modal-card{position:relative;z-index:1;width:100%;max-width:760px;max-height:88vh;overflow:auto;
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:0 60px 140px -50px rgba(20,15,12,.7);animation:lpModalIn .3s var(--ease)}
@keyframes lpModalIn{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
.lp-modal-close{position:absolute;top:14px;right:14px;z-index:2;width:32px;height:32px;border-radius:9px;
  border:1px solid var(--line-2);background:var(--panel);color:var(--ink-soft);font-size:15px;cursor:pointer;
  transition:.2s var(--ease)}
.lp-modal-close:hover{color:var(--ink);border-color:var(--ink-soft)}
.lp-modal-body{padding:34px clamp(24px,4vw,40px) 30px}
.lp-cs-top h3{font-family:var(--font-serif);font-size:30px;color:var(--ink);margin:10px 0 8px;line-height:1.1}
.lp-cs-about{font-size:14.5px;color:var(--ink-soft);line-height:1.55;max-width:52ch}
.lp-cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.lp-cs-col h4{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);margin:0 0 12px;font-weight:600}
.lp-cs-col h4:not(:first-child){margin-top:22px}
.lp-cs-member{display:flex;align-items:center;gap:11px;padding:5px 0}
.lp-cs-dot{width:8px;height:8px;border-radius:50%;background:var(--biz-color,var(--green-soft));flex:none}
.lp-cs-member b{font-size:14px;color:var(--ink);font-weight:600}
.lp-cs-member span:last-child{font-size:12px;color:var(--ink-soft);margin-left:2px}
.lp-cs-note{font-size:11.5px;color:var(--ink-faint);line-height:1.5;margin-top:9px;padding-left:11px;
  border-left:2px solid var(--biz-color,var(--line-2))}
.lp-cs-handles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.lp-cs-handles li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft)}
.lp-cs-dive{display:flex;flex-direction:column;gap:16px}
.lp-cs-t{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px}
.lp-cs-d{font-size:13px;color:var(--ink-soft);line-height:1.55}
.lp-cs-quote{margin:22px 0 0;padding:16px 20px;border-radius:14px;background:var(--panel-2);
  border-left:3px solid var(--biz-color,var(--ember-soft));font-family:var(--font-serif);font-size:16px;
  line-height:1.55;color:var(--ink);font-style:italic}
.lp-cs-quote cite{display:block;margin-top:12px;font-family:var(--font-mono);font-style:normal;
  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
  color:var(--biz-color,var(--ember-soft))}
.lp-cs-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px;padding-top:22px;
  border-top:1px solid var(--line)}

/* ---------- Final CTA ---------- */
.lp-final{padding:clamp(40px,5vw,70px) var(--gutter) clamp(56px,7vw,90px)}
.lp-final-card{max-width:720px;margin:0 auto;text-align:center;border-radius:var(--r-lg);
  padding:clamp(36px,5vw,54px) clamp(24px,4vw,48px);background:var(--product-canvas);
  border:1px solid var(--line);box-shadow:0 34px 84px -46px rgba(28,20,14,.5);position:relative;overflow:hidden}
.lp-final-card h2{margin-bottom:12px}
.lp-final-card p{font-size:15.5px;color:var(--ink-soft);max-width:48ch;margin:0 auto 24px;line-height:1.55}
.lp-final-card .btn.btn-primary{margin:0 auto}
.lp-final-card .lp-textlink{display:inline-block;margin-top:18px}

/* ---------- Footer ---------- */
.lp-foot{border-top:1px solid var(--line);padding:26px var(--gutter)}
.lp-foot-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap}
.lp-foot .brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.06em;
  color:var(--ink);text-decoration:none;font-size:15px}
.lp-foot span{font-size:12.5px;color:var(--ink-faint)}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .lp-hero{grid-template-columns:1fr;gap:34px}
  .lp-ben-grid{grid-template-columns:1fr 1fr}
  .lp-steps{grid-template-columns:1fr}
  .lp-pains{grid-template-columns:1fr}
}
@media(max-width:600px){
  .lp-ben-grid{grid-template-columns:1fr}
  .lp-plans{grid-template-columns:1fr;max-width:360px;margin:0 auto}
  .lp-cs-grid{grid-template-columns:1fr;gap:8px}
  .lp-hero-cta{gap:14px}
  .lp-nav-cta{display:none}

  /* Phone keeps the desktop's editorial language: no giant stacked boxes.
     Benefits and steps shed their cards and become hairline lists sitting
     directly on the designed surface, same as the pain list and the quotes. */
  .lp-ben-grid{gap:0}
  .lp-ben{background:none;border:0;border-radius:0;box-shadow:none;
    padding:15px 2px 16px;border-bottom:1px solid var(--line-2)}
  .lp-ben:last-child{border-bottom:0}
  .lp-ben:hover{transform:none;box-shadow:none}
  .lp-ben h3{margin-bottom:5px}
  .lp-steps{gap:0}
  .lp-step{background:none;border:0;border-radius:0;box-shadow:none;
    padding:16px 2px;border-bottom:1px solid var(--line-2);
    display:grid;grid-template-columns:30px 1fr;column-gap:14px;row-gap:3px}
  .lp-step:last-child{border-bottom:0}
  .lp-step-n{grid-row:1/span 2;width:28px;height:28px;border-radius:9px;font-size:12px;
    margin-bottom:0;margin-top:2px}
  .lp-step h3{margin-bottom:0}
  /* Pricing keeps its card (a plan wants containment) but loses the dead air */
  .lp-plan{padding:20px 20px 22px}
  .lp-plan-line{min-height:0;margin-top:4px}
  .lp-plan-price{margin-top:6px;padding-top:12px}
  .lp-plan-price b{font-size:31px}
  .lp-plan-feat{margin:13px 0 4px;gap:8px}
  .lp-scn-card{padding:22px 18px}
}

/* ---------- Motion: hero chat plays in + scroll reveals ---------- */
.lp-chat-body{min-height:196px}
.lp-motion .lpc-bub{opacity:0;transform:translateY(8px);
  transition:opacity .4s var(--ease),transform .4s var(--ease)}
.lp-motion .lpc-bub.in{opacity:1;transform:none}
.lpc-typing{display:inline-flex;align-items:center;gap:5px}
.lpc-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);display:inline-block;
  animation:lpDot 1.2s var(--ease) infinite}
.lpc-typing span:nth-child(2){animation-delay:.15s}
.lpc-typing span:nth-child(3){animation-delay:.3s}
@keyframes lpDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.lp-motion .lp-reveal{opacity:0;transform:translateY(22px);
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.lp-motion .lp-reveal.in{opacity:1;transform:none}
.lp-motion .lp-ben:nth-child(2){transition-delay:.08s}
.lp-motion .lp-ben:nth-child(3){transition-delay:.16s}
.lp-motion .lp-ben:nth-child(4){transition-delay:.24s}

/* ---------- Trust strip (under the hero) ---------- */
.lp-trust{display:flex;align-items:center;justify-content:center;gap:12px 26px;flex-wrap:wrap;
  padding:4px var(--gutter) clamp(26px,4vw,42px)}
.lp-trust-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-faint)}
.lp-trust-logos{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.lp-trust-logo{font-family:var(--font-serif);font-size:17px;color:var(--ink-soft);opacity:.8;
  display:inline-flex;align-items:center}
.lp-trust-logo img{max-height:26px;max-width:120px;object-fit:contain;filter:grayscale(1);opacity:.72;
  transition:.3s var(--ease)}
.lp-trust:hover .lp-trust-logo img{filter:none;opacity:1}

/* ---------- FAQ ---------- */
.lp-faq{padding:clamp(48px,6vw,80px) var(--gutter)}
.lp-faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.lp-faq-item{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:2px 20px;
  transition:.25s var(--ease)}
.lp-faq-item[open]{border-color:var(--line-2);box-shadow:0 16px 40px -30px rgba(28,20,14,.35)}
.lp-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:18px 0;font-size:15.5px;font-weight:600;color:var(--ink)}
.lp-faq-item summary::-webkit-details-marker{display:none}
.lp-faq-ic{position:relative;width:14px;height:14px;flex:none}
.lp-faq-ic::before,.lp-faq-ic::after{content:"";position:absolute;background:var(--ember-soft);border-radius:2px;
  transition:.25s var(--ease)}
.lp-faq-ic::before{left:0;top:6px;width:14px;height:2px}
.lp-faq-ic::after{left:6px;top:0;width:2px;height:14px}
.lp-faq-item[open] .lp-faq-ic::after{transform:rotate(90deg);opacity:0}
.lp-faq-item p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0 0 18px;max-width:60ch}

/* ---------- Floating ASORA chat widget — real, on every landing page ------- */
.lpw{position:fixed;right:20px;bottom:20px;z-index:300;display:flex;flex-direction:column;
  align-items:flex-end;gap:12px;font-family:inherit}
.lpw-bar{display:inline-flex;align-items:center;gap:5px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:6px;box-shadow:0 20px 44px -20px rgba(20,15,12,.5)}
.lpw-btn{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-weight:600;font-size:15.5px;
  border:none;cursor:pointer;padding:12px 20px;border-radius:var(--r-pill);transition:.2s var(--ease)}
.lpw-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.lpw-chat{background:transparent;color:var(--ink)}
.lpw-chat:hover{background:rgba(20,15,12,.05)}
.lpw-call{background:var(--ember-soft);color:#F6F4EF}
.lpw-call svg{fill:currentColor;stroke:none}
.lpw-call:hover{filter:brightness(1.08)}
.lpw-call.on{background:#C0503A}
.lpw-call.connecting{opacity:.7}
.lpw-panel{width:min(360px,calc(100vw - 40px));height:min(520px,70vh);display:flex;flex-direction:column;
  background:var(--bg);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 40px 100px -30px rgba(20,15,12,.6);animation:lpwIn .28s var(--ease)}
.lpw-panel[hidden]{display:none}
@keyframes lpwIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.lpw-top{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--line);
  background:var(--panel-2)}
.lpw-orb{width:30px;height:30px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 32% 28%,var(--orb-lit) 0%,var(--ember-soft) 26%,var(--ember-deep) 100%);
  box-shadow:0 0 0 3px var(--orb-ring)}
.lpw-id{display:flex;flex-direction:column;line-height:1.25;flex:1}
.lpw-id b{font-size:14px;color:var(--ink)}
.lpw-id span{font-size:11px;color:var(--green-soft)}
.lpw-x{background:none;border:none;color:var(--ink-faint);cursor:pointer;font-size:15px;padding:4px}
.lpw-x:hover{color:var(--ink)}
.lpw-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:9px}
.lpw-b{max-width:84%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5}
.lpw-b.a{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);
  border-bottom-left-radius:5px}
.lpw-b.u{align-self:flex-end;background:var(--ember-soft);color:#F6F4EF;border-bottom-right-radius:5px}
.lpw-typing{display:inline-flex;gap:5px;align-items:center}
.lpw-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);
  animation:lpDot 1.2s var(--ease) infinite}
.lpw-typing span:nth-child(2){animation-delay:.15s}
.lpw-typing span:nth-child(3){animation-delay:.3s}
.lpw-book{align-self:flex-start;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--ember-soft);
  text-decoration:none;border:1px solid rgba(143,111,62,.3);background:rgba(143,111,62,.08);
  padding:9px 14px;border-radius:var(--r-pill)}
.lpw-book:hover{background:rgba(143,111,62,.16)}
.lpw-form{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--line)}
.lpw-form input{flex:1;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:11px 15px;
  font-family:inherit;font-size:13.5px;color:var(--ink);background:var(--panel);outline:none}
.lpw-form input:focus{border-color:var(--ember-soft)}
.lpw-send{width:38px;height:38px;flex:none;border:none;border-radius:50%;background:var(--ember-soft);
  color:#F6F4EF;cursor:pointer;display:grid;place-items:center}
.lpw-send svg{width:16px;height:16px;fill:currentColor;stroke:none}
.lpw-send:hover{filter:brightness(1.08)}
@media(max-width:560px){.lpw{right:12px;bottom:12px}}
/* phone teaser: ASORA's greeting as a tap-to-open bubble above the launcher */
.lpw-tease{position:relative;max-width:280px;background:var(--bg);border:1px solid var(--line);
  border-radius:16px 16px 4px 16px;padding:12px 32px 12px 14px;font-size:13px;line-height:1.5;
  color:var(--ink-soft);cursor:pointer;box-shadow:0 24px 60px -24px rgba(20,15,12,.5);
  animation:lpwIn .3s var(--ease)}
.lpw-tease b{display:block;font-size:12.5px;color:var(--ink);margin-bottom:3px}
.lpw-tease-x{position:absolute;top:6px;right:8px;background:none;border:0;cursor:pointer;
  color:var(--ink-faint);font-size:12px;padding:4px}

/* ---------- "Test her" — hero demo chips + call dare -----------------------
   The one thing nobody else has: the product is live on the page. Real
   enquiries as quoted chips that fire into the actual widget, and a dare
   to ring her. Editorial: hairline-top, mono label, quiet quoted pills. */
.lp-try{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.lp-try-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.lp-try-label .led{width:6px;height:6px;border-radius:50%;background:var(--ember-soft);
  box-shadow:0 0 8px var(--glow);animation:ledPulse 2.4s var(--ease) infinite}
.lp-try-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lp-try-chip{font-family:inherit;font-size:13px;color:var(--ink-soft);text-align:left;cursor:pointer;
  background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-pill);
  padding:9px 15px;transition:.22s var(--ease);line-height:1.35}
.lp-try-chip:hover{color:var(--ink);border-color:var(--ember-soft);transform:translateY(-1px);
  box-shadow:0 10px 24px -14px var(--glow)}
.lp-try-call{display:inline-flex;align-items:center;gap:8px;margin-top:13px;cursor:pointer;
  background:none;border:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--ember-soft);
  padding:0;transition:.2s var(--ease)}
.lp-try-call svg{width:15px;height:15px;fill:currentColor}
.lp-try-call:hover{color:var(--ember-deep);text-decoration:underline;text-underline-offset:4px}

/* ---------- "Do the maths" — honest cost-of-missed-enquiries strip --------- */
.lp-cost{padding-top:clamp(40px,5vw,64px)}
.lp-cost-card{display:grid;grid-template-columns:1.35fr .85fr;max-width:920px;margin:0 auto;
  border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);overflow:hidden;
  box-shadow:0 24px 60px -40px rgba(28,20,14,.4)}
.lp-cost-l{padding:clamp(24px,3.4vw,38px) clamp(22px,3.2vw,36px)}
.lp-cost-l h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;line-height:1.15;margin:12px 0 0}
.lp-cost-note{font-size:13px;color:var(--ink-faint);margin-top:8px;line-height:1.5}
.lp-cost-slider{margin-top:22px}
.lp-cost-slider label{display:block;font-size:13.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:12px}
.lp-cost-slider label b{color:var(--ink);font-size:15px}
.lp-cost-slider input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:4px;
  border-radius:4px;background:linear-gradient(to right,var(--ember-soft),var(--ember-soft)) no-repeat var(--line-2);
  background-size:20% 100%;outline:none;cursor:pointer}
.lp-cost-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;
  width:20px;height:20px;border-radius:50%;background:var(--ember-soft);border:3px solid var(--bg);
  box-shadow:0 4px 12px -2px var(--glow),0 0 0 1px var(--line-2);transition:.15s}
.lp-cost-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}
.lp-cost-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;
  background:var(--ember-soft);border:3px solid var(--bg);box-shadow:0 4px 12px -2px var(--glow)}
.lp-cost-formula{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;
  color:var(--ink-faint);margin-top:16px;line-height:1.7}
.lp-cost-formula b{color:var(--ink)}
/* the number panel: tinted canvas + grain, the site's designed-surface language */
.lp-cost-r{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;
  gap:8px;padding:clamp(24px,3.4vw,38px) clamp(22px,3.2vw,34px);border-left:1px solid var(--line);
  background:var(--product-canvas);text-align:left}
.lp-cost-r::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  mix-blend-mode:overlay;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.lp-cost-r-lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);font-weight:600}
.lp-cost-r b{font-family:var(--font-serif);font-weight:400;font-size:clamp(40px,4.6vw,56px);
  line-height:1;color:var(--ink);letter-spacing:-.02em}
.lp-cost-vs{font-size:12.5px;color:var(--ink-soft);line-height:1.5;padding-top:10px;margin-top:6px;
  border-top:1px solid var(--line)}
@media(max-width:760px){
  .lp-try-chips{flex-direction:column;align-items:stretch}
  .lp-try-chip{text-align:left}
  .lp-cost-card{grid-template-columns:1fr}
  .lp-cost-r{border-left:0;border-top:1px solid var(--line)}
}

/* ---------- Scenario replay — the enquiry plays out, then the payoff -------
   Chat bubbles with timestamps inside the scenario card, a transient typing
   indicator before each ASORA line, the booking landing as a calendar tile,
   and the "next morning on your dashboard" summary. Armed (hidden) states
   only apply when motion is allowed; default is fully visible. */
.lp-replay .lp-rp-stage{max-width:440px;margin:22px auto 0;display:flex;flex-direction:column;gap:10px}
.lp-rp-b{position:relative;max-width:88%;padding:10px 14px 12px;border-radius:15px;font-size:13.5px;line-height:1.5}
.lp-rp-b p{margin:0}
.lp-rp-t{display:block;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;margin-bottom:4px;
  color:var(--ink-faint)}
.lp-rp-b.u{align-self:flex-end;background:var(--ember-soft);color:#F6F4EF;border-bottom-right-radius:5px}
.lp-rp-b.u .lp-rp-t{color:rgba(246,244,239,.72)}
.lp-rp-b.a{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);
  border-bottom-left-radius:5px}
.lp-rp-typing{align-self:flex-start;display:inline-flex;gap:5px;padding:13px 15px;background:var(--panel-2);
  border:1px solid var(--line);border-radius:15px;border-bottom-left-radius:5px}
.lp-rp-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);
  animation:lpDot 1.2s var(--ease) infinite}
.lp-rp-typing span:nth-child(2){animation-delay:.15s}
.lp-rp-typing span:nth-child(3){animation-delay:.3s}
.lp-rp-typing.gone{display:none}
/* the booking lands — a quiet calendar tile with a green confirmation accent */
.lp-rp-sys{display:flex;align-items:center;gap:12px;margin-top:4px;padding:13px 15px;border-radius:13px;
  border:1px solid rgba(143,111,62,.32);background:color-mix(in srgb,var(--ember-soft) 7%,var(--panel));
  box-shadow:0 14px 34px -24px var(--glow)}
.lp-rp-sys-ic{width:36px;height:36px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:rgba(143,111,62,.12);border:1px solid rgba(143,111,62,.28)}
.lp-rp-sys-ic svg{width:17px;height:17px;stroke:var(--ember-soft);fill:none;stroke-width:1.9}
.lp-rp-sys-tx{flex:1;min-width:0}
.lp-rp-sys-tx b{display:block;font-size:13.5px;color:var(--ink);letter-spacing:-.01em}
.lp-rp-sys-tx span{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:2px}
.lp-rp-time{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;color:var(--ink-faint);flex:none}
/* the payoff: what the owner wakes up to */
.lp-rp-morning{margin-top:10px;padding:14px 16px 15px;border-radius:13px;border:1px solid var(--line);
  background:var(--panel)}
.lp-rp-m-h{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:9.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-bottom:10px}
.lp-rp-m-h .led{width:6px;height:6px;border-radius:50%;background:var(--ember-soft);flex:none;
  box-shadow:0 0 8px var(--glow);animation:ledPulse 2.4s var(--ease) infinite}
.lp-rp-morning ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.lp-rp-morning li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink-soft);line-height:1.45}
.lp-rp-morning li svg{width:13px;height:13px;stroke:var(--green-soft);fill:none;stroke-width:2.6;flex:none;margin-top:2px}
.lp-rp-again{margin:16px auto 0;display:block;background:none;border:none;cursor:pointer;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ember-soft);font-weight:600;transition:.2s var(--ease)}
.lp-rp-again:hover{color:var(--ember-deep)}
/* armed = choreographed reveal (motion allowed only) */
.rp-armed [data-rp]{opacity:0;transform:translateY(10px);
  transition:opacity .45s var(--ease),transform .45s var(--ease)}
.rp-armed [data-rp].in{opacity:1;transform:none}
