/* ============================================================================
   LOOM HOMEPAGE  (front-page.php)
   Adapted from the design handoff (design_handoff_loom_homepage/).
   All selectors prefixed `lh-` and scoped under .lh-root to avoid colliding
   with Kadence / Bootstrap / loom-global.css.

   Differences from the raw handoff stylesheet:
   - Hero background uses a stylesheet-relative URL (img/hero-crowd.jpg) instead
     of /wp-content/uploads/loom/, so the asset ships with the theme (git/Local).
   - The static `.lh-trust-private` privacy line is NOT used — the live B2
     `.loom-anonymity-note` (appended to Form 3 server-side) provides it, and is
     styled to match below.
   - Styling added for the live Gravity Forms output: the C2 intent picker
     (.loom-intent-picker / .loom-intent-btn) and B2 note (.loom-anonymity-note),
     which are injected into Form 3 by gform_get_form_filter_3.
   ============================================================================ */

/* ============================ TOKENS ============================ */
.lh-root{
  --lh-ink:#0A1A28;
  --lh-ink-2:#0C1E2E;
  --lh-panel:#0F2334;
  --lh-blue:#4489ED;
  --lh-blue-light:#7FB0F2;
  --lh-slate:#27587C;
  --lh-amber:#E89B3B;
  --lh-green:#2F9E6B;
  --lh-paper:#FAFBFD;
  --lh-paper-line:#E4E8EE;
  --lh-text:#EAF0F6;
  --lh-text-soft:#CBD8E6;
  --lh-text-muted:#9FB2C4;
  --lh-text-dim:#6B8199;
  --lh-maxw:1120px;
}

/* ============================ BASE ============================ */
.lh-root *{box-sizing:border-box}
.lh-root{
  background:var(--lh-ink);
  color:var(--lh-text);
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  /* clip (not hidden) keeps the privacy-note breakout from scrolling sideways
     WITHOUT creating a scroll container — overflow:hidden here would silently
     break the sticky nav. */
  overflow-x:clip;
}
.lh-root img{max-width:100%}
.lh-root a{color:inherit}
.lh-root ::selection{background:var(--lh-amber);color:var(--lh-ink)}
/* .lh-wrap / .lh-eyebrow / .lh-serif / .lh-mono and the NAV moved to the
   site-wide loom-ui.css (shared chrome + primitives). */

/* ============================ HERO ============================ */
.lh-hero{
  position:relative;min-height:90vh;
  display:flex;align-items:center;justify-content:center;
  background-image:url('img/hero-crowd.jpg');
  background-size:cover;background-position:center 28%;overflow:hidden;
}
.lh-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,34,.44) 0%,rgba(10,22,34,.62) 48%,rgba(10,26,40,.92) 100%)}
.lh-hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(10,26,40,0) 0%,rgba(10,26,40,.55) 100%)}
.lh-hero-fade{position:absolute;bottom:0;left:0;right:0;height:160px;background:linear-gradient(180deg,rgba(10,26,40,0) 0%,var(--lh-ink) 100%);z-index:1}
.lh-hero-inner{position:relative;z-index:2;width:100%;max-width:820px;padding:80px 32px;text-align:center}
.lh-hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:#BFD4EA;margin-bottom:30px}
.lh-pulse{width:7px;height:7px;border-radius:50%;background:var(--lh-amber);box-shadow:0 0 10px var(--lh-amber);animation:lhPulse 2.4s ease-in-out infinite}
@keyframes lhPulse{0%,100%{opacity:.5}50%{opacity:1}}
.lh-hero h1{font-family:'Newsreader',serif;font-weight:500;font-size:74px;line-height:1.02;letter-spacing:-1.5px;margin:0 0 22px;color:var(--lh-paper)}
.lh-hero-sub{font-size:19px;line-height:1.55;color:var(--lh-text-soft);max-width:720px;margin:0 auto 38px}

/* ============================ SEARCH (Gravity Form id 3) ============================ */
.lh-search{max-width:620px;margin:0 auto}

/* Form 3 is MULTI-PAGE (gravity-theme): page 1 = search box + advance button,
   page 2 (hidden until submit) = name/email. Reset GF's chrome first. */
.lh-search #gform_wrapper_3,
.lh-search #gform_3,
.lh-search .gform-body,
.lh-search .gform_body{margin:0;padding:0;background:none;border:0}
.lh-search .gform_fields{display:block!important;margin:0;padding:0;list-style:none;grid-template-columns:none!important;gap:0!important}
.lh-search .gform_page_fields{padding:0}
/* gravity-theme caps fields at max-width:500px and lays them on a grid — undo
   both so the search pill fills the full 620px container under the inset button */
.lh-search #gform_fields_3 .gfield{margin:0;padding:0;max-width:none!important;width:100%!important}
.lh-search #field_3_12 .ginput_container_text{max-width:none!important;width:100%}
/* hide the form's own redundant lead/sub copy — the hero already says it */
.lh-search #field_3_10{display:none}
/* hidden phone/email toggle radio — keep it out of flow */
.lh-search #field_3_8,
.lh-search .gfield_visibility_hidden{display:none!important}
/* hide every field label/legend in the search (input + consent use placeholders) */
.lh-search #gform_page_3_1 .gfield_label,
.lh-search #gform_page_3_1 legend.gfield_label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0;padding:0}

/* page 1 layout: the button sits INSIDE the white pill on the right.
   #gform_page_3_1 is the positioning context; the input fills it and leaves a
   right gutter for the absolutely-placed button. */
.lh-search .gform_page{margin:0;padding:0}
.lh-search #gform_page_3_1{position:relative}
.lh-search #gform_page_3_1 .gform_page_fields{width:100%;min-width:0}
.lh-search .ginput_container{margin:0}

/* the text field = white search pill (right padding clears the inset button) */
.lh-search #field_3_12{margin:0}
.lh-search input#input_3_12{
  width:100%;height:66px;
  background:var(--lh-paper);
  border:1px solid var(--lh-paper);
  border-radius:14px;
  padding:0 214px 0 22px;
  font-family:'Inter',sans-serif;font-size:16.5px;color:#0E2233;
  outline:none;
  box-shadow:0 24px 60px -18px rgba(0,0,0,.7);
}
.lh-search input#input_3_12::placeholder{color:#8294A6}

/* page-1 footer holds the advance button; pin it inside the pill, right edge */
.lh-search #gform_page_3_1 .gform-page-footer,
.lh-search #gform_page_3_1 .gform_page_footer{
  position:absolute;top:0;right:8px;height:66px;
  display:flex;align-items:center;margin:0;padding:0;z-index:2;
}
/* the advance ("Next") button on page 1 + the final submit on page 2 = amber CTA */
.lh-search #gform_next_button_3_1,
.lh-search input#gform_submit_button_3,
.lh-search #gform_page_3_2 .gform_button[type=submit]{
  height:50px;margin:0!important;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--lh-amber)!important;color:#10202E!important;
  border:none!important;border-radius:10px;
  padding:0 24px;
  font-family:'Inter',sans-serif;font-size:15.5px;font-weight:700;
  white-space:nowrap;cursor:pointer;
  transition:transform .15s ease,filter .15s ease;
}
.lh-search #gform_next_button_3_1:hover,
.lh-search input#gform_submit_button_3:hover{filter:brightness(1.06)}

/* consent checkbox row (#field_3_11) — centered below the pill, with breathing room.
   Needs #gform_fields_3 in the selector to outrank the .gfield margin reset above. */
.lh-search #gform_fields_3 #field_3_11{margin:15px 0 0;text-align:center}
.lh-search #field_3_11 .ginput_container_checkbox{margin:0;display:block;text-align:center}
.lh-search #field_3_11 .gfield_checkbox{display:flex;justify-content:center;margin:0;padding:0}
.lh-search #field_3_11 .gfield_checkbox .gchoice{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:0;max-width:none}
.lh-search #field_3_11 .gfield_checkbox label{font-size:13px;line-height:1.4;color:var(--lh-text-muted);margin:0;text-align:left;max-width:none}
.lh-search #field_3_11 input[type=checkbox]{width:17px;height:17px;flex:none;accent-color:var(--lh-amber);cursor:pointer;margin:0}
.lh-search #field_3_11 a{color:#BFD4EA;text-decoration:underline;text-underline-offset:2px}
.lh-search .gfield_required{color:var(--lh-amber)}

/* page 2 (name/email) — shown after advancing page 1; styled for the dark hero */
.lh-search #gform_page_3_2 .gfield{margin:0 0 12px}
.lh-search #gform_page_3_2 #field_3_9{margin:0 0 20px}
/* labels are hidden_label in GF — keep them out (placeholders carry the text) */
.lh-search #gform_page_3_2 .gfield_label,
.lh-search #gform_page_3_2 legend.gfield_label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0;padding:0}
.lh-search #gform_page_3_2 .has-white-color,
.lh-search #gform_page_3_2 p{color:var(--lh-text-soft);margin:0;font-size:15px;line-height:1.5}
/* the GF name field ships as a negative-margin grid that overflows — replace it
   with a clean two-column grid (first | last) that stays in the search column */
.lh-search #gform_page_3_2 .ginput_container_name{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.lh-search #gform_page_3_2 .ginput_container_name .gform-grid-col{margin:0;padding:0;width:auto;min-width:0;max-width:none}
.lh-search #gform_page_3_2 input[type=text],
.lh-search #gform_page_3_2 input[type=email]{
  width:100%;background:var(--lh-paper);border:1px solid var(--lh-paper);border-radius:12px;
  padding:15px 18px;font-family:'Inter',sans-serif;font-size:15px;color:#0E2233;outline:none;
}
.lh-search #gform_page_3_2 input::placeholder{color:#8294A6}
.lh-search #gform_page_3_2 .gform_page_footer{display:flex;justify-content:center;gap:12px;margin-top:20px}
.lh-search #gform_previous_button_3_2{background:transparent!important;border:1px solid rgba(255,255,255,.25)!important;color:var(--lh-text-soft)!important;border-radius:10px;padding:0 18px;height:50px;cursor:pointer;font-weight:600}

/* validation messages */
.lh-search .validation_message,
.lh-search .gform_validation_errors{color:#FFD9C2;margin-top:8px;font-size:13px}

/* --- C2 intent picker (rendered above the form by gform_get_form_filter_3) --- */
.lh-search .loom-intent-picker{display:block;width:100%;max-width:none;margin:0 auto 18px;text-align:center}
.lh-search .loom-intent-q{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:#BFD4EA;margin-bottom:12px}
.lh-search .loom-intent-q em{font-style:normal;color:var(--lh-text-dim)}
.lh-search .loom-intent-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}
.lh-search .loom-intent-btn{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:500;
  color:var(--lh-text-soft);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;padding:7px 16px;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s;
}
.lh-search .loom-intent-btn:hover{border-color:rgba(255,255,255,.4);color:#fff}
.lh-search .loom-intent-btn.is-active{
  background:var(--lh-amber);border-color:var(--lh-amber);color:#10202E;font-weight:600;
}

/* --- B2 anonymity note (appended below the form) = the privacy line --- */
/* privacy note: widen beyond the 620px search column so it sits on one line on
   desktop (centered on the column, overflowing symmetrically into the hero). */
.lh-search .loom-anonymity-note{
  display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;
  margin:26px 0 0;margin-left:50%;transform:translateX(-50%);
  width:780px;max-width:calc(100vw - 48px);
  font-size:13px;line-height:1.5;color:#8FA3B8;
}
.lh-search .loom-anonymity-note .dashicons{color:var(--lh-green);font-size:16px;width:16px;height:16px}

/* ============================ TRUST STRIP ============================ */
.lh-strip{border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:var(--lh-ink-2)}
.lh-strip-grid{max-width:var(--lh-maxw);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}
.lh-strip-cell{padding:30px 32px;border-right:1px solid rgba(255,255,255,.06)}
.lh-strip-cell:last-child{border-right:none}
.lh-strip-k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2.5px;color:var(--lh-text-dim);text-transform:uppercase;margin-bottom:8px}
.lh-strip-v{font-size:15.5px;color:#D6E2EE;font-weight:500}

/* ============================ SECTION HEADINGS ============================ */
.lh-section{padding:110px 0 90px}
.lh-section h2{font-family:'Newsreader',serif;font-weight:500;font-size:44px;line-height:1.08;letter-spacing:-.8px;margin:0 0 56px;color:var(--lh-paper);max-width:640px}

/* ============================ HOW IT WORKS ============================ */
.lh-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lh-step{background:var(--lh-panel);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:34px 30px}
.lh-step-n{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:var(--lh-amber);margin-bottom:24px;letter-spacing:1px}
.lh-step h3{font-family:'Newsreader',serif;font-weight:500;font-size:23px;margin:0 0 12px;color:#F2F6FA}
.lh-step p{font-size:15px;line-height:1.6;color:var(--lh-text-muted);margin:0}

/* ============================ SAMPLE REPORT ============================ */
.lh-report-sec{background:var(--lh-ink-2);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:100px 0}
.lh-report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.lh-report-head h2{margin:0;max-width:560px;font-family:'Newsreader',serif;font-weight:500;font-size:44px;line-height:1.08;letter-spacing:-.8px;color:var(--lh-paper)}
.lh-report-head p{font-size:15px;line-height:1.6;color:var(--lh-text-muted);max-width:340px;margin:0}

.lh-paper{background:var(--lh-paper);border-radius:18px;box-shadow:0 40px 90px -30px rgba(0,0,0,.75);overflow:hidden;color:#0E2233}
.lh-paper-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 30px;border-bottom:1px solid var(--lh-paper-line);background:#fff}
.lh-paper-bar .l{font-family:'JetBrains Mono',monospace;font-size:12px;color:#6C7A8A;letter-spacing:1px}
.lh-paper-bar .r{font-family:'JetBrains Mono',monospace;font-size:12px;color:#9AA9B8;letter-spacing:1px}
.lh-paper-body{padding:38px 44px 44px}

.lh-paper-title{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;flex-wrap:wrap;border-bottom:1px solid var(--lh-paper-line);padding-bottom:30px;margin-bottom:30px}
.lh-kicker{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:3px;color:#A0AAB6;text-transform:uppercase;margin-bottom:12px}
.lh-paper-title h3{font-family:'Newsreader',serif;font-weight:500;font-size:34px;line-height:1.05;letter-spacing:-.5px;margin:0;color:#0E2233}
.lh-stats{display:flex;gap:30px}
.lh-stat-n{font-family:'JetBrains Mono',monospace;font-size:30px;font-weight:600;color:var(--lh-slate);line-height:1}
.lh-stat-l{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:2px;color:#9AA9B8;text-transform:uppercase;margin-top:6px}

.lh-exec{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:start}
.lh-exec-id{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.lh-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--lh-blue),var(--lh-slate));display:flex;align-items:center;justify-content:center;font-family:'Newsreader',serif;font-size:24px;color:#fff;font-weight:500}
.lh-exec-name{font-size:19px;font-weight:600;color:#0E2233;line-height:1.1}
.lh-exec-alias{font-size:12.5px;color:#8A97A6;margin-top:3px}
.lh-exec-loc-k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;color:#A0AAB6;text-transform:uppercase;margin-bottom:6px}
.lh-exec-loc-v{font-size:14px;font-weight:600;color:var(--lh-slate);letter-spacing:.5px}
.lh-exec p{font-size:14.5px;line-height:1.65;color:#3F4D5A;margin:0 0 22px}
.lh-conf-k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;color:#A0AAB6;text-transform:uppercase;margin-bottom:10px}
.lh-conf-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;margin-bottom:12px}
.lh-conf-legend{display:flex;gap:20px;font-family:'JetBrains Mono',monospace;font-size:11px;color:#6C7A8A}

.lh-table-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.lh-table-head .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:3px;color:#A0AAB6;text-transform:uppercase}
.lh-table-head .c{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9AA9B8}
.lh-table-wrap{margin-top:34px;border-top:1px solid var(--lh-paper-line);padding-top:26px}
.lh-row{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 92px;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #EEF1F5}
.lh-row-name{display:flex;align-items:center;gap:11px;min-width:0}
.lh-chip{width:26px;height:26px;flex:none;border-radius:7px;background:#EEF3F9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lh-chip img{width:15px;height:15px;display:block}
/* self-hosted brand SVGs are tinted via CSS mask (color set per context) */
.lh-logo{display:block;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.lh-chip .lh-logo{width:15px;height:15px;background-color:var(--lh-blue)}
.lh-row .nm{font-size:14px;font-weight:600;color:#0E2233;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh-row .cat{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;color:#8A97A6;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh-row .det{font-size:13px;color:#5B6772;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh-pill{justify-self:end;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:4px 11px;border-radius:20px;white-space:nowrap}
.lh-pill--high{color:#1E6B49;background:rgba(47,158,107,.16)}
.lh-pill--med{color:#B06F1E;background:rgba(232,155,59,.18)}
.lh-pill--low{color:#6C7A8A;background:#EEF1F5}
.lh-logo-fallback{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--lh-blue)}

.lh-report-cta{text-align:center;margin-top:40px}

/* Corroborated-account cards in the sample report (report-v2 style; all data fictional) */
.lh-cc-head{display:flex;align-items:baseline;gap:10px;margin:26px 0 14px}
.lh-cc-dot{width:8px;height:8px;border-radius:50%;background:#2F9E6B;align-self:center}
.lh-cc-title{font-family:'Newsreader',serif;font-weight:600;font-size:19px;color:#0E2233}
.lh-cc-sub{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#8294A6;letter-spacing:.5px}
.lh-cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lh-cc-card{background:#fff;border:1px solid var(--lh-paper-line);border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px rgba(14,34,51,.06)}
.lh-cc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #EEF1F5}
.lh-cc-idwrap{display:flex;align-items:center;gap:12px}
.lh-cc-icon{width:38px;height:38px;border-radius:9px;background:#EEF2F7;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:15px;color:var(--lh-blue)}
.lh-cc-icon img{width:24px;height:24px;object-fit:contain;border-radius:5px}
.lh-cc-name{font-weight:700;font-size:16px;color:#0E2233;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lh-cc-active{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#1E6B49;background:rgba(47,158,107,.14);border-radius:999px;padding:3px 9px;font-weight:600}
.lh-cc-cat{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:#8294A6;margin-top:3px}
.lh-cc-rows{padding:4px 0 10px}
.lh-cc-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #F2F5F8}
.lh-cc-row .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:#8294A6;white-space:nowrap}
.lh-cc-row .v{font-size:14px;color:#0E2233;text-align:right;word-break:break-all}
.lh-cc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px}
.lh-cc-signals{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#6C7A8A}
.lh-cc-dots{display:inline-flex;gap:3px}
.lh-cc-dots i{width:9px;height:9px;border-radius:50%;background:#DDE4EA}
.lh-cc-dots i.on{background:#2F9E6B}
.lh-cc-view{font-size:13.5px;font-weight:600;color:var(--lh-blue)}
@media (max-width:860px){.lh-cc-grid{grid-template-columns:1fr}}
/* .lh-btn-amber / .lh-btn-amber-lg moved to loom-ui.css (reusable amber CTA). */

/* ============================ USE CASES ============================ */
.lh-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lh-case{border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:36px 30px;background:linear-gradient(180deg,var(--lh-panel),var(--lh-ink-2))}
.lh-case-k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2.5px;color:#BFD4EA;text-transform:uppercase;margin-bottom:20px}
.lh-case h3{font-family:'Newsreader',serif;font-weight:500;font-size:24px;margin:0 0 12px;color:#F2F6FA}
.lh-case p{font-size:15px;line-height:1.62;color:var(--lh-text-muted);margin:0}

/* ============================ PLATFORMS ============================ */
.lh-platforms{background:var(--lh-ink-2);border-top:1px solid rgba(255,255,255,.06);padding:90px 0}
.lh-platforms-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.lh-platforms-head h2{font-family:'Newsreader',serif;font-weight:500;font-size:38px;line-height:1.08;margin:0;letter-spacing:-.6px;color:var(--lh-paper)}
.lh-platforms-head p{font-size:14px;color:#8FA3B8;max-width:320px;margin:0}
.lh-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.lh-ptile{display:flex;align-items:center;gap:13px;padding:18px 20px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:var(--lh-panel);transition:border-color .15s}
.lh-ptile:hover{border-color:rgba(255,255,255,.2)}
.lh-ptile .chip{width:34px;height:34px;flex:none;border-radius:9px;background:rgba(68,137,237,.13);display:flex;align-items:center;justify-content:center;overflow:hidden}
.lh-ptile .chip img{width:18px;height:18px;display:block}
.lh-ptile .chip .lh-logo{width:18px;height:18px;background-color:var(--lh-blue-light)}
.lh-ptile .chip .lh-logo-fallback{font-size:14px;color:var(--lh-blue-light)}
.lh-ptile .nm{font-size:14.5px;font-weight:600;color:#E6EEF6;line-height:1.1}
.lh-ptile .cat{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:1.5px;color:var(--lh-text-dim);text-transform:uppercase;margin-top:3px}

/* ============================ FINAL CTA ============================ */
.lh-final{position:relative;text-align:center;padding:120px 32px;overflow:hidden}
.lh-final-glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 90% at 50% 0%,rgba(68,137,237,.16) 0%,rgba(10,26,40,0) 60%)}
.lh-final-inner{position:relative;max-width:640px;margin:0 auto}
.lh-final h2{font-family:'Newsreader',serif;font-weight:500;font-size:52px;line-height:1.04;letter-spacing:-1px;margin:0 0 20px;color:var(--lh-paper)}
.lh-final p{font-size:18px;line-height:1.55;color:#BFD0E0;margin:0 0 36px}
.lh-final-fine{margin-top:18px;font-size:13px;color:#7E92A6}

/* FOOTER moved to loom-ui.css (shared site-wide chrome). */

/* ============================ RESPONSIVE ============================ */
@media(max-width:900px){
  /* nav responsive (hamburger dropdown) moved to loom-ui.css */
  .lh-hero h1{font-size:48px}
  .lh-section h2,.lh-report-head h2,.lh-platforms-head h2{font-size:32px}
  .lh-final h2{font-size:38px}
  .lh-steps,.lh-cases{grid-template-columns:1fr}
  /* trust strip: scroll horizontally instead of stacking 3 tall rows */
  .lh-strip-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .lh-strip-grid::-webkit-scrollbar{display:none}
  .lh-strip-cell{flex:0 0 82%;scroll-snap-align:start;padding:22px 24px}
  .lh-strip-cell:last-child{border-right:none}
  .lh-pgrid{grid-template-columns:repeat(2,1fr)}
  .lh-exec{grid-template-columns:1fr;gap:24px}
  .lh-paper-body{padding:26px 22px}
  .lh-row{grid-template-columns:1fr auto;row-gap:2px}
  .lh-row .cat,.lh-row .det{display:none}
}
@media(max-width:560px){
  /* button no longer fits inside the pill — stack it full-width below the field */
  .lh-search input#input_3_12{height:60px;padding:0 22px}
  .lh-search #gform_page_3_1 .gform-page-footer,
  .lh-search #gform_page_3_1 .gform_page_footer{position:static;height:auto;margin-top:10px}
  .lh-search #gform_next_button_3_1{width:100%;height:54px}
  .lh-search #gform_page_3_2 .ginput_container_name{grid-template-columns:1fr}
  .lh-stats{gap:20px}
}
