/*
 * _systemLanding public stylesheet (plan 4.2). Loaded only on landing pages (addCSS in _systemLandingPublic).
 * It reads ONLY --lp-* custom properties; a site maps its own tokens in templates/<site>/css/_systemLanding-tokens.css
 * (plain CSS, no build step). Derived values are read with a fallback, never declared as defaults that refer to another
 * custom property: a var() inside a custom property resolves where it is declared, so a later --lp-primary on .lp
 * (a site token file, a landing's own CSS) would not reach it (measured in the mockup, 2026-10-18).
 * Hand-written, not a build artifact: nothing to recompile after a merge.
 */
/* the landing is its own stacking and clipping context: nothing in it (its own CSS included) can cover the site */
.lp{position:relative;isolation:isolate;overflow:clip;font-family:var(--lp-font,inherit);color:var(--lp-text,#3c4048);line-height:1.6;overflow-wrap:break-word}
.lp *,.lp *::before,.lp *::after{box-sizing:border-box}
.lp-wrap{max-width:var(--lp-maxw,1140px);margin:0 auto;padding:0 16px}
.lp-w--narrow .lp-wrap{max-width:860px}
.lp-w--full .lp-wrap{max-width:none}
.lp-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--lp-gap,32px);row-gap:24px}
.lp-cell{min-width:0;display:flex;flex-direction:column;gap:24px}
.lp-va--center{align-self:center}.lp-va--bottom{align-self:end}
.lp-ha--center{text-align:center}
.lp-cell--card{background:var(--lp-surface,#fff);border:1px solid var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);padding:24px;box-shadow:var(--lp-shadow,0 6px 24px rgba(0,0,0,.06))}
.lp-c-lg-1{grid-column:span 1}.lp-c-lg-2{grid-column:span 2}.lp-c-lg-3{grid-column:span 3}.lp-c-lg-4{grid-column:span 4}.lp-c-lg-5{grid-column:span 5}.lp-c-lg-6{grid-column:span 6}.lp-c-lg-7{grid-column:span 7}.lp-c-lg-8{grid-column:span 8}.lp-c-lg-9{grid-column:span 9}.lp-c-lg-10{grid-column:span 10}.lp-c-lg-11{grid-column:span 11}.lp-c-lg-12{grid-column:span 12}
@media (max-width:991px){.lp-c-md-1{grid-column:span 1}.lp-c-md-2{grid-column:span 2}.lp-c-md-3{grid-column:span 3}.lp-c-md-4{grid-column:span 4}.lp-c-md-5{grid-column:span 5}.lp-c-md-6{grid-column:span 6}.lp-c-md-7{grid-column:span 7}.lp-c-md-8{grid-column:span 8}.lp-c-md-9{grid-column:span 9}.lp-c-md-10{grid-column:span 10}.lp-c-md-11{grid-column:span 11}.lp-c-md-12{grid-column:span 12}}
@media (max-width:767px){.lp-c-sm-1{grid-column:span 1}.lp-c-sm-2{grid-column:span 2}.lp-c-sm-3{grid-column:span 3}.lp-c-sm-4{grid-column:span 4}.lp-c-sm-5{grid-column:span 5}.lp-c-sm-6{grid-column:span 6}.lp-c-sm-7{grid-column:span 7}.lp-c-sm-8{grid-column:span 8}.lp-c-sm-9{grid-column:span 9}.lp-c-sm-10{grid-column:span 10}.lp-c-sm-11{grid-column:span 11}.lp-c-sm-12{grid-column:span 12}.lp-grid{column-gap:16px}}
/* rows: scheme, padding, alignment, visibility */
.lp-row{position:relative;padding:var(--lp-space,72px) 0}
.lp-pt--s{padding-top:32px}.lp-pt--l{padding-top:112px}.lp-pt--0{padding-top:0}
.lp-pb--s{padding-bottom:32px}.lp-pb--l{padding-bottom:112px}.lp-pb--0{padding-bottom:0}
.lp-al--center{text-align:center}
.lp-scheme--alt{background:var(--lp-surface-alt,#f6f7f9)}
.lp-scheme--primary{background:var(--lp-scheme-primary-bg,var(--lp-primary,#1d4ed8));color:var(--lp-on-primary,#fff)}
.lp-scheme--dark{background:var(--lp-ink,#1f2937);color:var(--lp-on-dark,#f3f4f6)}
.lp-row--custom{background:var(--lp-row-bg);color:var(--lp-row-fg)}
.lp-scheme--primary :is(h1,h2,h3,h4,.lp-kicker,.lp-sub),.lp-scheme--dark :is(h1,h2,h3,h4,.lp-kicker,.lp-sub),.lp-row--custom :is(h1,h2,h3,h4,.lp-kicker,.lp-sub){color:inherit}
.lp-row--img{background-image:linear-gradient(rgba(17,24,39,var(--lp-ov,0)),rgba(17,24,39,var(--lp-ov,0))),var(--lp-row-img);background-size:cover;background-position:center}
.lp-ov--30{--lp-ov:.3}.lp-ov--60{--lp-ov:.6;color:#fff}.lp-ov--60 :is(h1,h2,h3,h4,.lp-sub){color:#fff}
@media (max-width:767px){.lp-vis--desktop{display:none}}
@media (min-width:768px){.lp-vis--mobile{display:none}}
/* type */
.lp h1,.lp h2,.lp h3,.lp h4{font-family:var(--lp-font-head,inherit);color:var(--lp-ink,#1f2937);font-weight:var(--lp-head-weight,700);line-height:1.2;margin:0 0 .5em}
.lp .lp-title{font-size:clamp(26px,3vw,34px)}
.lp h3{font-size:19px}
.lp-kicker{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700;color:var(--lp-primary,#1d4ed8);margin:0 0 8px}
.lp-sub{color:var(--lp-muted,#6b7280);font-size:17px;max-width:720px;margin:0 0 32px}
.lp-al--center .lp-sub,.lp-ha--center .lp-sub{margin-left:auto;margin-right:auto}
.lp a:not(.lp-btn){color:var(--lp-link,var(--lp-primary,#1d4ed8))}
.lp-btn{display:inline-block;white-space:nowrap;background:var(--lp-btn-bg,var(--lp-primary,#1d4ed8));color:var(--lp-btn-fg,var(--lp-on-primary,#fff))!important;border:0;border-radius:var(--lp-btn-radius,999px);padding:14px 30px;font-weight:600;font-size:16px;line-height:1.2;text-decoration:none!important;cursor:pointer;font-family:inherit}
.lp-btn--ghost{background:transparent;color:var(--lp-ink,#1f2937)!important;box-shadow:inset 0 0 0 1.5px var(--lp-line,#d1d5db)}
.lp-btn:focus-visible{outline:3px solid var(--lp-focus,#2563eb);outline-offset:2px}
/* hero */
.lp-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.lp-hero--split_left .lp-hero__media{order:-1}
.lp-hero--center,.lp-hero--background{grid-template-columns:1fr;text-align:center;max-width:860px;margin:0 auto}
.lp-hero--background{background-image:linear-gradient(rgba(17,24,39,.6),rgba(17,24,39,.6)),var(--lp-hero-img,none);background-size:cover;background-position:center;color:#fff;padding:64px 24px;border-radius:var(--lp-radius,12px);max-width:none}
.lp-hero--background .lp-hero__title,.lp-hero--background .lp-hero__lead{color:#fff}
.lp .lp-hero__title{font-size:clamp(32px,4.4vw,50px);margin:0 0 18px}
.lp-hero__lead{font-size:19px;color:var(--lp-muted,#6b7280);margin:0 0 28px}
.lp-hero__ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.lp-hero--center .lp-hero__ctas,.lp-hero--background .lp-hero__ctas,.lp-hero--center .lp-chips,.lp-hero--background .lp-chips{justify-content:center}
.lp-hero__note{font-size:13px;color:var(--lp-muted,#6b7280);margin:14px 0 0}
.lp-hero__media img{width:100%;height:auto;display:block}
.lp-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.lp-chip{background:var(--lp-primary-soft,#eef2ff);color:var(--lp-primary,#1d4ed8);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
/* benefits */
.lp-cards{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lp-card{background:var(--lp-surface,#fff);border:1px solid var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);padding:28px 24px;box-shadow:var(--lp-shadow,0 6px 24px rgba(0,0,0,.06));text-align:left;color:var(--lp-text,#3c4048)}
.lp-card p{margin:0;color:var(--lp-muted,#6b7280)}
.lp-card__icon{width:48px;height:48px;border-radius:12px;background:var(--lp-primary-soft,#eef2ff);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 0 16px}
.lp-icons--circle .lp-card__icon{border-radius:50%}.lp-icons--plain .lp-card__icon{background:none;width:auto;justify-content:flex-start}
/* lists of the module: a site rule like '.content ul li::before' (simplesms .service-details) must not add bullets */
.lp .lp-stats>li::before,.lp .lp-cards>li::before{content:none}
.lp .lp-stats>li,.lp .lp-steps>li{list-style:none}
/* stats */
.lp-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;text-align:center}
.lp-stat b{display:block;font-family:var(--lp-font-head,inherit);font-size:clamp(28px,4vw,42px);color:var(--lp-primary,#1d4ed8);line-height:1.1}
.lp-stat span{color:var(--lp-muted,#6b7280);font-size:15px}
.lp-sources{font-size:12px;color:var(--lp-muted,#6b7280);text-align:center;margin:16px 0 0}.lp-sources span+span::before{content:" · "}
/* steps */
.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;counter-reset:lps}
.lp-steps li{position:relative;padding:56px 22px 22px;background:var(--lp-surface,#fff);border-radius:var(--lp-radius,12px);border:1px solid var(--lp-line,#e5e7eb);text-align:left;color:var(--lp-text,#3c4048)}
.lp .lp-steps>li::before{counter-increment:lps;content:counter(lps);position:absolute;top:18px;left:22px;width:28px;height:28px;border-radius:50%;background:var(--lp-btn-bg,var(--lp-primary,#1d4ed8));color:var(--lp-btn-fg,var(--lp-on-primary,#fff));font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px}
.lp .lp-num--big>li::before{background:none;color:var(--lp-primary,#1d4ed8);font-size:30px;width:auto;top:10px}
.lp-num--none li{padding-top:22px}.lp .lp-num--none>li::before{display:none}
.lp-steps p{margin:0;color:var(--lp-muted,#6b7280)}
/* text + image */
.lp-split--img{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.lp-split--left .lp-split__media{order:-1}
.lp-split__media img{width:100%;height:auto;display:block;border-radius:var(--lp-radius,12px)}
.lp-split__cta{margin:18px 0 0}
/* rich text */
.lp-rich{font-size:17px}
.lp-rich--narrow{max-width:760px}.lp-al--center .lp-rich--narrow{margin:0 auto;text-align:left}
.lp-rich h2{font-size:clamp(24px,2.6vw,30px);margin-top:1.2em}.lp-rich h2:first-child{margin-top:0}
.lp-rich h3{margin-top:1.1em}
:is(.lp-rich,.lp-faq__a) code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:rgba(127,127,127,.16);border-radius:4px;padding:.1em .35em}
:is(.lp-rich,.lp-faq__a) pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;background:#111827;color:#f3f4f6;border-radius:min(var(--lp-radius,12px),10px);padding:16px 18px;margin:1em 0;white-space:pre;overflow-x:auto;max-width:100%;text-align:left;tab-size:4}
:is(.lp-rich,.lp-faq__a) pre code{font-size:inherit;background:none;padding:0;color:inherit;border-radius:0}
.lp-rich table{border-collapse:collapse;width:100%;margin:1em 0}.lp-rich th,.lp-rich td{border:1px solid var(--lp-line,#e5e7eb);padding:8px 10px;text-align:left}
/* faq */
.lp-faq{max-width:860px;margin:0 auto;text-align:left}
.lp-faq details{background:var(--lp-surface,#fff);border:1px solid var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);margin:0 0 10px;padding:0 20px;color:var(--lp-text,#3c4048)}
.lp-faq summary{cursor:pointer;font-weight:600;color:var(--lp-ink,#1f2937);padding:16px 28px 16px 0;list-style:none;position:relative}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:22px;color:var(--lp-primary,#1d4ed8)}
.lp-faq details[open] summary::after{content:"\2212"}
.lp-faq__a{padding:0 0 16px;color:var(--lp-muted,#6b7280)}
/* cta */
.lp-ctablock--center{text-align:center}.lp-ctablock--center p{max-width:640px;margin:0 auto 24px}
.lp-ctablock--split{display:flex;gap:32px;align-items:center;justify-content:space-between;text-align:left}
.lp-ctablock__btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.lp-scheme--primary .lp-btn,.lp-scheme--dark .lp-btn,.lp-row--custom .lp-btn{background:#fff;color:var(--lp-ink,#1f2937)!important}
/* sticky mobile cta */
.lp-sticky{display:none}
@media (max-width:991px){
 .lp-hero,.lp-split--img{grid-template-columns:1fr;gap:28px}
 .lp-hero--split_left .lp-hero__media,.lp-split--left .lp-split__media{order:0}
 .lp-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
 .lp-row{padding:48px 0}.lp-pt--l{padding-top:64px}.lp-pb--l{padding-bottom:64px}.lp-pt--s{padding-top:24px}.lp-pb--s{padding-bottom:24px}
 .lp-cards,.lp-cols-2,.lp-cols-4{grid-template-columns:1fr}
 .lp-hero__ctas .lp-btn{width:100%;text-align:center}
 .lp-ctablock--split{flex-direction:column;text-align:center}
 .lp--sticky{padding-bottom:72px}
 .lp-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--lp-surface,#fff);box-shadow:0 -4px 18px rgba(0,0,0,.12)}
 .lp-sticky .lp-btn{display:block;text-align:center;padding:12px}
}
/* F2 blocks */
.lp-oq{min-height:120px}
.lp-oq--off{color:var(--lp-muted,#6b7280);border:1px dashed var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);padding:24px;text-align:center}
.lp-box{min-width:0}
.lp-case{background:var(--lp-surface,#fff);border:1px solid var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);padding:24px;margin:0 0 22px;text-align:left;color:var(--lp-text,#3c4048)}
.lp-source{color:var(--lp-muted,#6b7280)}
.lp-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.lp-quote{margin:0;background:var(--lp-surface,#fff);border:1px solid var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);padding:24px;text-align:left}
.lp-quote blockquote{margin:0 0 14px;font-size:17px;color:var(--lp-ink,#1f2937);border:0;padding:0}
.lp-quote figcaption{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--lp-muted,#6b7280)}
.lp-quote figcaption img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.lp-quote figcaption b{color:var(--lp-ink,#1f2937)}
.lp-prices{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-prices.lp-cols-1{grid-template-columns:minmax(0,420px);justify-content:center}.lp-prices.lp-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-prices.lp-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lp-price{position:relative;background:var(--lp-surface,#fff);border:1px solid var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);padding:28px 22px;text-align:center;color:var(--lp-text,#3c4048)}
.lp-price.is-hot{border:2px solid var(--lp-primary,#1d4ed8);box-shadow:var(--lp-shadow,0 6px 24px rgba(0,0,0,.08))}
.lp-price__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--lp-btn-bg,var(--lp-primary,#1d4ed8));color:var(--lp-btn-fg,var(--lp-on-primary,#fff));font-size:12px;font-weight:700;border-radius:999px;padding:3px 12px;white-space:nowrap}
.lp-price__amount{font-family:var(--lp-font-head,inherit);font-size:30px;font-weight:700;color:var(--lp-ink,#1f2937);margin:6px 0 2px}
.lp-price__unit{font-size:13px;color:var(--lp-muted,#6b7280);margin:0 0 14px}
.lp .lp-price ul{list-style:none;margin:0 0 18px;padding:0;font-size:14px}
.lp .lp-price li{padding:5px 0;border-bottom:1px dashed var(--lp-line,#e5e7eb)}
.lp .lp-price li::before{content:none}
.lp-fine{text-align:center;font-size:13px;color:var(--lp-muted,#6b7280);margin:16px 0 0}
.lp-video{position:relative;max-width:880px;margin:0 auto;border-radius:var(--lp-radius,12px);overflow:hidden;background:#111827;aspect-ratio:16/9}
.lp-ratio--9x16.lp-video{aspect-ratio:9/16;max-width:420px}.lp-ratio--1x1.lp-video{aspect-ratio:1/1;max-width:640px}
.lp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lp-video__btn{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:linear-gradient(135deg,var(--lp-ink,#1f2937),var(--lp-primary,#1d4ed8));color:#fff}
.lp-video__btn img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lp-video__play{position:relative;display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--lp-primary,#1d4ed8);font-size:28px;padding-left:6px}
.lp-video__note{position:absolute;left:0;right:0;bottom:12px;font-size:12px;opacity:.85;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.lp-video__desc{max-width:880px;margin:12px auto 0;color:var(--lp-muted,#6b7280)}
.lp-gallery{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-gallery.lp-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-gallery.lp-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lp-gallery figure{margin:0;border-radius:var(--lp-radius,12px);overflow:hidden;background:var(--lp-surface,#fff);border:1px solid var(--lp-line,#e5e7eb)}
.lp-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.lp-ratio--16x9 img{aspect-ratio:16/9}.lp-ratio--1x1 img{aspect-ratio:1/1}
.lp-gallery figcaption{padding:10px 12px;font-size:14px;color:var(--lp-muted,#6b7280)}
.lp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--lp-line,#e5e7eb);border-radius:var(--lp-radius,12px);background:var(--lp-surface,#fff)}
.lp-table{width:100%;border-collapse:collapse;min-width:520px;font-size:15px;color:var(--lp-text,#3c4048)}
.lp-table th,.lp-table td{padding:13px 15px;border-bottom:1px solid var(--lp-line,#e5e7eb);text-align:left;vertical-align:top}
.lp-table thead th{font-family:var(--lp-font-head,inherit);color:var(--lp-ink,#1f2937);background:var(--lp-surface-alt,#f6f7f9)}
.lp-table th.is-us,.lp-table td.is-us{background:var(--lp-primary-soft,#eef2ff)}
.lp-table tr:last-child th,.lp-table tr:last-child td{border-bottom:0}
.lp-yes{color:#15803d;font-weight:700}.lp-no{color:#b91c1c;font-weight:700}
.lp-logo{display:flex;align-items:center;justify-content:center;min-height:56px}
.lp-logo img{max-width:100%;height:auto;max-height:64px;object-fit:contain}
.lp-logo--gray img{filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}.lp-logo--gray a:hover img,.lp-logo--gray a:focus img{filter:none;opacity:1}
@media (max-width:991px){.lp-prices.lp-cols-4,.lp-gallery.lp-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.lp-prices,.lp-prices.lp-cols-2,.lp-prices.lp-cols-4,.lp-gallery.lp-cols-3,.lp-gallery.lp-cols-4{grid-template-columns:1fr}}
