/*
Theme Name: Leads2Lab
Theme URI: https://leads2lab.com/
Author: Leads2Lab
Description: A light, conversion-focused landing-page theme for Leads2Lab.
Version: 1.0.0
Text Domain: leads2lab
*/

:root { --blue:#3468f5; --blue-deep:#2656dc; --blue-pale:#eef3ff; --ink:#171925; --body:#545969; --line:#e7eaf2; --paper:#fbfcff; --card:#fff; --max:1180px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-weight:400; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } button,input,select { font:inherit; } button { cursor:pointer; }
.shell { width:min(calc(100% - 48px),var(--max)); margin:0 auto; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--blue); font-size:12px; letter-spacing:.055em; text-transform:uppercase; font-weight:600; }
.eyebrow::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:12px 18px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:500; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-1px); } .button.primary { color:#fff; background:var(--blue); box-shadow:0 8px 18px rgba(52,104,245,.17); } .button.primary:hover { background:var(--blue-deep); box-shadow:0 10px 24px rgba(52,104,245,.24); } .button.ghost { color:var(--ink); background:#fff; border-color:#d8dce7; } .button.ghost:hover { background:#f6f8fd; }

.site-header { position:sticky; z-index:10; top:0; background:rgba(251,252,255,.88); border-bottom:1px solid rgba(231,234,242,.75); backdrop-filter:blur(14px); }.nav { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand { display:flex; align-items:center; gap:8px; color:var(--blue); font-size:21px; letter-spacing:-.055em; font-weight:600; }.brand-mark { width:24px; height:24px; display:grid; place-items:center; border-radius:7px; color:#fff; background:var(--blue); font-size:16px; line-height:1; font-weight:400; font-style:normal; }.nav-links { display:flex; gap:28px; color:#4e5463; font-size:14px; }.nav-links a:hover,.footer-links a:hover { color:var(--blue); }.menu,.mobile-links { display:none; }

.hero { padding:90px 0 74px; overflow:hidden; }.hero-grid { display:grid; grid-template-columns:1.03fr .97fr; gap:55px; align-items:center; } h1,h2,h3,p { margin-top:0; } h1 { max-width:660px; margin-bottom:22px; color:#181b28; font-size:clamp(45px,5.6vw,74px); font-weight:400; letter-spacing:-.062em; line-height:1.03; } h1 em { color:var(--blue); font-style:normal; }.hero-copy { max-width:545px; margin-bottom:29px; color:var(--body); font-size:18px; line-height:1.58; }.hero-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }.hero-note { margin:17px 0 0; color:#7c8290; font-size:12px; }.hero-note span { color:var(--blue); margin-right:6px; }
.hero-visual { position:relative; min-height:445px; padding:18px; border:1px solid #e6eaf5; border-radius:22px; background:linear-gradient(145deg,#f1f5ff,#fff 52%); }.glow { position:absolute; right:-75px; top:-73px; width:265px; height:265px; border-radius:50%; background:rgba(52,104,245,.1); filter:blur(4px); }.visual-head { position:relative; display:flex; align-items:center; justify-content:space-between; padding:4px 3px 16px; }.visual-head span { color:#697084; font-size:12px; }.visual-head b { color:var(--blue); font-size:12px; font-weight:500; }.visual-head b::before { content:""; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--blue); }.appointment { position:relative; z-index:1; padding:21px; border:1px solid #e3e7f0; border-radius:15px; background:#fff; box-shadow:0 16px 36px rgba(45,65,121,.08); }.appointment-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }.appointment-top span { color:#70788a; font-size:12px; }.pill { padding:6px 9px; border-radius:999px; color:var(--blue); background:var(--blue-pale); font-size:11px; font-weight:500; }.lead-name { margin:18px 0 5px; font-size:24px; letter-spacing:-.045em; font-weight:450; }.lead-detail { color:#72798a; font-size:13px; }.appointment-line { margin:17px 0; height:1px; background:var(--line); }.appointment-row { display:flex; justify-content:space-between; color:#565d6c; font-size:12px; }.appointment-row strong { color:var(--ink); font-weight:500; }.stat-chip { position:absolute; z-index:2; display:flex; align-items:center; gap:12px; padding:13px 15px; border:1px solid #e1e6f5; border-radius:13px; background:rgba(255,255,255,.94); box-shadow:0 15px 28px rgba(52,73,130,.11); }.stat-chip.one { right:-17px; top:137px; }.stat-chip.two { bottom:38px; left:-28px; }.stat-icon { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; color:var(--blue); background:var(--blue-pale); }.stat-chip b { display:block; font-size:16px; font-weight:500; letter-spacing:-.04em; }.stat-chip span { display:block; margin-top:2px; color:#7b8291; font-size:10px; }.trend { position:absolute; right:28px; bottom:22px; left:28px; height:87px; border-radius:12px; background:#f5f7fd; overflow:hidden; }.trend svg { position:absolute; inset:0; width:100%; height:100%; }

.proof { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }.proof .shell { display:grid; grid-template-columns:repeat(4,1fr); }.proof-item { padding:25px 20px 24px 0; border-right:1px solid var(--line); }.proof-item + .proof-item { padding-left:25px; }.proof-item:last-child { border-right:0; }.proof-item b { display:block; margin-bottom:4px; color:var(--blue); font-size:30px; letter-spacing:-.065em; font-weight:450; }.proof-item span { color:#737987; font-size:12px; line-height:1.35; }

section { padding:105px 0; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:42px; }h2 { max-width:680px; margin-bottom:0; color:#1c1f2b; font-size:clamp(36px,4.3vw,58px); font-weight:400; letter-spacing:-.055em; line-height:1.06; }.section-heading p { max-width:335px; margin:0; color:var(--body); font-size:15px; line-height:1.6; }
.bento-section,.testimonials { background:#f6f8fd; }.bento { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:minmax(178px,auto); gap:15px; }.bento-card { position:relative; overflow:hidden; padding:24px; border:1px solid #e5e9f2; border-radius:17px; background:var(--card); }.bento-card h3 { margin-bottom:9px; color:#202330; font-size:22px; line-height:1.14; letter-spacing:-.045em; font-weight:450; }.bento-card p { max-width:330px; margin-bottom:0; color:#737a89; font-size:13px; line-height:1.54; }.bento-card.one { grid-column:span 7; background:linear-gradient(137deg,#fff,#f1f5ff); }.bento-card.two { grid-column:span 5; background:var(--blue); border-color:var(--blue); color:#fff; }.bento-card.two h3 { color:#fff; }.bento-card.two p { color:#e6ebff; }.bento-card.three,.bento-card.four,.bento-card.five { grid-column:span 4; }.bento-card.five { background:#ecf2ff; }.bento-index { display:inline-grid; place-items:center; width:30px; height:30px; margin-bottom:30px; border-radius:9px; color:var(--blue); background:var(--blue-pale); font-size:12px; font-weight:500; }.two .bento-index { color:var(--blue); background:#fff; }.bento-bars { position:absolute; right:21px; bottom:22px; display:flex; align-items:end; gap:6px; height:76px; opacity:.88; }.bento-bars i { width:19px; border-radius:5px 5px 0 0; background:var(--blue); }.bento-bars i:nth-child(1) { height:25px; opacity:.35; }.bento-bars i:nth-child(2) { height:40px; opacity:.55; }.bento-bars i:nth-child(3) { height:56px; opacity:.75; }.bento-bars i:nth-child(4) { height:72px; }.white-orbit { position:absolute; right:-35px; bottom:-55px; width:218px; height:218px; border:1px solid rgba(255,255,255,.4); border-radius:50%; box-shadow:0 0 0 32px rgba(255,255,255,.1),0 0 0 64px rgba(255,255,255,.07); }.white-orbit::after { content:"↗"; position:absolute; top:49px; left:51px; display:grid; place-items:center; width:64px; height:64px; border-radius:50%; color:var(--blue); background:#fff; font-size:25px; }.quote-mark { position:absolute; right:19px; bottom:0; color:#cbd7fa; font-family:Georgia,serif; font-size:115px; line-height:.8; }.check-list { position:absolute; right:20px; bottom:21px; left:24px; display:grid; gap:8px; }.check-list span { color:#5e6880; font-size:11px; }.check-list span::before { content:"✓"; display:inline-grid; place-items:center; width:15px; height:15px; margin-right:7px; border-radius:50%; color:var(--blue); background:#dce6ff; font-size:9px; }

.how { background:#fff; }.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:46px; }.step { position:relative; padding-top:59px; }.step:not(:last-child)::after { content:""; position:absolute; top:15px; right:-31px; width:62px; border-top:1px dashed #cad3ea; }.step-number { position:absolute; top:0; left:0; display:grid; place-items:center; width:31px; height:31px; border-radius:50%; color:var(--blue); background:var(--blue-pale); font-size:12px; }.step h3 { margin-bottom:10px; font-size:21px; line-height:1.18; font-weight:450; letter-spacing:-.04em; }.step p { margin-bottom:0; color:#6f7685; font-size:14px; line-height:1.58; }
.testimonial-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:15px; }.testimonial { min-height:267px; padding:29px; border:1px solid #e3e7f0; border-radius:17px; background:#fff; }.testimonial.large { display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg,#fff,#f2f5ff); }.testimonial .stars { color:var(--blue); letter-spacing:2px; font-size:13px; }.testimonial blockquote { max-width:625px; margin:20px 0; color:#242838; font-size:clamp(21px,2.25vw,30px); line-height:1.26; letter-spacing:-.044em; font-weight:400; }.person { display:flex; align-items:center; gap:10px; color:#707787; font-size:12px; }.avatar { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:var(--blue); background:#dce6ff; font-size:11px; }.testimonial-stack { display:grid; gap:15px; }.testimonial.small { min-height:126px; padding:20px; }.testimonial.small p { margin:0 0 14px; color:#515766; font-size:13px; line-height:1.5; }

.call { padding:102px 0; background:linear-gradient(135deg,#ebf1ff,#f9fbff); }.call-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:82px; align-items:center; }.call-copy p { max-width:485px; margin:21px 0 0; color:#60697a; font-size:16px; line-height:1.6; }.call-list { display:grid; gap:10px; margin-top:28px; color:#4f596e; font-size:13px; }.call-list span::before { content:"✓"; margin-right:9px; color:var(--blue); }form { padding:26px; border:1px solid #dfe5f2; border-radius:18px; background:#fff; box-shadow:0 18px 38px rgba(45,67,124,.08); }form h3 { margin-bottom:6px; font-size:25px; font-weight:450; letter-spacing:-.05em; }form > p { margin-bottom:22px; color:#747c8c; font-size:13px; }label { display:block; margin:13px 0 6px; color:#687082; font-size:11px; }input,select { width:100%; padding:12px 13px; border:1px solid #dce1ed; border-radius:8px; outline:none; color:var(--ink); background:#fff; font-size:14px; }input:focus,select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(52,104,245,.11); }form .button { width:100%; margin-top:20px; border:0; }.form-message { min-height:17px; margin:12px 0 0; color:var(--blue); font-size:12px; }.form-message.error { color:#ad3049; }
.faq { background:#fff; }.faq-wrap { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; }.faq-wrap p { margin:18px 0 0; color:var(--body); font-size:15px; line-height:1.58; }details { border-bottom:1px solid var(--line); }details:first-child { border-top:1px solid var(--line); }summary { position:relative; padding:19px 33px 19px 0; list-style:none; color:#303442; font-size:16px; cursor:pointer; }summary::-webkit-details-marker { display:none; }summary::after { content:"+"; position:absolute; right:5px; color:var(--blue); font-size:22px; font-weight:300; }details[open] summary::after { content:"–"; }details p { padding:0 28px 20px 0; margin:0; color:#6c7382; font-size:14px; line-height:1.58; }

.site-footer { padding:46px 0 22px; background:#fff; border-top:1px solid var(--line); }.footer-top { display:flex; justify-content:space-between; gap:32px; padding-bottom:37px; }.footer-copy { max-width:270px; margin:15px 0 0; color:#737a89; font-size:13px; line-height:1.55; }.footer-links { display:flex; gap:48px; }.footer-links div { display:grid; gap:10px; align-content:start; }.footer-links b { margin-bottom:3px; color:#5e6574; font-size:11px; font-weight:500; }.footer-links a { color:#737a89; font-size:13px; }.footer-bottom { display:flex; justify-content:space-between; padding-top:21px; border-top:1px solid var(--line); color:#9298a5; font-size:11px; }.float-call { position:fixed; z-index:12; right:22px; bottom:22px; display:inline-flex; align-items:center; gap:8px; padding:12px 17px; border-radius:999px; color:#fff; background:var(--blue); box-shadow:0 10px 25px rgba(52,104,245,.32); font-size:13px; font-weight:500; }
.reveal { opacity:0; transform:translateY(16px); transition:opacity .6s ease,transform .6s ease; }.reveal.visible { opacity:1; transform:none; }

@media (max-width:860px) { .nav-links,.desktop-cta { display:none; }.menu { display:grid; gap:5px; width:34px; padding:8px 5px; border:0; background:transparent; }.menu span { height:1.5px; background:var(--ink); }.mobile-links { border-top:1px solid var(--line); background:#fff; }.mobile-links.open { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; padding:16px 24px 18px; }.mobile-links a { color:#505767; font-size:14px; }.hero { padding-top:64px; }.hero-grid { grid-template-columns:1fr; gap:52px; }.hero-visual { max-width:560px; width:calc(100% - 24px); margin:0 auto; }.section-heading { display:block; }.section-heading p { margin-top:18px; }.bento-card.one,.bento-card.two { grid-column:span 12; }.bento-card.three,.bento-card.four,.bento-card.five { grid-column:span 4; }.steps { gap:30px; }.step:not(:last-child)::after { right:-20px; width:40px; }.call-grid,.faq-wrap { gap:45px; } }
@media (max-width:620px) { .shell { width:min(calc(100% - 32px),var(--max)); }.nav { min-height:67px; }.hero { padding:53px 0 55px; }h1 { font-size:47px; }.hero-copy { font-size:16px; }.hero-visual { min-height:402px; width:calc(100% - 10px); padding:14px; }.stat-chip.one { right:-16px; top:145px; }.stat-chip.two { left:-16px; bottom:25px; }.proof .shell { grid-template-columns:1fr 1fr; }.proof-item { padding:18px 13px 18px 0; }.proof-item:nth-child(2) { border-right:0; padding-left:15px; }.proof-item:nth-child(n+3) { border-top:1px solid var(--line); padding-top:18px; }.proof-item:nth-child(3) { padding-left:0; }.proof-item:nth-child(4) { padding-left:15px; }.proof-item b { font-size:25px; }section,.call { padding:74px 0; }h2 { font-size:39px; }.bento { grid-template-columns:1fr; grid-auto-rows:auto; }.bento-card.one,.bento-card.two,.bento-card.three,.bento-card.four,.bento-card.five { grid-column:span 1; min-height:224px; }.bento-card.two { min-height:244px; }.steps,.testimonial-grid,.call-grid,.faq-wrap { grid-template-columns:1fr; }.steps { gap:0; }.step { padding:26px 0 26px 52px; border-bottom:1px solid var(--line); }.step:first-child { border-top:1px solid var(--line); }.step-number { top:27px; }.step:not(:last-child)::after { display:none; }.call-grid { gap:36px; }.footer-top { display:block; }.footer-links { margin-top:32px; gap:35px; }.footer-bottom { display:block; }.footer-bottom span + span { display:block; margin-top:6px; }.float-call { right:14px; bottom:14px; } }
