
:root{
  --lm-ink:#171719;
  --lm-paper:#fffaf4;
  --lm-peach:#f5d8c7;
  --lm-lime:#a5f252;
  --lm-sage:#c7d8bd;
  --lm-muted:#685d56;
  --lm-line:#17171922;
  --lm-bg:#f7e8dd;
  --lm-radius:18px;
}

/* ---------- Integration strip ---------- */
.lm-integration-strip{
  display:flex;
  align-items:center;
  gap:34px;
  min-height:60px;
  padding:0 clamp(28px,6vw,95px);
  background:var(--lm-lime);
  border-top:1px solid rgba(23,23,25,.14);
  border-bottom:1px solid rgba(23,23,25,.14);
  overflow:hidden;
}
.lm-integration-strip strong{
  min-width:140px;
  font-size:12px;
  line-height:1.1;
}
.lm-integration-track{
  display:flex;
  align-items:center;
  gap:35px;
  white-space:nowrap;
  font-size:14px;
  font-weight:800;
}
.lm-integration-track span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.lm-integration-track b{font-size:21px}

/* ---------- Shared section heading ---------- */
.lm-section-index{
  display:flex;
  align-items:center;
  gap:11px;
}
.lm-section-index span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid var(--lm-ink);
  border-radius:50%;
  font-size:11px;
  font-weight:800;
}
.lm-section-index p{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* ---------- Build / Connect / Run ---------- */
.lm-how{
  position:relative;
  overflow:hidden;
  padding:112px clamp(28px,7vw,120px) 118px;
  background:var(--lm-bg);
}
.lm-how:before{
  content:"";
  position:absolute;
  right:-150px;
  top:40px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:linear-gradient(140deg,#d7e7cd,#fffaf4);
  opacity:.65;
}
.lm-how-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.52fr 1.12fr 1fr;
  gap:34px;
  align-items:start;
  margin-bottom:54px;
}
.lm-how-head h2{
  margin:0;
  font-size:clamp(46px,5.3vw,82px);
  line-height:.93;
  letter-spacing:-.062em;
  font-weight:600;
}
.lm-how-head h2 em{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}
.lm-how-head>p{
  margin:0;
  max-width:46ch;
  color:var(--lm-muted);
  font-size:17px;
}
.lm-how-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.lm-how-card{
  position:relative;
  display:grid;
  align-content:end;
  min-height:430px;
  padding:29px;
  border:1px solid var(--lm-line);
  border-radius:var(--lm-radius);
  background:var(--lm-paper);
  overflow:hidden;
}
.lm-how-card--lime{background:var(--lm-lime)}
.lm-how-card--dark{
  background:var(--lm-ink);
  color:#fff;
}
.lm-how-card:after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-75px;
  width:200px;
  height:200px;
  border-radius:50%;
  border:1px solid currentColor;
  opacity:.11;
}
.lm-card-number{
  position:absolute;
  top:26px;
  left:28px;
  color:var(--lm-muted);
  font:800 11px/1 monospace;
}
.lm-how-card--dark .lm-card-number{color:#c7beb7}
.lm-card-icon{
  position:absolute;
  top:26px;
  right:26px;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid currentColor;
  border-radius:50%;
}
.lm-card-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lm-how-card h3{
  margin:0 0 14px;
  font-size:42px;
  line-height:.96;
  letter-spacing:-.055em;
}
.lm-how-card p{
  margin:0 0 28px;
  max-width:34ch;
  opacity:.72;
}
.lm-how-card a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:inherit;
  font-size:13px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:5px;
}

/* ---------- Pricing ---------- */
.lm-pricing{
  position:relative;
  overflow:hidden;
  padding:112px clamp(28px,7vw,120px) 118px;
  background:var(--lm-peach);
  border-top:1px solid var(--lm-line);
}
.lm-pricing:before{
  content:"";
  position:absolute;
  left:-220px;
  bottom:-215px;
  width:430px;
  height:430px;
  border-radius:50%;
  background:linear-gradient(145deg,#7c67e9,#d69ac9 65%,#a5f252 140%);
  opacity:.30;
}
.lm-pricing-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.52fr 1.12fr 1fr;
  gap:34px;
  align-items:start;
  margin-bottom:50px;
}
.lm-pricing-head h2{
  margin:0;
  font-size:clamp(46px,5.3vw,82px);
  line-height:.93;
  letter-spacing:-.062em;
  font-weight:600;
}
.lm-pricing-head h2 em{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}
.lm-pricing-side{
  display:grid;
  gap:20px;
}
.lm-pricing-side p{
  margin:0;
  color:var(--lm-muted);
  font-size:17px;
}
.lm-billing{
  display:flex;
  align-items:center;
  gap:5px;
  width:max-content;
  padding:5px;
  border:1px solid var(--lm-line);
  border-radius:9px;
  background:rgba(255,250,244,.68);
}
.lm-billing button{
  border:0;
  border-radius:6px;
  background:transparent;
  padding:9px 14px;
  font-weight:800;
  color:var(--lm-ink);
  cursor:pointer;
}
.lm-billing button.active{
  background:var(--lm-ink);
  color:#fff;
}
.lm-billing span{
  padding:8px 11px;
  border-radius:6px;
  background:var(--lm-lime);
  font-size:12px;
  font-weight:800;
}
.lm-plans{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(23,23,25,.42);
  border-bottom:1px solid rgba(23,23,25,.42);
}
.lm-plan{
  position:relative;
  display:flex;
  min-height:565px;
  flex-direction:column;
  padding:27px;
  background:rgba(255,250,244,.76);
  border-right:1px solid rgba(23,23,25,.24);
}
.lm-plan:last-child{border-right:0}
.lm-plan .lm-features{margin-bottom:24px}
.lm-plan .lm-price-row--custom strong{font-size:29px}
.lm-plan--featured{
  background:var(--lm-ink);
  color:#fff;
}
.lm-plan-label{
  margin-bottom:42px;
  color:var(--lm-muted);
  font:800 10px/1 monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.lm-plan--featured .lm-plan-label{color:#c6bbb3}
.lm-popular{
  position:absolute;
  top:21px;
  right:21px;
  padding:6px 9px;
  border-radius:6px;
  background:var(--lm-lime);
  color:var(--lm-ink);
  font-size:11px;
  font-weight:800;
}
.lm-plan h3{
  margin:0 0 8px;
  font-size:29px;
  letter-spacing:-.04em;
}
.lm-plan-desc{
  min-height:50px;
  margin:0;
  color:var(--lm-muted);
  font-size:14px;
}
.lm-plan--featured .lm-plan-desc{color:#c6bbb3}
.lm-price-row{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:28px 0 20px;
  padding-bottom:18px;
  border-bottom:1px solid var(--lm-line);
}
.lm-plan--featured .lm-price-row{border-color:#ffffff22}
.lm-price-row strong{
  font-size:43px;
  line-height:1;
  letter-spacing:-.056em;
}
.lm-price-row span{
  color:var(--lm-muted);
  font-size:13px;
}
.lm-plan--featured .lm-price-row span{color:#c6bbb3}
.lm-price-row--custom strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  letter-spacing:-.035em;
}
.lm-features{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.lm-features li{
  position:relative;
  padding-left:25px;
  font-size:14px;
}
.lm-features li:before{
  content:"✓";
  position:absolute;
  left:2px;
  top:0;
  font-weight:900;
}
.lm-plan-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:49px;
  margin-top:auto;
  padding:0 15px;
  border:1px solid currentColor;
  border-radius:7px;
  color:inherit;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.lm-plan--featured .lm-plan-cta{
  background:var(--lm-lime);
  color:var(--lm-ink);
  border-color:var(--lm-lime);
}


.lm-plan-desc{min-height:62px}.lm-price-row strong{font-size:clamp(28px,3vw,44px)}.lm-price-row{flex-wrap:wrap}.lm-plan--featured .lm-popular{position:static;display:inline-block;margin-bottom:14px}.lm-pricing-note{max-width:900px;font:400 13px/1.6 "Instrument Sans",Arial,sans-serif;color:var(--lm-muted);margin:28px 0 0}.lm-pricing{font-family:"Instrument Sans",Arial,sans-serif;scroll-margin-top:110px}.lm-how{font-family:"Instrument Sans",Arial,sans-serif}.lm-how-card a:focus-visible,.lm-plan-cta:focus-visible{outline:3px solid #527b2d;outline-offset:5px}@media(max-width:1120px){.lm-how-head,.lm-pricing-head{grid-template-columns:1fr 2fr}.lm-how-head>p,.lm-pricing-side{grid-column:2}.lm-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-how-grid{gap:16px}}@media(max-width:760px){.lm-how,.lm-pricing{padding:60px 20px}.lm-how-head,.lm-pricing-head{display:block}.lm-how-head h2,.lm-pricing-head h2{font-size:44px;margin:24px 0}.lm-how-head>p,.lm-pricing-side{max-width:none}.lm-how-grid,.lm-plans{grid-template-columns:1fr}.lm-how-card{min-height:330px;padding:28px}.lm-how-card h3{font-size:42px}.lm-plan{padding:28px}.lm-plan-desc{min-height:0}.lm-price-row strong{font-size:42px}.lm-features{min-height:0}.lm-section-index p{font-size:10px}}

/* Clearer chapter label, staged cards and a readable pricing scope note. */
.lm-how .lm-section-index p{font-size:clamp(14px,1.25vw,19px);letter-spacing:.055em;text-transform:none}
.lm-how .lm-section-index span{width:46px;height:46px}
.lm-how-card::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.42) 48%,transparent 66%);transform:translateX(-115%);pointer-events:none}
.lm-how-card>*{position:relative;z-index:1}
.lm-how-card .lm-card-number,.lm-how-card .lm-card-icon{position:absolute}
.is-motion-ready .lm-how-card{opacity:0;transform:translateY(46px) rotate(1.5deg)}
.is-motion-ready.is-visible .lm-how-card{opacity:1;transform:none;transition:opacity .75s ease,transform .85s cubic-bezier(.16,1,.3,1),border-radius .5s ease,box-shadow .5s ease}
.is-motion-ready.is-visible .lm-how-card:nth-child(2){transition-delay:.14s}
.is-motion-ready.is-visible .lm-how-card:nth-child(3){transition-delay:.28s}
/* Keep the original hover lift after the entrance state has higher specificity. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){.is-motion-ready.is-visible .lm-how-card:hover{transform:translateY(-12px);transition-delay:0s}}
.is-motion-ready.is-visible .lm-how-card::before{animation:lm-card-sweep 1.1s .55s cubic-bezier(.16,1,.3,1) both}
.is-motion-ready.is-visible .lm-how-card:nth-child(2)::before{animation-delay:.72s}
.is-motion-ready.is-visible .lm-how-card:nth-child(3)::before{animation-delay:.89s}
.is-motion-ready.is-visible .lm-card-icon svg{stroke-dasharray:80;stroke-dashoffset:80;animation:lm-icon-draw 1.25s .45s cubic-bezier(.16,1,.3,1) forwards}
.is-motion-ready.is-visible .lm-how-card:nth-child(2) .lm-card-icon svg{animation-delay:.62s}
.is-motion-ready.is-visible .lm-how-card:nth-child(3) .lm-card-icon svg{animation-delay:.79s}
@keyframes lm-card-sweep{to{transform:translateX(115%)}}
@keyframes lm-icon-draw{to{stroke-dashoffset:0}}
.lm-pricing-notes{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,70px);align-items:center;margin-top:28px;padding:25px 0;border-top:1px solid rgba(23,23,25,.27);border-bottom:1px solid rgba(23,23,25,.27);color:var(--lm-muted)}
.lm-pricing-notes>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:5px 24px;align-items:start}
.lm-pricing-notes strong{grid-row:1/3;color:var(--lm-ink);font-size:14px;line-height:1.45}
.lm-pricing-notes p,.lm-pricing-notes small{margin:0;max-width:780px;font-size:13px;line-height:1.55}
.lm-pricing-notes small{margin-top:3px;color:#7b6d64}
.lm-pricing-notes>a{display:inline-flex;align-items:center;gap:18px;max-width:255px;padding:13px 0;border-bottom:1px solid var(--lm-ink);color:var(--lm-ink);font-size:13px;font-weight:800;text-decoration:none}
.lm-pricing-notes>a span{font-size:18px;transition:transform .3s ease}.lm-pricing-notes>a:hover span{transform:translate(4px,-4px)}
@media(max-width:820px){.lm-pricing-notes{grid-template-columns:1fr}.lm-pricing-notes>div{grid-template-columns:1fr}.lm-pricing-notes strong{grid-row:auto;margin-bottom:5px}.lm-pricing-notes>a{max-width:none;width:max-content}}
@media(max-width:760px){.lm-how .lm-section-index p{font-size:15px}.lm-how .lm-section-index span{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.is-motion-ready .lm-how-card{opacity:1;transform:none}.is-motion-ready.is-visible .lm-how-card,.is-motion-ready.is-visible .lm-card-icon svg{animation:none!important;transition:none!important;stroke-dashoffset:0}}

/* Public workspace pricing: separate cards, shared reading order and no outer frame. */
#workspace-plans {
  padding: clamp(64px, 7vw, 100px) max(4%, calc((100% - 1320px) / 2));
  border: 0;
  background: #f5d8c7;
}
#workspace-plans::before { display: none; }
#workspace-plans .lm-pricing-head {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr);
  align-items: end;
  gap: 32px 56px;
  margin-bottom: 42px;
}
#workspace-plans .lm-pricing-head > div > p {
  margin: 0 0 18px;
  color: #526646;
  font: 750 11px/1.4 'Instrument Sans', Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#workspace-plans .lm-pricing-head h2 {
  max-width: 740px;
  margin: 0;
  font-size: clamp(38px, 4.7vw, 68px);
  line-height: 1.04;
  font-weight: 600;
  letter-spacing: -.055em;
  text-wrap: balance;
}
#workspace-plans .lm-pricing-head > p {
  max-width: 41ch;
  margin: 0;
  color: #625951;
  font-size: 14px;
  line-height: 1.65;
}
#workspace-plans .lm-plan-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  border: 0;
  background: transparent;
}
#workspace-plans .lm-plan {
  min-width: 0;
  min-height: 0;
  padding: 28px 24px;
  border: 1px solid #1717191c;
  border-radius: 22px;
  color: #171719;
  background: #fffaf4;
  box-shadow: 0 6px 24px #49382405;
}
#workspace-plans .lm-plan::before,
#workspace-plans .lm-plan::after { display: none; }
#workspace-plans .lm-plan:hover { transform: none; box-shadow: 0 10px 30px #4938240b; }
#workspace-plans .lm-plan-label {
  min-height: 1.4em;
  margin: 0 0 18px;
  color: #626657;
  font: 750 10px/1.4 'Instrument Sans', Arial, sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
#workspace-plans .lm-plan h3 {
  margin: 0 0 24px;
  padding: 0;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -.04em;
}
#workspace-plans .lm-plan-price {
  min-height: 88px;
  margin: 0 0 22px;
  padding: 0 0 22px;
  border-bottom: 1px solid #17171920;
}
#workspace-plans .lm-plan-price strong {
  display: block;
  font-size: clamp(32px, 3.15vw, 44px);
  line-height: 1.1;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.055em;
  white-space: nowrap;
}
#workspace-plans .lm-plan-price span {
  display: block;
  margin-top: 8px;
  color: #625951;
  font-size: 11px;
  line-height: 1.4;
}
#workspace-plans .lm-plan-price + p {
  min-height: 6.4em;
  margin: 0 0 24px;
  color: #625951;
  font-size: 14px;
  line-height: 1.6;
}
#workspace-plans .lm-plan ul {
  display: grid;
  flex: 1;
  align-content: start;
  gap: 12px;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
}
#workspace-plans .lm-plan li {
  position: relative;
  padding-left: 22px;
  font-size: 13px;
  line-height: 1.55;
}
#workspace-plans .lm-plan li::before {
  content: '\2713';
  position: absolute;
  top: 0;
  left: 0;
  color: #4b7036;
  font-weight: 800;
}
#workspace-plans .lm-plan-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 50px;
  margin-top: auto;
  padding: 14px 15px;
  border: 1px solid #17171955;
  border-radius: 10px;
  color: #171719;
  background: transparent;
  font-size: 13px;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color .2s, border-color .2s;
}
#workspace-plans .lm-plan-cta:hover { background: #eaf1e2; border-color: #4b7036; }
#workspace-plans .lm-plan-cta:focus-visible { outline: 3px solid #527b2d; outline-offset: 4px; }
#workspace-plans .lm-plan:nth-child(2) { border-color: #171719; color: #fffaf4; background: #171719; }
#workspace-plans .lm-plan:nth-child(2) :is(.lm-plan-label, .lm-plan-price span, .lm-plan-price + p) { color: #e4d6cc; }
#workspace-plans .lm-plan:nth-child(2) .lm-plan-price { border-color: #ffffff35; }
#workspace-plans .lm-plan:nth-child(2) li::before { color: #b7ef69; }
#workspace-plans .lm-plan:nth-child(2) .lm-plan-cta { border-color: #b7ef69; color: #171719; background: #b7ef69; }
#workspace-plans .lm-plan:nth-child(2) .lm-plan-cta:hover { border-color: #d1fa9b; background: #d1fa9b; }
#workspace-plans .lm-plan:nth-child(2) .lm-plan-cta:focus-visible { outline-color: #b7ef69; }
/* Align prices, descriptions, features and actions across each row of plans. */
@supports (grid-template-rows: subgrid) {
  #workspace-plans .lm-plan { display: grid; grid-row: span 6; grid-template-rows: subgrid; row-gap: 0; }
  #workspace-plans .lm-plan-price + p { min-height: 0; }
}
@media (max-width: 1100px) {
  #workspace-plans .lm-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #workspace-plans .lm-pricing-head { grid-template-columns: 1fr; gap: 24px; }
  #workspace-plans .lm-pricing-head > p { max-width: 58ch; }
  #workspace-plans .lm-plan-price + p { min-height: 0; }
}
@media (max-width: 600px) {
  #workspace-plans { padding: 60px 20px; }
  #workspace-plans .lm-pricing-head { margin-bottom: 30px; }
  #workspace-plans .lm-pricing-head h2 { font-size: clamp(34px, 9vw, 42px); }
  #workspace-plans .lm-plan-grid { grid-template-columns: 1fr; gap: 18px; }
  #workspace-plans .lm-plan { padding: 26px 24px; }
  #workspace-plans .lm-plan-price strong { font-size: 40px; }
  #workspace-plans .lm-plan-price { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #workspace-plans .lm-plan, #workspace-plans .lm-plan-cta { transition: none; }
}
