/* Workfloor — solution-page.css
   Shared styles for all industry × solution pages (HVAC, Roofing, …).
   Page-specific demo styles stay inline per page.
   Prefix: .lr-  (lead-response lineage; now generic "solution page")
   ============================================================= */

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: #080b12; color: #F5F3EE; font-family: "DM Sans", system-ui, sans-serif; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
::selection { background: rgba(232,147,74,0.25); color: #F5F3EE; }
a { color: inherit; }
.lr-container { max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px,5vw,48px); }
.lr-narrow { max-width: 760px; }
em.amb { font-style: italic; color: #E8934A; font-weight: 500; }
b.amb { color: #E8934A; font-weight: 600; }

/* reveal */
.rv { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.rv.in { opacity: 1; transform: none; }

/* HERO */
.lr-hero { position: relative; overflow: hidden; padding: 132px 0 84px;
  background: radial-gradient(ellipse 60% 55% at 0% 0%, rgba(232,147,74,0.18), transparent 60%),
              radial-gradient(ellipse 55% 55% at 100% 100%, rgba(72,108,164,0.12), transparent 62%), #0a0d15; }
.lr-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background-image: radial-gradient(circle at center, rgba(255,255,255,0.022) 1px, transparent 1px); background-size: 30px 30px; opacity:.5; }
.lr-hero-grid { position: relative; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
@media (max-width: 940px){ .lr-hero-grid{ grid-template-columns:1fr; gap:48px; } }
.lr-crumbs { font-family:"JetBrains Mono",monospace; font-size:12px; color:#6A7D8E; margin-bottom:22px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lr-crumbs a { text-decoration:none; transition:color .15s; }
.lr-crumbs a:hover { color:#E8934A; }
.lr-crumbs .sep { opacity:.5; }
.lr-eyebrow { display:inline-flex; align-items:center; gap:9px; background:rgba(232,147,74,0.1); border:1px solid rgba(232,147,74,0.28); border-radius:100px; padding:6px 15px; font-family:"Outfit",sans-serif; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#E8934A; margin-bottom:22px; }
.lr-eyebrow .d { width:6px; height:6px; border-radius:50%; background:#E8934A; box-shadow:0 0 8px #E8934A; animation: lr-pulse 1.8s infinite; }
@keyframes lr-pulse { 0%,100%{opacity:1;} 50%{opacity:.35;} }
.lr-h1 { font-family:"Outfit",sans-serif; font-weight:300; font-size:clamp(36px,5.4vw,62px); line-height:1.02; letter-spacing:-.038em; margin-bottom:22px; }
.lr-h1 b { font-weight:600; color:#E8934A; }
.lr-sub { font-size:clamp(16px,1.6vw,18.5px); color:#9AAABB; line-height:1.65; max-width:520px; margin-bottom:32px; }
.lr-cta-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.lr-pill { display:inline-flex; align-items:center; gap:9px; background:#E8934A; color:#16110b; padding:14px 28px; border-radius:100px; font-size:15px; font-weight:700; text-decoration:none; font-family:"Outfit",sans-serif; box-shadow:0 4px 20px rgba(232,147,74,0.25); transition:all .2s; }
.lr-pill:hover { background:#C05C1E; transform:translateY(-1px); box-shadow:0 8px 28px rgba(232,147,74,0.35); }
.lr-ghost { display:inline-flex; align-items:center; gap:9px; padding:14px 24px; border-radius:100px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.2); color:#F5F3EE; font-size:15px; font-weight:600; font-family:"Outfit",sans-serif; text-decoration:none; transition:background .2s, border-color .2s; }
.lr-ghost:hover { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.4); }
.lr-trust { margin-top:26px; display:flex; align-items:center; gap:10px; font-size:13px; color:#6A7D8E; }
.lr-trust .chk { color:#4ade80; }

/* generic demo stage (right column) */
.lr-demo { position: relative; display:flex; justify-content:center; }
.lr-stage { width: 100%; max-width: 400px; background:#11151d; border:1px solid rgba(255,255,255,0.1); border-radius:22px; padding:0; box-shadow:0 40px 90px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.03); overflow:hidden; }
.lr-stage-bar { display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.02); }
.lr-stage-av { width:30px; height:30px; border-radius:8px; background:linear-gradient(135deg,#E8934A,#C05C1E); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.lr-stage-av .mk { display:grid; grid-template-columns:6px 6px; grid-template-rows:6px 6px; gap:1.5px; }
.lr-stage-av .mk span { border-radius:1.5px; background:#fff; }
.lr-stage-title { font-family:"Outfit",sans-serif; font-size:13.5px; font-weight:600; }
.lr-stage-title small { display:block; font-size:11px; color:#4ade80; font-weight:500; font-family:"DM Sans",sans-serif; }
.lr-stage-body { padding:18px; min-height:420px; }

/* phone + chat (reused by Voice AI, Text Messaging) */
.lr-phone { width: 330px; max-width: 100%; background:#11151d; border:1px solid rgba(255,255,255,0.1); border-radius:36px; padding:14px; box-shadow:0 40px 90px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.03); }
.lr-phone-screen { background:#0a0d13; border-radius:26px; overflow:hidden; height:540px; display:flex; flex-direction:column; position:relative; }
.lr-chat-bar { display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.02); flex-shrink:0; }
.lr-chat-av { width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#E8934A,#C05C1E); display:flex; align-items:center; justify-content:center; }
.lr-chat-av .mk { display:grid; grid-template-columns:6px 6px; grid-template-rows:6px 6px; gap:1.5px; }
.lr-chat-av .mk span { border-radius:1.5px; background:#fff; }
.lr-chat-name { font-family:"Outfit",sans-serif; font-size:14px; font-weight:600; }
.lr-chat-name small { display:block; font-size:11px; color:#4ade80; font-weight:500; font-family:"DM Sans",sans-serif; }
.lr-msgs { flex:1; padding:16px 14px; display:flex; flex-direction:column; gap:9px; overflow-y:auto; }
.lr-msgs::-webkit-scrollbar { width:0; }
.lr-msg { max-width:80%; padding:10px 13px; border-radius:15px; font-size:13px; line-height:1.4; animation: lr-pop .3s ease both; }
@keyframes lr-pop { from{opacity:0;transform:translateY(6px) scale(.97);} to{opacity:1;} }
.lr-msg.them { align-self:flex-start; background:#1d2330; color:#e7e2db; border-bottom-left-radius:4px; }
.lr-msg.ai { align-self:flex-end; background:#E8934A; color:#16110b; border-bottom-right-radius:4px; font-weight:500; }
.lr-msg .tag { display:block; font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; opacity:.55; margin-bottom:3px; }
.lr-typing { align-self:flex-end; background:#E8934A; padding:12px 15px; border-radius:15px; border-bottom-right-radius:4px; display:flex; gap:4px; }
.lr-typing span { width:6px; height:6px; border-radius:50%; background:rgba(22,17,11,0.55); animation: lr-bounce 1.2s infinite; }
.lr-typing span:nth-child(2){animation-delay:.15s;} .lr-typing span:nth-child(3){animation-delay:.3s;}
@keyframes lr-bounce { 0%,60%,100%{transform:translateY(0);opacity:.5;} 30%{transform:translateY(-5px);opacity:1;} }
.lr-booked { align-self:center; background:rgba(74,222,128,0.1); border:1px solid rgba(74,222,128,0.3); color:#4ade80; font-family:"Outfit",sans-serif; font-size:12px; font-weight:600; padding:8px 16px; border-radius:100px; margin:4px 0; display:flex; align-items:center; gap:7px; animation: lr-pop .4s ease both; }
.lr-replay { position:absolute; bottom:14px; right:14px; z-index:6; display:flex; align-items:center; gap:6px; background:rgba(13,17,26,0.9); border:1px solid rgba(255,255,255,0.15); color:#F5F3EE; font-family:"Outfit",sans-serif; font-size:11.5px; font-weight:600; padding:7px 13px; border-radius:100px; cursor:pointer; opacity:0; transition:opacity .3s, background .15s; }
.lr-replay.show { opacity:1; }
.lr-replay:hover { background:rgba(232,147,74,0.2); }

/* STAT BAND */
.lr-band { border-top:1px solid rgba(255,255,255,0.06); border-bottom:1px solid rgba(255,255,255,0.06); background:#0d1117; padding:54px 0; }
.lr-band-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; }
@media (max-width:760px){ .lr-band-grid{ grid-template-columns:1fr; gap:36px; } }
.lr-stat .n { font-family:"Outfit",sans-serif; font-weight:700; font-size:clamp(40px,5vw,56px); line-height:1; letter-spacing:-.03em; color:#E8934A; }
.lr-stat .l { font-size:14.5px; color:#9AAABB; margin-top:10px; line-height:1.5; max-width:280px; margin-left:auto; margin-right:auto; }
.lr-band-src { text-align:center; font-size:11.5px; color:#3d5268; margin-top:30px; font-family:"JetBrains Mono",monospace; }

/* SECTION shells */
.lr-sec { padding: 92px 0; }
.lr-sec.alt { background:#0d1117; border-top:1px solid rgba(255,255,255,0.05); border-bottom:1px solid rgba(255,255,255,0.05); }
.lr-kick { font-family:"Outfit",sans-serif; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#E8934A; margin-bottom:16px; }
.lr-h2 { font-family:"Outfit",sans-serif; font-weight:400; font-size:clamp(28px,3.8vw,44px); line-height:1.1; letter-spacing:-.03em; margin-bottom:18px; max-width:680px; }
.lr-h2 b { font-weight:600; color:#E8934A; }
.lr-lead { font-size:17px; color:#9AAABB; line-height:1.7; max-width:560px; }

/* how it works */
.lr-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:54px; }
@media (max-width:820px){ .lr-steps{ grid-template-columns:1fr; } }
.lr-step { background:#141922; border:1px solid rgba(255,255,255,0.08); border-radius:16px; padding:28px 26px; position:relative; transition:border-color .2s, transform .2s; }
.lr-step:hover { border-color:rgba(232,147,74,0.3); transform:translateY(-3px); }
.lr-step-n { width:38px; height:38px; border-radius:10px; background:rgba(232,147,74,0.12); border:1px solid rgba(232,147,74,0.3); color:#E8934A; font-family:"Outfit",sans-serif; font-weight:700; font-size:16px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.lr-step h3 { font-family:"Outfit",sans-serif; font-size:19px; font-weight:600; letter-spacing:-.01em; margin-bottom:9px; }
.lr-step p { font-size:14.5px; color:#9AAABB; line-height:1.6; }
.lr-step .conn { position:absolute; top:46px; right:-12px; color:rgba(232,147,74,0.4); z-index:2; }
@media (max-width:820px){ .lr-step .conn{ display:none; } }

/* feature rows w/ photo */
.lr-frow { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; margin-top:54px; }
.lr-frow.rev { direction:rtl; } .lr-frow.rev > * { direction:ltr; }
@media (max-width:860px){ .lr-frow, .lr-frow.rev { grid-template-columns:1fr; gap:32px; direction:ltr; } }
.lr-frow h3 { font-family:"Outfit",sans-serif; font-size:clamp(22px,2.6vw,30px); font-weight:600; letter-spacing:-.02em; margin-bottom:14px; line-height:1.15; }
.lr-frow p { font-size:15.5px; color:#9AAABB; line-height:1.7; margin-bottom:18px; }
.lr-flist { list-style:none; display:flex; flex-direction:column; gap:11px; }
.lr-flist li { display:flex; gap:11px; align-items:flex-start; font-size:14.5px; color:#c8c0b8; line-height:1.5; }
.lr-flist li .ck { color:#4ade80; flex-shrink:0; margin-top:3px; }

/* photo placeholder */
.lr-photo { position:relative; border-radius:18px; overflow:hidden; border:1px dashed rgba(232,147,74,0.4); background:linear-gradient(135deg, #141922, #0d1117); min-height:340px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:30px; }
.lr-photo .cam { width:48px; height:48px; border-radius:12px; background:rgba(232,147,74,0.1); border:1px solid rgba(232,147,74,0.3); display:flex; align-items:center; justify-content:center; color:#E8934A; }
.lr-photo .pl-t { font-family:"Outfit",sans-serif; font-size:13px; font-weight:700; color:#E8934A; letter-spacing:.05em; text-transform:uppercase; }
.lr-photo .pl-d { font-size:13px; color:#6A7D8E; max-width:300px; line-height:1.5; }
.lr-photo .pl-tag { position:absolute; top:12px; left:12px; font-family:"JetBrains Mono",monospace; font-size:10px; color:#3d5268; background:rgba(0,0,0,0.3); padding:4px 8px; border-radius:5px; }

/* proof / gated */
.lr-quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:50px; }
@media (max-width:820px){ .lr-quotes{ grid-template-columns:1fr; } }
.lr-quote { background:#141922; border:1px solid rgba(255,255,255,0.07); border-radius:14px; padding:26px; position:relative; }
.lr-quote .stars { color:#E8934A; font-size:14px; letter-spacing:2px; margin-bottom:14px; }
.lr-quote p { font-size:15px; color:#e7e2db; line-height:1.6; margin-bottom:18px; }
.lr-quote .blur { filter:blur(5px); user-select:none; }
.lr-quote .who { display:flex; align-items:center; gap:11px; }
.lr-quote .ava { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#1d2330,#2a3340); flex-shrink:0; }
.lr-quote .who .nm { font-family:"Outfit",sans-serif; font-size:14px; font-weight:600; }
.lr-quote .who .rl { font-size:12px; color:#6A7D8E; margin-top:1px; }
.lr-gate { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#E8934A; background:rgba(232,147,74,0.1); border:1px solid rgba(232,147,74,0.25); border-radius:100px; padding:5px 12px; margin-top:16px; text-decoration:none; transition:background .15s; }
.lr-gate:hover { background:rgba(232,147,74,0.2); }

/* SEO ARTICLE */
.lr-article { padding: 30px 0 92px; }
.lr-article h2 { font-family:"Outfit",sans-serif; font-weight:600; font-size:clamp(25px,3.2vw,34px); letter-spacing:-.025em; line-height:1.15; margin:52px 0 16px; }
.lr-article h2:first-child { margin-top:0; }
.lr-article h3 { font-family:"Outfit",sans-serif; font-weight:600; font-size:20px; letter-spacing:-.01em; margin:36px 0 10px; color:#F5F3EE; }
.lr-article p { color:#b9c2cd; font-size:16.5px; line-height:1.75; margin-bottom:18px; }
.lr-article ul, .lr-article ol { color:#b9c2cd; font-size:16.5px; line-height:1.7; margin:0 0 18px; padding-left:22px; }
.lr-article li { margin-bottom:10px; }
.lr-article strong { color:#F5F3EE; font-weight:600; }
.lr-article a.ilink { color:#E8934A; text-decoration:none; border-bottom:1px solid rgba(232,147,74,0.3); transition:border-color .15s; }
.lr-article a.ilink:hover { border-color:#E8934A; }
.lr-callout { background:#141922; border:1px solid rgba(255,255,255,0.08); border-left:3px solid #E8934A; border-radius:0 12px 12px 0; padding:22px 26px; margin:28px 0; }
.lr-callout p { margin:0; color:#c8c0b8; font-size:15.5px; }
.lr-callout p strong { color:#E8934A; }

/* FAQ */
.lr-faq { margin-top:18px; }
.lr-faq-item { border-bottom:1px solid rgba(255,255,255,0.08); }
.lr-faq-q { width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:22px 40px 22px 0; font-family:"Outfit",sans-serif; font-size:18px; font-weight:500; color:#F5F3EE; position:relative; transition:color .15s; }
.lr-faq-q:hover { color:#E8934A; }
.lr-faq-q .ic { position:absolute; right:4px; top:50%; transform:translateY(-50%); width:20px; height:20px; transition:transform .25s; color:#E8934A; }
.lr-faq-item.open .lr-faq-q .ic { transform:translateY(-50%) rotate(45deg); }
.lr-faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.lr-faq-item.open .lr-faq-a { max-height:340px; }
.lr-faq-a p { color:#9AAABB; font-size:15.5px; line-height:1.7; padding:0 0 22px; margin:0; }
.lr-faq-a a { color:#E8934A; }

/* related */
.lr-related { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:46px; }
@media (max-width:820px){ .lr-related{ grid-template-columns:1fr; } }
.lr-rel { display:block; background:#141922; border:1px solid rgba(255,255,255,0.08); border-radius:14px; padding:24px; text-decoration:none; transition:border-color .2s, transform .2s, background .2s; }
.lr-rel:hover { border-color:rgba(232,147,74,0.35); transform:translateY(-3px); background:#171d28; }
.lr-rel .col { font-family:"JetBrains Mono",monospace; font-size:11px; color:#6A7D8E; margin-bottom:10px; }
.lr-rel h4 { font-family:"Outfit",sans-serif; font-size:17px; font-weight:600; letter-spacing:-.01em; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.lr-rel p { font-size:13.5px; color:#9AAABB; line-height:1.55; }
.lr-rel .arr { color:#E8934A; transition:transform .2s; display:inline-block; margin-top:14px; }
.lr-rel:hover .arr { transform:translateX(4px); }

/* ───────────────────────────────────────────────────────────
   PODIUM-STYLE FEATURE BLOCKS  (.pf-)
   Centered icon → title → desc → product mockup → sub-features → demo CTA
   ─────────────────────────────────────────────────────────── */
.pf-sec { padding: 96px 0; }
.pf-sec.alt { background:#0d1117; border-top:1px solid rgba(255,255,255,0.05); border-bottom:1px solid rgba(255,255,255,0.05); }
.pf-head { text-align:center; max-width:680px; margin:0 auto 52px; }
.pf-icon { width:54px; height:54px; border-radius:14px; margin:0 auto 22px; background:rgba(232,147,74,0.1); border:1px solid rgba(232,147,74,0.28); display:flex; align-items:center; justify-content:center; color:#E8934A; }
.pf-title { font-family:"Outfit",sans-serif; font-weight:500; font-size:clamp(26px,3.4vw,40px); letter-spacing:-.03em; line-height:1.1; margin-bottom:16px; }
.pf-title b { font-weight:600; color:#E8934A; }
.pf-desc { font-size:17px; color:#9AAABB; line-height:1.7; max-width:560px; margin:0 auto; }

/* product mockup on tinted gradient backdrop */
.pf-stage { position:relative; border-radius:24px; padding:clamp(24px,5vw,60px); overflow:hidden;
  background: radial-gradient(ellipse 70% 90% at 50% 0%, rgba(232,147,74,0.14), transparent 62%), #11161f;
  border:1px solid rgba(255,255,255,0.07); }
.pf-stage.cool { background: radial-gradient(ellipse 70% 90% at 50% 0%, rgba(72,108,164,0.16), transparent 62%), #11161f; }
.pf-stage::after { content:""; position:absolute; inset:0; pointer-events:none; background-image: radial-gradient(circle at center, rgba(255,255,255,0.02) 1px, transparent 1px); background-size: 26px 26px; opacity:.5; }
.pf-mock { position:relative; z-index:1; max-width:760px; margin:0 auto; }

/* generic app-window chrome for product mockups */
.pf-win { background:#0d1117; border:1px solid rgba(255,255,255,0.09); border-radius:14px; overflow:hidden; box-shadow:0 36px 80px rgba(0,0,0,0.55); }
.pf-win-bar { display:flex; align-items:center; gap:8px; padding:11px 15px; border-bottom:1px solid rgba(255,255,255,0.06); background:rgba(255,255,255,0.02); }
.pf-win-bar .dots { display:flex; gap:6px; }
.pf-win-bar .dots span { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,0.14); }
.pf-win-bar .url { font-family:"JetBrains Mono",monospace; font-size:11px; color:#6A7D8E; margin-left:8px; display:flex; align-items:center; gap:6px; }
.pf-win-bar .url .mk { display:grid; grid-template-columns:5px 5px; grid-template-rows:5px 5px; gap:1.5px; }
.pf-win-bar .url .mk span { width:5px; height:5px; border-radius:1px; }
.pf-win-bar .url .mk span:nth-child(1){background:#E8934A;} .pf-win-bar .url .mk span:nth-child(2){background:rgba(232,147,74,.4);} .pf-win-bar .url .mk span:nth-child(3){background:rgba(232,147,74,.6);} .pf-win-bar .url .mk span:nth-child(4){background:rgba(232,147,74,.25);}

/* sub-feature columns under/beside a mockup */
.pf-subs { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; max-width:920px; margin:52px auto 0; }
@media (max-width:820px){ .pf-subs{ grid-template-columns:1fr; gap:28px; max-width:520px; } }
.pf-sub { }
.pf-sub .ic { width:30px; height:30px; border-radius:8px; background:rgba(232,147,74,0.1); border:1px solid rgba(232,147,74,0.25); display:flex; align-items:center; justify-content:center; color:#E8934A; margin-bottom:13px; }
.pf-sub h4 { font-family:"Outfit",sans-serif; font-size:16.5px; font-weight:600; letter-spacing:-.01em; margin-bottom:8px; }
.pf-sub p { font-size:14px; color:#9AAABB; line-height:1.6; }
.pf-demo-row { text-align:center; margin-top:48px; }
.pf-demo-btn { display:inline-flex; align-items:center; gap:9px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.2); color:#F5F3EE; padding:12px 24px; border-radius:100px; font-family:"Outfit",sans-serif; font-size:14.5px; font-weight:600; text-decoration:none; transition:background .2s, border-color .2s; }
.pf-demo-btn:hover { background:rgba(232,147,74,0.12); border-color:rgba(232,147,74,0.4); }
.pf-demo-btn .tri { color:#E8934A; }

/* ── section glow utilities (tasteful ambient blooms) ── */
.lr-sec, .pf-sec, .lr-article { position:relative; }
.lr-sec > .lr-container, .pf-sec > .lr-container { position:relative; z-index:1; }
.glow-tr::before { content:""; position:absolute; top:-40px; right:-60px; width:440px; height:440px; max-width:55vw; border-radius:50%; background:radial-gradient(circle, rgba(232,147,74,0.11), transparent 70%); pointer-events:none; z-index:0; }
.glow-bl::after { content:""; position:absolute; bottom:-40px; left:-70px; width:400px; height:400px; max-width:55vw; border-radius:50%; background:radial-gradient(circle, rgba(72,108,164,0.09), transparent 70%); pointer-events:none; z-index:0; }
.glow-c::before { content:""; position:absolute; top:-30px; left:50%; transform:translateX(-50%); width:620px; height:380px; max-width:90vw; border-radius:50%; background:radial-gradient(ellipse, rgba(232,147,74,0.09), transparent 70%); pointer-events:none; z-index:0; }

/* ── captivating SEO article ── */
.lr-article::before { content:""; position:absolute; top:3%; right:-6%; width:600px; height:600px; max-width:64vw; border-radius:50%; background:radial-gradient(circle, rgba(232,147,74,0.15), transparent 70%); pointer-events:none; z-index:0; }
.lr-article::after { content:""; position:absolute; bottom:12%; left:-9%; width:540px; height:540px; max-width:60vw; border-radius:50%; background:radial-gradient(circle, rgba(72,108,164,0.12), transparent 70%); pointer-events:none; z-index:0; }
.lr-article > .lr-container { position:relative; z-index:1; }
.lr-article .hl { color:#E8934A; font-weight:600; }
.lr-article .hlw { color:#F5F3EE; font-weight:600; }
.lr-art-kick { font-family:"Outfit",sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#E8934A; display:block; margin:54px 0 0; }
.lr-art-kick + h2 { margin-top:12px; }
.lr-pull { text-align:center; max-width:680px; margin:48px auto; padding:34px 28px; border-radius:22px; background:radial-gradient(ellipse 85% 120% at 50% 50%, rgba(232,147,74,0.11), transparent 72%); }
.lr-pull .mk { display:grid; grid-template-columns:9px 9px; grid-template-rows:9px 9px; gap:2.5px; width:max-content; margin:0 auto 18px; }
.lr-pull .mk span { border-radius:2px; }
.lr-pull .mk span:nth-child(1){background:#E8934A;} .lr-pull .mk span:nth-child(2){background:rgba(232,147,74,.35);} .lr-pull .mk span:nth-child(3){background:rgba(232,147,74,.6);} .lr-pull .mk span:nth-child(4){background:rgba(232,147,74,.2);}
.lr-pull p { font-family:"Outfit",sans-serif; font-weight:300; font-size:clamp(23px,3vw,32px); line-height:1.28; letter-spacing:-.025em; color:#F5F3EE; margin:0; }
.lr-pull p b { color:#E8934A; font-weight:600; }
.lr-statstrip { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:38px 0; }
@media (max-width:620px){ .lr-statstrip{ grid-template-columns:1fr; } }
.lr-statbox { background:linear-gradient(160deg, rgba(232,147,74,0.10), rgba(232,147,74,0.02)); border:1px solid rgba(232,147,74,0.22); border-radius:14px; padding:22px 20px; text-align:center; box-shadow:0 0 40px -12px rgba(232,147,74,0.25); }
.lr-statbox .n { font-family:"Outfit",sans-serif; font-weight:700; font-size:clamp(26px,3.2vw,34px); color:#E8934A; line-height:1; letter-spacing:-.02em; }
.lr-statbox .l { font-size:13px; color:#9AAABB; margin-top:9px; line-height:1.45; }
.lr-art-hr { height:1px; border:none; background:linear-gradient(90deg, transparent, rgba(232,147,74,0.35), transparent); margin:54px 0; position:relative; z-index:1; }

/* closer */
.lr-closer { position:relative; overflow:hidden; background:#1A2535; padding:100px 0; text-align:center; }
.lr-closer::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse 60% 90% at 50% 0%, rgba(232,147,74,0.12), transparent 60%); pointer-events:none; }
.lr-closer-inner { position:relative; max-width:620px; margin:0 auto; }
.lr-closer h2 { font-family:"Outfit",sans-serif; font-weight:300; font-size:clamp(28px,4vw,46px); letter-spacing:-.03em; line-height:1.08; margin-bottom:18px; }
.lr-closer h2 b { font-weight:600; color:#E8934A; }
.lr-closer p { color:#9AAABB; font-size:17px; margin-bottom:34px; }


/* filled photo slots (real imagery) */
.lr-photo.filled { padding:0; min-height:0; border:1px solid rgba(255,255,255,0.10); aspect-ratio:3/2; box-shadow:0 24px 50px rgba(0,0,0,0.4); display:block; }
.lr-photo.filled img { display:block; width:100%; height:100%; object-fit:cover; border-radius:18px; }
.lr-photo.filled.tall { aspect-ratio:4/5; }
.lr-photo.filled.portrait { aspect-ratio:3/4; }

/* ═══════════════ MOBILE HARDENING (applies to all solution pages) ═══════════════ */
html, body { overflow-x: hidden; max-width: 100%; }
*, *::before, *::after { min-width: 0; }

/* keep every hero demo inside the viewport — fixed-width widgets cap to fluid */
.lr-demo { width: 100%; min-width: 0; }
.lr-demo > * { max-width: 100%; }
.lr-phone { max-width: 100%; }
.pf-mock, .pf-win { max-width: 100%; }
.lr-photo.filled img { max-width: 100%; }

@media (max-width: 700px) {
  /* tighter hero on phones */
  .lr-hero { padding-top: 104px; padding-bottom: 60px; }
  .lr-hero-grid { gap: 36px; }
  .lr-demo { order: 2; }
  .lr-h1 { font-size: clamp(30px, 8.5vw, 40px); }
  .lr-sub { font-size: 16px; }
  /* section rhythm */
  .lr-sec { padding: 64px 0; }
  .pf-sec { padding: 64px 0; }
  .lr-band { padding: 44px 0; }
  .lr-frow, .lr-frow.rev { margin-top: 8px; }
  /* article readability */
  .lr-article h2 { font-size: clamp(23px, 6.5vw, 30px); }
  .lr-pull p { font-size: clamp(20px, 6vw, 26px); }
  .lr-pull { padding: 26px 18px; }
  /* CTAs wrap cleanly and are easy to tap */
  .lr-cta-row { width: 100%; }
  .lr-cta-row > a { flex: 1 1 auto; justify-content: center; min-height: 48px; }
  /* keep glows from forcing horizontal scroll */
  .glow-tr::before, .glow-bl::after,
  .lr-article::before, .lr-article::after { max-width: 78vw; }
}

@media (max-width: 420px) {
  .lr-container { padding-left: 18px; padding-right: 18px; }
  .lr-hero { padding-top: 96px; }
  .lr-crumbs { font-size: 11px; }
  .lr-band-grid { gap: 28px; }
  .lr-related { gap: 14px; }
}
