/* Styles are scoped to the plugin root to avoid collisions with WordPress themes. */
.slp-standalone{margin:0;padding:0;min-width:0}
.slp-shell,.slp-shell *,.slp-shell *::before,.slp-shell *::after{box-sizing:border-box}
.slp-shell{--slp-accent:#f9a929;--slp-ink:#111;--slp-muted:#686868;--slp-line:#e6e0d4;--slp-soft:#fbfaf7;min-width:0;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:32px 18px;background:radial-gradient(circle at top left,rgba(198,161,91,.16),transparent 34%),linear-gradient(135deg,#fff 0%,#f7f7f3 54%,#eee7d9 100%);color:var(--slp-ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5}
.slp-shell--standalone{width:100%;overflow-x:clip}
.slp-shell--embed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:clip}
.slp-shell .slp-page,.slp-shell .slp-hero,.slp-shell .slp-panel,.slp-shell .slp-status-row,.slp-shell .slp-signup{min-width:0}
.slp-shell .slp-page{width:min(1120px,100%);max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:stretch}
.slp-shell .slp-hero,.slp-shell .slp-panel{border:1px solid var(--slp-line);border-radius:28px;box-shadow:0 24px 80px rgba(17,17,17,.09);overflow:hidden}
.slp-shell .slp-hero{background:rgba(255,255,255,.86);padding:48px;position:relative}
.slp-shell .slp-hero::after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(198,161,91,.35);border-radius:50%;right:-85px;bottom:-85px;pointer-events:none}
.slp-shell .slp-brand{display:flex;align-items:center;gap:14px;margin:0 0 58px}
.slp-shell .slp-uploaded-logo{display:block;max-width:min(260px,100%);max-height:92px;width:auto;height:auto;object-fit:contain}
.slp-shell .slp-logo-mark{width:48px;height:48px;border-radius:15px;border:1px solid rgba(198,161,91,.55);background:linear-gradient(145deg,#111,#343434);display:grid;place-items:center;color:var(--slp-accent);font-weight:800;letter-spacing:-.04em;flex:0 0 48px}
.slp-shell .slp-brand-text strong{display:block;font-size:18px;letter-spacing:.02em;color:#111}
.slp-shell .slp-brand-text span{display:block;color:var(--slp-muted);font-size:13px;margin-top:3px}
.slp-shell .slp-eyebrow{color:var(--slp-accent-ink);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;margin:0 0 18px}
.slp-shell h1{font-family:inherit;font-weight:800;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.065em;margin:0 0 22px;max-width:760px;color:#000}
.slp-shell .slp-lead{color:#3f3f3f;font-size:18px;line-height:1.7;max-width:650px;margin:0 0 34px}
.slp-shell .slp-status-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:36px}
.slp-shell .slp-status-card{border:1px solid var(--slp-line);background:var(--slp-soft);border-radius:18px;padding:18px}
.slp-shell .slp-status-card span{display:block;color:var(--slp-accent-ink);font-size:22px;font-weight:800;margin-bottom:4px}
.slp-shell .slp-status-card p{color:var(--slp-muted);font-size:13px;line-height:1.45;margin:0}
.slp-shell .slp-panel{padding:34px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:linear-gradient(180deg,rgba(17,17,17,.94),rgba(17,17,17,.98));color:#fff}
.slp-shell .slp-notice h2{font-family:inherit;color:var(--slp-accent);font-size:30px;letter-spacing:-.04em;margin:0 0 12px}
.slp-shell .slp-notice p{color:rgba(255,255,255,.72);line-height:1.65;margin:0 0 22px}
.slp-shell .slp-signup{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;position:relative}
.slp-shell .slp-signup>input[type=email]{flex:1 1 190px;min-width:0;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:14px;padding:15px 16px;outline:none;font-family:inherit;font-size:14px;line-height:1.4;height:auto}
.slp-shell .slp-signup>input[type=email]::placeholder{color:rgba(255,255,255,.6)}
.slp-shell .slp-signup>button{flex:0 0 auto;border:0;background:linear-gradient(135deg,var(--slp-accent),#e2c176);color:#111;font-family:inherit;font-size:14px;line-height:1.4;font-weight:800;border-radius:14px;padding:15px 18px;cursor:pointer;box-shadow:0 12px 32px rgba(198,161,91,.24)}
.slp-shell .slp-signup>button:hover{filter:brightness(1.09)}
.slp-shell .slp-signup input:focus-visible,.slp-shell .slp-signup button:focus-visible,.slp-shell .slp-links a:focus-visible{outline:3px solid var(--slp-accent);outline-offset:3px}
.slp-shell .slp-consent{display:flex;gap:10px;flex:1 1 100%;align-items:flex-start;color:rgba(255,255,255,.85);font-size:12px;line-height:1.55;cursor:pointer}
.slp-shell .slp-consent input{margin:2px 0 0;accent-color:var(--slp-accent);flex:0 0 auto}
.slp-shell .slp-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.slp-shell .slp-form-message{margin-bottom:16px;padding:12px 14px;border:1px solid rgba(249,169,41,.4);border-radius:12px;color:#fff;font-size:14px}
.slp-shell .slp-notice .slp-small{font-size:12px;color:rgba(255,255,255,.65);line-height:1.5}
.slp-shell .slp-links{display:flex;flex-wrap:wrap;gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.slp-shell .slp-links a{color:var(--slp-accent);text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:10px 14px;font-size:13px;line-height:1.4}
.slp-shell .slp-links a:hover{color:#fff;border-color:var(--slp-accent)}
@media(max-width:880px){.slp-shell .slp-page{grid-template-columns:minmax(0,1fr)}.slp-shell .slp-hero{padding:34px}.slp-shell .slp-brand{margin-bottom:42px}.slp-shell .slp-status-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.slp-shell{padding:18px 12px}.slp-shell .slp-hero,.slp-shell .slp-panel{border-radius:22px;padding:26px}.slp-shell .slp-status-row{grid-template-columns:1fr}.slp-shell .slp-signup{flex-direction:column}.slp-shell .slp-signup>input[type=email],.slp-shell .slp-signup>button{flex:0 0 auto;width:100%}}
@media(prefers-reduced-motion:reduce){.slp-shell .slp-hero-media img{transition:none}}

.slp-receipt{box-sizing:border-box;max-width:600px;padding:48px;margin:10vh auto;border:1px solid #e6e0d4;border-radius:24px;font-family:Inter,Arial,sans-serif;box-shadow:0 24px 70px rgba(0,0,0,.08)}.slp-receipt h1{color:#111;font-size:32px}.slp-receipt p{color:#333;font-size:18px;line-height:1.5}.slp-receipt a{color:#57410a;font-weight:700}.slp-receipt a:focus-visible{outline:3px solid #f9a929;outline-offset:4px}@media(max-width:640px){.slp-receipt{margin:20px 12px;padding:26px}}
/* Design Studio v2.1 — the same declarations serve previews, shortcode and live pages. */
.slp-shell{background:linear-gradient(135deg,var(--slp-background),var(--slp-background-end));color:var(--slp-ink)}
.slp-shell .slp-page{width:min(var(--slp-width),100%);max-width:var(--slp-width);gap:var(--slp-gap)}
.slp-shell .slp-hero,.slp-shell .slp-panel{border-radius:var(--slp-radius)}
.slp-shell .slp-hero{background:var(--slp-hero-bg)}
.slp-shell .slp-panel{background:var(--slp-panel-bg);color:var(--slp-panel-ink)}
.slp-shell .slp-brand-text strong,.slp-shell h1{color:var(--slp-ink)}
.slp-shell .slp-brand-text span,.slp-shell .slp-status-card p{color:var(--slp-muted)}
.slp-shell .slp-lead{color:var(--slp-ink);opacity:.78}
.slp-shell h1{font-size:clamp(calc(34px * var(--slp-heading-scale)),calc(6vw * var(--slp-heading-scale)),calc(76px * var(--slp-heading-scale)))}
.slp-shell .slp-status-card{background:var(--slp-soft)}
.slp-shell .slp-status-card p{color:#424242}
.slp-shell .slp-notice h2{color:var(--slp-accent)}
.slp-shell .slp-notice p,.slp-shell .slp-consent,.slp-shell .slp-notice .slp-small{color:var(--slp-panel-ink);opacity:.84}
.slp-shell .slp-signup>input[type=email]{color:var(--slp-panel-ink);border-color:color-mix(in srgb,var(--slp-panel-ink) 25%,transparent);background:color-mix(in srgb,var(--slp-panel-ink) 9%,transparent)}
.slp-shell .slp-signup>input[type=email]::placeholder{color:var(--slp-panel-ink);opacity:.7}
.slp-shell .slp-links{border-color:color-mix(in srgb,var(--slp-panel-ink) 20%,transparent)}
.slp-shell .slp-links a{border-color:color-mix(in srgb,var(--slp-panel-ink) 22%,transparent)}
.slp-shell .slp-uploaded-logo{max-width:min(var(--slp-logo-width),100%);max-height:160px}
.slp-shell.slp-brand-left .slp-brand{justify-content:flex-start}
.slp-shell.slp-brand-center .slp-brand{justify-content:center;text-align:center}
.slp-shell.slp-brand-right .slp-brand{justify-content:flex-end;text-align:right}
.slp-shell.slp-heading-serif h1,.slp-shell.slp-heading-serif h2{font-family:Georgia,'Times New Roman',serif}
.slp-shell.slp-heading-rounded h1,.slp-shell.slp-heading-rounded h2{font-family:'Trebuchet MS',Arial,sans-serif}
.slp-shell.slp-body-serif{font-family:Georgia,'Times New Roman',serif}
.slp-shell.slp-body-rounded{font-family:'Trebuchet MS',Arial,sans-serif}
/* Three distinct templates, driven by a single semantic renderer. */
.slp-shell.slp-template-minimal .slp-page{max-width:min(880px,100%);display:flex;flex-direction:column;gap:18px}
.slp-shell.slp-template-minimal .slp-hero,.slp-shell.slp-template-minimal .slp-panel{box-shadow:0 12px 45px rgba(20,34,55,.055);text-align:center}
.slp-shell.slp-template-minimal .slp-hero{padding:60px 56px 48px}
.slp-shell.slp-template-minimal .slp-brand{justify-content:center}
.slp-shell.slp-template-minimal .slp-lead{margin-inline:auto}
.slp-shell.slp-template-minimal .slp-status-row{margin-top:26px}
.slp-shell.slp-template-minimal .slp-panel{padding:36px 56px;gap:15px}
.slp-shell.slp-template-minimal .slp-signup{max-width:550px;margin:12px auto 0;text-align:left}
.slp-shell.slp-template-minimal .slp-notice h2{color:var(--slp-ink)}
.slp-shell.slp-template-minimal .slp-links{justify-content:center}
.slp-shell.slp-template-editorial .slp-page{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:0}
.slp-shell.slp-template-editorial .slp-hero,.slp-shell.slp-template-editorial .slp-panel{border-radius:0;box-shadow:none}
.slp-shell.slp-template-editorial .slp-hero{padding:66px 50px;min-height:650px}
.slp-shell.slp-template-editorial .slp-panel{padding:66px 46px}
.slp-shell.slp-template-editorial .slp-page{border-radius:var(--slp-radius);overflow:hidden;box-shadow:0 25px 75px rgba(0,0,0,.12)}
.slp-shell.slp-template-editorial .slp-hero::after{border-color:color-mix(in srgb,var(--slp-accent) 40%,transparent)}
.slp-shell.slp-template-editorial .slp-brand-text strong,.slp-shell.slp-template-editorial h1{color:var(--slp-ink)}
.slp-shell.slp-template-editorial .slp-brand-text span,.slp-shell.slp-template-editorial .slp-status-card p{color:var(--slp-muted)}
.slp-shell.slp-template-editorial .slp-status-row{grid-template-columns:1fr;max-width:450px}
.slp-shell.slp-template-editorial .slp-status-card{display:flex;gap:16px;align-items:center;padding:12px 16px}
.slp-shell.slp-template-editorial .slp-status-card span{margin:0}
.slp-shell.slp-template-editorial .slp-notice h2{color:var(--slp-ink)}
@media(max-width:880px){.slp-shell.slp-template-editorial .slp-page{grid-template-columns:minmax(0,1fr)}.slp-shell.slp-template-editorial .slp-hero{min-height:0;padding:40px 34px}.slp-shell.slp-template-editorial .slp-panel{padding:38px 34px}}
@media(max-width:540px){.slp-shell.slp-template-minimal .slp-hero,.slp-shell.slp-template-minimal .slp-panel,.slp-shell.slp-template-editorial .slp-hero,.slp-shell.slp-template-editorial .slp-panel{padding:28px 22px}.slp-shell h1{font-size:clamp(34px,8vw,52px)}}

.slp-shell.slp-template-minimal .slp-links a,.slp-shell.slp-template-editorial .slp-links a{color:var(--slp-accent-ink)}
.slp-shell.slp-template-minimal .slp-links a:hover,.slp-shell.slp-template-editorial .slp-links a:hover{color:var(--slp-panel-ink);text-decoration:underline}
/* Editorial's dark hero and light panel require distinct readable text colors. */
.slp-shell.slp-template-editorial .slp-notice h2{color:var(--slp-panel-ink)}
.slp-shell.slp-template-editorial .slp-status-card p{color:#404040}
.slp-shell.slp-template-editorial .slp-status-card span{color:var(--slp-accent-ink)}

/* Launch countdown — scoped to SiteLaunch only. */
.slp-shell .slp-countdown{margin:28px 0 24px;max-width:520px;color:var(--slp-ink)}
.slp-shell .slp-countdown h2{font-size:clamp(14px,1.4vw,18px);font-weight:600;letter-spacing:.01em;margin:0 0 12px;color:inherit}
.slp-shell .slp-countdown-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.slp-shell .slp-countdown-values>span{border:1px solid var(--slp-line);border-radius:12px;padding:10px 5px;background:var(--slp-soft);text-align:center;color:var(--slp-ink)}
.slp-shell .slp-countdown-values strong{display:block;font-size:clamp(22px,3vw,36px);font-variant-numeric:tabular-nums;line-height:1.2}
.slp-shell .slp-countdown-values small{display:block;font-size:11px;margin-top:4px}
.slp-shell.slp-template-editorial .slp-countdown{color:#f8f5ef}
.slp-shell.slp-template-editorial .slp-countdown-values>span{background:#393939;border-color:#666;color:#fff}
@media(max-width:540px){.slp-shell .slp-countdown-values{gap:6px}.slp-shell .slp-countdown-values>span{padding:8px 2px}}

/* Browser usability: keyboard focus, high-contrast appearance and print styling. */
.slp-shell :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--slp-accent-ink,#59400c);outline-offset:4px}
.slp-shell .slp-signup button{min-height:44px;min-width:44px}
.slp-shell .slp-links a{min-height:44px;display:inline-flex;align-items:center}
.slp-shell .slp-links a:hover,.slp-shell .slp-links a:focus-visible{text-decoration:underline}
.slp-shell :is(.slp-signup input,.slp-consent input):focus-visible{outline:3px solid var(--slp-accent-ink,#59400c);outline-offset:3px}
/* Headings must work when the plugin is embedded in a WordPress page. */
.slp-shell .slp-hero > h2{font-family:inherit;font-weight:800;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.065em;margin:0 0 22px;max-width:760px;color:var(--slp-ink)}
.slp-shell.slp-heading-serif .slp-hero > h2{font-family:Georgia,'Times New Roman',serif}
.slp-shell.slp-heading-rounded .slp-hero > h2{font-family:'Trebuchet MS',Arial,sans-serif}
@media(max-width:540px){.slp-shell .slp-hero > h2{font-size:clamp(34px,8vw,52px)}}
@media(forced-colors:active){.slp-shell .slp-hero,.slp-shell .slp-panel,.slp-shell .slp-status-card,.slp-shell .slp-links a,.slp-shell .slp-signup input{border:1px solid CanvasText}.slp-shell .slp-signup button{border:2px solid ButtonText}.slp-shell .slp-hero-media{border-color:CanvasText}}
@media print{.slp-shell{min-height:auto;display:block;background:#fff!important;color:#000!important}.slp-shell .slp-hero-media,.slp-shell .slp-signup{display:none}}

/* Optional site backgrounds. No images selected = original template appearance. */
.slp-shell.slp-has-page-image{
 background-image:linear-gradient(var(--slp-bg-overlay),var(--slp-bg-overlay)),var(--slp-bg-image,none),linear-gradient(135deg,var(--slp-background),var(--slp-background-end));
 background-size:cover,var(--slp-bg-size,cover),cover;
 background-position:center,var(--slp-bg-position,center center),center;
 background-repeat:no-repeat,var(--slp-bg-repeat,no-repeat),no-repeat;
 background-attachment:scroll,scroll,scroll;
}
.slp-shell.slp-has-hero-image .slp-hero{
 background-image:linear-gradient(var(--slp-hero-overlay),var(--slp-hero-overlay)),var(--slp-hero-image);
 background-size:cover,cover;background-position:center,var(--slp-hero-position,center center);background-repeat:no-repeat,no-repeat;
}
.slp-shell.slp-has-panel-image .slp-panel{
 background-image:linear-gradient(var(--slp-panel-overlay),var(--slp-panel-overlay)),var(--slp-panel-image);
 background-size:cover,cover;background-position:center,var(--slp-panel-position,center center);background-repeat:no-repeat,no-repeat;
}
@media(max-width:767px){
 .slp-shell.slp-has-page-image{background-image:linear-gradient(var(--slp-bg-overlay),var(--slp-bg-overlay)),var(--slp-bg-image-mobile,var(--slp-bg-image,none)),linear-gradient(135deg,var(--slp-background),var(--slp-background-end))}
}
@media(forced-colors:active){
 .slp-shell.slp-has-page-image,.slp-shell.slp-has-hero-image .slp-hero,.slp-shell.slp-has-panel-image .slp-panel{background-image:none}
}

/* Show the email field label above the signup input across viewport sizes. */
.slp-shell .slp-email-label{display:block;flex:0 0 100%;width:100%;font-size:12px;color:rgba(255,255,255,.82);margin:0 0 7px;font-weight:600}

/* 2.6 visual experience: photographic imagery, never generated by CSS line-work. */
.slp-shell .slp-hero-media{position:relative;isolation:isolate;height:clamp(150px,var(--slp-media-height,260px),520px);min-height:150px;overflow:hidden;border:1px solid color-mix(in srgb,var(--slp-accent) 30%,transparent);border-radius:calc(var(--slp-radius,28px) * .75);background:linear-gradient(135deg,#101e2b,#334355)}
.slp-shell .slp-hero-media picture,.slp-shell .slp-hero-media img,.slp-shell .slp-hero-media-tint{position:absolute;inset:0;width:100%;height:100%;display:block}
.slp-shell .slp-hero-media img{object-fit:var(--slp-media-fit,cover);object-position:var(--slp-media-focus,50% 50%);filter:saturate(1.08) contrast(1.06)}
.slp-shell .slp-hero-media-tint{pointer-events:none;background:linear-gradient(160deg,var(--slp-media-overlay,transparent),rgba(0,0,0,.04));z-index:1}
.slp-shell .slp-panel{box-shadow:0 22px 65px rgba(10,17,28,.14)}
.slp-shell .slp-notice h2{font-size:clamp(26px,2.9vw,34px);line-height:1.15}
.slp-shell .slp-signup>button{transition:filter .18s ease,transform .18s ease}
.slp-shell .slp-signup>button:hover{transform:translateY(-1px)}
.slp-shell .slp-status-card{box-shadow:0 5px 17px rgba(14,25,32,.035)}
@media(prefers-reduced-motion:reduce){.slp-shell .slp-signup>button{transition:none}.slp-shell .slp-signup>button:hover{transform:none}}
@media(max-width:540px){.slp-shell .slp-hero-media{height:min(var(--slp-media-height,260px),230px);border-radius:16px}}

/* v2.7 Phase 2 — validated global design tokens, no arbitrary user CSS. */
.slp-shell{
  background:linear-gradient(var(--slp-page-gradient-angle,135deg),var(--slp-background),var(--slp-background-end));
  font-size:var(--slp-body-size,18px);line-height:var(--slp-body-line,165%);
}
.slp-shell.slp-no-gradient{background:var(--slp-background)}
.slp-shell .slp-hero{padding:var(--slp-hero-padding,48px)}
.slp-shell .slp-panel{padding:var(--slp-panel-padding,34px);background:linear-gradient(145deg,var(--slp-panel-bg),var(--slp-panel-gradient-end,var(--slp-panel-bg)))}
.slp-shell :is(.slp-hero>h1,.slp-hero>h2){
  font-weight:var(--slp-heading-weight,800);letter-spacing:var(--slp-heading-tracking,-3px);
  line-height:var(--slp-heading-line,105%);
}
.slp-shell .slp-lead{font-size:var(--slp-body-size,18px);line-height:var(--slp-body-line,165%)}
.slp-shell .slp-status-card,.slp-shell .slp-hero,.slp-shell .slp-panel{
  box-shadow:0 12px var(--slp-shadow-blur,34px) rgba(17,17,17,.10);
}
.slp-shell .slp-signup>button{
  border-radius:var(--slp-button-radius,14px);font-size:var(--slp-button-size,14px);
  font-weight:var(--slp-button-weight,800);
}
.slp-shell.slp-button-solid .slp-signup>button{background:var(--slp-accent);box-shadow:none;color:var(--slp-accent-ink)}
.slp-shell.slp-button-outline .slp-signup>button{background:transparent;color:var(--slp-panel-ink);box-shadow:none;border:2px solid var(--slp-accent)}
.slp-shell.slp-form-stacked .slp-signup>input[type=email],.slp-shell.slp-form-stacked .slp-signup>button{flex:1 0 100%;width:100%}
.slp-shell.slp-form-card .slp-signup{padding:16px;border-radius:calc(var(--slp-radius,28px) * .6);border:1px solid color-mix(in srgb,var(--slp-panel-ink) 20%,transparent);background:color-mix(in srgb,var(--slp-panel-ink) 6%,transparent)}
.slp-shell .slp-signup-helper{font-size:13px;line-height:1.5;opacity:.82;margin:-5px 0 18px;color:var(--slp-panel-ink)}
.slp-shell.slp-countdown-minimal .slp-countdown-values>span{background:transparent;border:none;border-radius:0;padding:8px 2px}
.slp-shell.slp-countdown-pills .slp-countdown-values>span{border-radius:999px;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:12px 4px}
.slp-shell.slp-countdown-digital .slp-countdown-values>span{border-radius:5px;background:#171c23;color:#e5f8f5;border-color:#4d5766;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.slp-shell.slp-countdown-digital .slp-countdown-values strong{font-weight:500;letter-spacing:.04em}
.slp-shell.slp-timer-accent-numbers .slp-countdown-values strong{color:var(--slp-accent-ink)}
.slp-shell.slp-timer-accent-background .slp-countdown-values>span{background:var(--slp-accent);color:var(--slp-accent-ink);border-color:transparent}
.slp-shell.slp-timer-accent-background .slp-countdown-values strong{color:inherit}
.slp-shell.slp-has-page-image{background-image:linear-gradient(var(--slp-bg-overlay),var(--slp-bg-overlay)),var(--slp-bg-image,none),linear-gradient(var(--slp-page-gradient-angle,135deg),var(--slp-background),var(--slp-background-end))}
.slp-shell.slp-has-page-image::before{content:none}
/* Brightness/blur apply to the background image by an isolated CSS layer so they don't blur page content. */
.slp-shell.slp-has-page-image{background-image:none!important;position:relative;isolation:isolate}
.slp-shell.slp-has-page-image::before{content:"";position:absolute;inset:-16px;z-index:-1;pointer-events:none;
 background-image:linear-gradient(var(--slp-bg-overlay),var(--slp-bg-overlay)),var(--slp-bg-image,none),linear-gradient(var(--slp-page-gradient-angle,135deg),var(--slp-background),var(--slp-background-end));
 background-size:cover,var(--slp-bg-size,cover),cover;background-position:center,var(--slp-bg-position,center center),center;
 background-repeat:no-repeat,var(--slp-bg-repeat,no-repeat),no-repeat;
 filter:brightness(var(--slp-image-brightness,100%)) blur(var(--slp-image-blur,0px));}
@media(max-width:767px){.slp-shell.slp-has-page-image::before{background-image:linear-gradient(var(--slp-bg-overlay),var(--slp-bg-overlay)),var(--slp-bg-image-mobile,var(--slp-bg-image,none)),linear-gradient(var(--slp-page-gradient-angle,135deg),var(--slp-background),var(--slp-background-end))}}
@media(max-width:540px){.slp-shell .slp-hero{padding:min(var(--slp-hero-padding,48px),28px)}.slp-shell .slp-panel{padding:min(var(--slp-panel-padding,34px),28px)}}
@media(forced-colors:active){.slp-shell.slp-has-page-image::before{background-image:none}}
/* Keep spacing controls active for non-default template layouts. */
.slp-shell.slp-template-minimal .slp-hero,.slp-shell.slp-template-editorial .slp-hero{padding:var(--slp-hero-padding,48px)}
.slp-shell.slp-template-minimal .slp-panel,.slp-shell.slp-template-editorial .slp-panel{padding:var(--slp-panel-padding,34px)}
@media(max-width:540px){.slp-shell.slp-template-minimal .slp-hero,.slp-shell.slp-template-editorial .slp-hero{padding:min(var(--slp-hero-padding,48px),28px)}.slp-shell.slp-template-minimal .slp-panel,.slp-shell.slp-template-editorial .slp-panel{padding:min(var(--slp-panel-padding,34px),28px)}}

.slp-shell.slp-no-shadow .slp-hero,.slp-shell.slp-no-shadow .slp-panel,.slp-shell.slp-no-shadow .slp-status-card{box-shadow:none}

/* v2.8 Phase 3: scoped, deterministic motion/media controls. */
.slp-shell{position:relative;isolation:isolate}
.slp-shell.slp-has-page-video{overflow:hidden}
.slp-shell .slp-page-video-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
 background-image:var(--slp-page-video-poster,none);background-size:cover;background-position:center}
.slp-shell .slp-page-video-layer video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;display:block}
.slp-shell .slp-page-video-tint{position:absolute;inset:0;background:var(--slp-bg-overlay,rgba(0,0,0,0))}
.slp-shell.slp-has-page-video>.slp-page,.slp-shell.slp-has-page-video>.slp-canvas-wrap{position:relative;z-index:1}
.slp-shell .slp-hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--slp-media-fit,cover);
 object-position:var(--slp-media-focus,50% 50%);display:block;filter:brightness(calc(var(--slp-media-brightness,100)*1%)) contrast(calc(var(--slp-media-contrast,100)*1%)) saturate(calc(var(--slp-media-saturation,100)*1%)) blur(calc(var(--slp-media-blur,0)*1px));}
.slp-shell .slp-hero-media img{filter:brightness(calc(var(--slp-media-brightness,100)*1%)) contrast(calc(var(--slp-media-contrast,100)*1%)) saturate(calc(var(--slp-media-saturation,100)*1%)) blur(calc(var(--slp-media-blur,0)*1px));}
.slp-shell .slp-hero-media-tint{background:
 radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,calc(var(--slp-media-vignette,0)/100 * .85)) 100%),
 linear-gradient(calc(var(--slp-hero-gradient-angle,135)*1deg),var(--slp-hero-gradient,transparent),transparent 72%),
 linear-gradient(160deg,var(--slp-media-overlay,transparent),rgba(0,0,0,.04));}
.slp-shell.slp-media-border-none .slp-hero-media{border:0}
.slp-shell.slp-media-border-highlight .slp-hero-media{border:2px solid var(--slp-accent);box-shadow:0 18px 45px rgba(0,0,0,.2)}
.slp-shell.slp-image-finish-cinematic .slp-canvas-media{filter:contrast(1.12) saturate(.88)}
.slp-shell.slp-image-finish-soft .slp-canvas-media{filter:contrast(.94) saturate(.86)}
.slp-shell.slp-image-finish-crisp .slp-canvas-media{filter:contrast(1.14) saturate(1.13)}
.slp-shell .slp-panel{backdrop-filter:blur(calc(var(--slp-panel-glass-blur,0)*1px));-webkit-backdrop-filter:blur(calc(var(--slp-panel-glass-blur,0)*1px))}
.slp-shell:not(.slp-has-panel-image) .slp-panel{background:linear-gradient(145deg,
 color-mix(in srgb,var(--slp-panel-bg) calc(var(--slp-panel-glass-opacity,100)*1%),transparent),
 color-mix(in srgb,var(--slp-panel-gradient-end,var(--slp-panel-bg)) calc(var(--slp-panel-glass-opacity,100)*1%),transparent))}
.slp-shell.slp-hover-none .slp-signup>button{transition:none}
.slp-shell.slp-hover-none .slp-signup>button:hover{transform:none;filter:none}
.slp-shell.slp-hover-glow .slp-signup>button:hover{transform:none;box-shadow:0 0 24px color-mix(in srgb,var(--slp-accent) 60%,transparent)}
@keyframes slp-soft-fade{from{opacity:0}to{opacity:1}}
@keyframes slp-soft-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes slp-soft-zoom{from{opacity:0;transform:scale(.982)}to{opacity:1;transform:scale(1)}}
.slp-shell.slp-motion-fade>.slp-page,.slp-shell.slp-motion-fade>.slp-canvas-wrap{animation:slp-soft-fade calc(var(--slp-motion-duration,650)*1ms) ease both}
.slp-shell.slp-motion-rise>.slp-page,.slp-shell.slp-motion-rise>.slp-canvas-wrap{animation:slp-soft-rise calc(var(--slp-motion-duration,650)*1ms) ease both}
.slp-shell.slp-motion-zoom>.slp-page,.slp-shell.slp-motion-zoom>.slp-canvas-wrap{animation:slp-soft-zoom calc(var(--slp-motion-duration,650)*1ms) ease both}
@media(max-width:767px){
 .slp-shell.slp-video-mobile-poster .slp-decorative-video{display:none}
 .slp-shell.slp-video-mobile-poster .slp-hero-media:has(video){background-image:var(--slp-hero-video-poster,none);background-size:cover;background-position:center}
}
@media(prefers-reduced-motion:reduce){
 .slp-shell.slp-motion-fade>.slp-page,.slp-shell.slp-motion-rise>.slp-page,.slp-shell.slp-motion-zoom>.slp-page,
 .slp-shell.slp-motion-fade>.slp-canvas-wrap,.slp-shell.slp-motion-rise>.slp-canvas-wrap,.slp-shell.slp-motion-zoom>.slp-canvas-wrap{animation:none}
 .slp-shell .slp-decorative-video{display:none}
 .slp-shell .slp-hero-media:has(video){background-image:var(--slp-hero-video-poster,none);background-size:cover;background-position:center}
 .slp-shell.slp-signup>button{transition:none}
}
/* SiteLaunch v2.10 — art-directed layouts. All selectors remain scoped to the plugin.
   These are four actual compositions, not alternate color skins. Custom Canvas is unchanged. */
.slp-shell:not(.slp-template-canvas) .slp-page{isolation:isolate}
.slp-shell:not(.slp-template-canvas) .slp-eyebrow{font-size:11px;font-weight:750;letter-spacing:.22em}
.slp-shell:not(.slp-template-canvas) .slp-lead{max-width:57ch;text-wrap:pretty}
.slp-shell:not(.slp-template-canvas) .slp-hero>h1,.slp-shell:not(.slp-template-canvas) .slp-hero>h2{text-wrap:balance}
.slp-shell:not(.slp-template-canvas) .slp-status-card{transition:background .2s ease,border-color .2s ease}
.slp-shell:not(.slp-template-canvas) .slp-signup>input[type=email]{min-height:51px}
.slp-shell:not(.slp-template-canvas) .slp-signup>button{min-height:51px}
/* Luxury Biotech: generous ivory feature, truly photographic dark partner. */
.slp-shell.slp-template-helix .slp-page{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);gap:clamp(14px,2vw,var(--slp-gap));max-width:var(--slp-width)}
.slp-shell.slp-template-helix .slp-hero{display:flex;flex-direction:column;justify-content:center;min-height:670px;background:var(--slp-hero-bg);border-color:color-mix(in srgb,var(--slp-ink) 8%,transparent)}
.slp-shell.slp-template-helix .slp-hero::after{width:370px;height:370px;right:-210px;bottom:-235px;border-color:color-mix(in srgb,var(--slp-accent) 22%,transparent)}
.slp-shell.slp-template-helix .slp-brand{margin-bottom:clamp(50px,7vw,105px)}
.slp-shell.slp-template-helix .slp-hero>h1,.slp-shell.slp-template-helix .slp-hero>h2{font-size:clamp(48px,5.3vw,82px);line-height:.99;font-weight:var(--slp-heading-weight,700);letter-spacing:var(--slp-heading-tracking,-2px)}
.slp-shell.slp-template-helix .slp-status-row{margin-top:auto;padding-top:44px;gap:9px}
.slp-shell.slp-template-helix .slp-status-card{padding:18px 14px;border-radius:11px;background:color-mix(in srgb,var(--slp-soft) 90%,white)}
.slp-shell.slp-template-helix .slp-status-card span{font-size:19px;letter-spacing:-.03em}
.slp-shell.slp-template-helix .slp-panel{gap:20px;border:1px solid color-mix(in srgb,var(--slp-accent) 12%,transparent)}
.slp-shell.slp-template-helix .slp-hero-media{height:clamp(230px,var(--slp-media-height,360px),520px);min-height:230px}
.slp-shell.slp-template-helix .slp-notice h2{font-size:clamp(27px,3vw,36px);letter-spacing:-.035em}
.slp-shell.slp-template-helix .slp-signup{gap:9px}
.slp-shell.slp-template-helix .slp-links{margin-top:6px}
.slp-shell.slp-template-helix .slp-countdown{width:100%}
/* Editorial Minimal: broad, quiet centered editorial sheet and slim conversion strip. */
.slp-shell.slp-template-minimal .slp-page{max-width:min(var(--slp-width),1050px);display:flex;flex-direction:column;gap:0}
.slp-shell.slp-template-minimal .slp-hero{padding:clamp(50px,7vw,90px) clamp(28px,7vw,100px) clamp(42px,5vw,65px);min-height:490px;border-radius:var(--slp-radius) var(--slp-radius) 0 0;border-bottom:none;box-shadow:0 25px 70px rgba(22,46,50,.05);text-align:center}
.slp-shell.slp-template-minimal .slp-hero::after{display:none}
.slp-shell.slp-template-minimal .slp-brand{margin:0 auto 52px;justify-content:center}
.slp-shell.slp-template-minimal .slp-eyebrow{margin-bottom:22px}
.slp-shell.slp-template-minimal .slp-hero>h1,.slp-shell.slp-template-minimal .slp-hero>h2{max-width:820px;font-size:clamp(46px,6vw,78px);margin-left:auto;margin-right:auto;font-weight:var(--slp-heading-weight,600);letter-spacing:var(--slp-heading-tracking,-2px);line-height:1.08}
.slp-shell.slp-template-minimal .slp-lead{max-width:660px;margin:0 auto 18px;font-size:clamp(16px,1.65vw,var(--slp-body-size,18px));opacity:.7}
.slp-shell.slp-template-minimal .slp-countdown{margin:26px auto 10px}
.slp-shell.slp-template-minimal .slp-status-row{margin:36px auto 0;max-width:790px;gap:14px}
.slp-shell.slp-template-minimal .slp-status-card{border-radius:3px;background:transparent;border:0;border-top:1px solid color-mix(in srgb,var(--slp-ink) 17%,transparent);padding:17px 8px 8px;box-shadow:none;text-align:left}
.slp-shell.slp-template-minimal .slp-status-card span{font-size:13px;margin-bottom:9px;letter-spacing:.08em}
.slp-shell.slp-template-minimal .slp-status-card p{font-size:13px}
.slp-shell.slp-template-minimal .slp-panel{display:block;border-radius:0 0 var(--slp-radius) var(--slp-radius);border-top:1px solid color-mix(in srgb,var(--slp-panel-ink) 12%,transparent);padding:var(--slp-panel-padding,34px);box-shadow:0 25px 70px rgba(22,46,50,.05);text-align:center}
.slp-shell.slp-template-minimal .slp-hero-media{height:clamp(165px,var(--slp-media-height,220px),320px);margin:0 auto 25px;max-width:800px;border-radius:12px}
.slp-shell.slp-template-minimal .slp-notice h2{color:var(--slp-panel-ink);font-size:clamp(26px,3vw,35px);letter-spacing:-.04em}
.slp-shell.slp-template-minimal .slp-notice>p{max-width:630px;margin-left:auto;margin-right:auto}
.slp-shell.slp-template-minimal .slp-signup{margin:22px auto 16px;max-width:610px;text-align:left;gap:10px}
.slp-shell.slp-template-minimal .slp-signup>input[type=email]{background:color-mix(in srgb,var(--slp-panel-ink) 5%,white);border-color:color-mix(in srgb,var(--slp-panel-ink) 23%,transparent)}
.slp-shell.slp-template-minimal .slp-email-label{color:var(--slp-panel-ink)}
.slp-shell.slp-template-minimal .slp-links{justify-content:center;margin-top:24px}
.slp-shell.slp-template-minimal .slp-links a{color:var(--slp-panel-ink)}
/* Scientific Campaign: immersive ink-toned copy against an image-led, pale sign-up experience. */
.slp-shell.slp-template-editorial .slp-page{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:0;max-width:var(--slp-width);border-radius:var(--slp-radius);overflow:hidden;box-shadow:0 35px 90px rgba(5,22,36,.24)}
.slp-shell.slp-template-editorial .slp-hero,.slp-shell.slp-template-editorial .slp-panel{border:0;border-radius:0;box-shadow:none;min-width:0}
.slp-shell.slp-template-editorial .slp-hero{display:flex;flex-direction:column;justify-content:center;min-height:680px;padding:clamp(38px,4.7vw,80px);background:linear-gradient(155deg,var(--slp-hero-bg),color-mix(in srgb,var(--slp-hero-bg) 85%,black))}
.slp-shell.slp-template-editorial .slp-hero::after{right:-130px;bottom:-170px;width:320px;height:320px;border-color:color-mix(in srgb,var(--slp-accent) 18%,transparent)}
.slp-shell.slp-template-editorial .slp-brand{margin-bottom:clamp(35px,5vw,70px)}
.slp-shell.slp-template-editorial .slp-brand-text strong,.slp-shell.slp-template-editorial .slp-hero>h1,.slp-shell.slp-template-editorial .slp-hero>h2{color:var(--slp-ink)}
.slp-shell.slp-template-editorial .slp-brand-text span{color:var(--slp-muted)}
.slp-shell.slp-template-editorial .slp-hero>h1,.slp-shell.slp-template-editorial .slp-hero>h2{font-weight:var(--slp-heading-weight,600);font-size:clamp(45px,4.7vw,76px);letter-spacing:var(--slp-heading-tracking,-2px);line-height:1.03}
.slp-shell.slp-template-editorial .slp-lead{color:var(--slp-ink);opacity:.83}
.slp-shell.slp-template-editorial .slp-status-row{margin-top:auto;padding-top:35px;gap:8px;max-width:none}
.slp-shell.slp-template-editorial .slp-status-card{background:color-mix(in srgb,var(--slp-ink) 8%,transparent);border:1px solid color-mix(in srgb,var(--slp-ink) 19%,transparent);border-radius:9px;display:flex;align-items:center;gap:12px;padding:10px 13px;box-shadow:none}
.slp-shell.slp-template-editorial .slp-status-card span{font-size:18px;color:var(--slp-accent);margin:0}
.slp-shell.slp-template-editorial .slp-status-card p{color:var(--slp-ink);opacity:.87;font-size:12px}
.slp-shell.slp-template-editorial .slp-countdown{color:var(--slp-ink)}
.slp-shell.slp-template-editorial .slp-countdown-values>span{background:color-mix(in srgb,var(--slp-ink) 10%,transparent);border-color:color-mix(in srgb,var(--slp-ink) 24%,transparent);color:var(--slp-ink)}
.slp-shell.slp-template-editorial .slp-panel{display:flex;flex-direction:column;gap:0;padding:0;background:linear-gradient(160deg,var(--slp-panel-bg),var(--slp-panel-gradient-end))}
.slp-shell.slp-template-editorial .slp-hero-media{height:clamp(240px,var(--slp-media-height,330px),520px);border:0;border-radius:0;flex:0 0 auto}
.slp-shell.slp-template-editorial .slp-notice{padding:clamp(28px,3.2vw,var(--slp-panel-padding,46px));flex:1 0 auto}
.slp-shell.slp-template-editorial .slp-notice h2{color:var(--slp-panel-ink);font-size:clamp(27px,2.7vw,37px)}
.slp-shell.slp-template-editorial .slp-email-label{color:var(--slp-panel-ink)}
.slp-shell.slp-template-editorial .slp-signup>input[type=email]{background:#fff;color:var(--slp-panel-ink)}
.slp-shell.slp-template-editorial .slp-signup>input[type=email]::placeholder{color:var(--slp-panel-ink)}
.slp-shell.slp-template-editorial .slp-links{margin:0 clamp(28px,3.2vw,var(--slp-panel-padding,46px)) 25px;padding-top:16px}
.slp-shell.slp-template-editorial .slp-links a{color:var(--slp-panel-ink)}
/* Product Launch: a distinct showcase composition, with rich product imagery and an assertive CTA. */
.slp-shell.slp-template-launch .slp-page{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(13px,1.4vw,22px);max-width:var(--slp-width)}
.slp-shell.slp-template-launch .slp-hero{display:flex;flex-direction:column;min-height:690px;justify-content:center;background:var(--slp-hero-bg);border-color:color-mix(in srgb,var(--slp-accent) 25%,transparent)}
.slp-shell.slp-template-launch .slp-hero::after{width:160px;height:160px;bottom:-80px;right:-80px;border-color:color-mix(in srgb,var(--slp-accent) 28%,transparent)}
.slp-shell.slp-template-launch .slp-brand{margin-bottom:clamp(32px,5vw,75px)}
.slp-shell.slp-template-launch .slp-hero>h1,.slp-shell.slp-template-launch .slp-hero>h2{font-size:clamp(47px,4.9vw,75px);line-height:1.01}
.slp-shell.slp-template-launch .slp-status-row{margin-top:auto;padding-top:35px;grid-template-columns:1fr;gap:6px}
.slp-shell.slp-template-launch .slp-status-card{display:flex;gap:15px;align-items:center;padding:9px 13px;background:transparent;border:0;border-top:1px solid color-mix(in srgb,var(--slp-ink) 16%,transparent);border-radius:0;box-shadow:none}
.slp-shell.slp-template-launch .slp-status-card span{font-size:17px;min-width:26px;margin:0}
.slp-shell.slp-template-launch .slp-status-card p{font-size:12px}
.slp-shell.slp-template-launch .slp-panel{display:flex;flex-direction:column;justify-content:flex-end;gap:16px;padding:var(--slp-panel-padding,34px)}
.slp-shell.slp-template-launch .slp-hero-media{height:clamp(280px,var(--slp-media-height,400px),520px);border-radius:calc(var(--slp-radius,28px) * .7)}
.slp-shell.slp-template-launch .slp-notice h2{font-size:clamp(29px,3.2vw,42px);font-weight:650}
.slp-shell.slp-template-launch .slp-signup>button{min-height:54px;text-transform:uppercase;letter-spacing:.06em}
.slp-shell.slp-template-launch .slp-links{margin-top:9px}
/* Respect photo/video absence; premium layouts retain legible signup space. */
.slp-shell.slp-template-editorial .slp-panel:not(:has(.slp-hero-media)) .slp-notice{display:flex;flex-direction:column;justify-content:center}
/* Responsive composition changes are explicit, not accidental overflow breakpoints. */
@media(max-width:900px){
 .slp-shell.slp-template-helix .slp-page,.slp-shell.slp-template-editorial .slp-page,.slp-shell.slp-template-launch .slp-page{grid-template-columns:minmax(0,1fr)}
 .slp-shell.slp-template-helix .slp-hero,.slp-shell.slp-template-editorial .slp-hero,.slp-shell.slp-template-launch .slp-hero{min-height:0}
 .slp-shell.slp-template-helix .slp-brand,.slp-shell.slp-template-editorial .slp-brand,.slp-shell.slp-template-launch .slp-brand{margin-bottom:36px}
 .slp-shell.slp-template-helix .slp-status-row,.slp-shell.slp-template-editorial .slp-status-row,.slp-shell.slp-template-launch .slp-status-row{margin-top:30px;padding-top:0}
 .slp-shell.slp-template-editorial .slp-hero{padding:clamp(30px,5vw,60px)}
 .slp-shell.slp-template-editorial .slp-hero-media{height:clamp(240px,var(--slp-media-height,330px),440px)}
 .slp-shell.slp-template-launch .slp-panel{min-height:0}
}
@media(max-width:540px){
 .slp-shell.slp-template-helix .slp-hero,.slp-shell.slp-template-helix .slp-panel,.slp-shell.slp-template-launch .slp-hero,.slp-shell.slp-template-launch .slp-panel{padding:min(var(--slp-hero-padding,48px),27px)}
 .slp-shell.slp-template-helix .slp-hero>h1,.slp-shell.slp-template-editorial .slp-hero>h1,.slp-shell.slp-template-launch .slp-hero>h1,
 .slp-shell.slp-template-helix .slp-hero>h2,.slp-shell.slp-template-editorial .slp-hero>h2,.slp-shell.slp-template-launch .slp-hero>h2{font-size:clamp(36px,9vw,50px);line-height:1.06}
 .slp-shell.slp-template-helix .slp-status-row{grid-template-columns:1fr;gap:7px}
 .slp-shell.slp-template-helix .slp-status-card{padding:10px 14px;display:flex;align-items:center;gap:12px}
 .slp-shell.slp-template-helix .slp-status-card span{margin:0;min-width:28px}
 .slp-shell.slp-template-minimal .slp-hero{padding:45px 24px 34px}
 .slp-shell.slp-template-minimal .slp-panel{padding:26px 22px}
 .slp-shell.slp-template-minimal .slp-hero>h1,.slp-shell.slp-template-minimal .slp-hero>h2{font-size:clamp(37px,9vw,53px)}
 .slp-shell.slp-template-minimal .slp-status-card{text-align:center}
 .slp-shell.slp-template-editorial .slp-panel .slp-notice{padding:26px 24px}
 .slp-shell.slp-template-editorial .slp-links{margin:0 24px 26px}
 .slp-shell.slp-template-launch .slp-status-row{grid-template-columns:1fr}
 .slp-shell.slp-template-launch .slp-hero-media{height:min(var(--slp-media-height,400px),310px)}
}
@media(prefers-reduced-motion:reduce){.slp-shell:not(.slp-template-canvas) .slp-status-card{transition:none}}

/* Accent-on-accent contrast is independent of accent-on-light-background labels. */
.slp-shell.slp-button-solid .slp-signup>button,.slp-shell.slp-button-gradient .slp-signup>button{color:var(--slp-accent-on,#111827)}
.slp-shell.slp-timer-accent-background .slp-countdown-values>span{color:var(--slp-accent-on,#111827)}

/* SiteLaunch v2.11 premium controls — applied last so a chosen treatment overrides
   template defaults. 'template' options add no treatment and retain v2.10's art direction. */
.slp-shell{letter-spacing:var(--slp-body-tracking,0px)}
.slp-shell .slp-signup>button{letter-spacing:var(--slp-button-tracking,0px)}
.slp-shell.slp-button-font-system :is(.slp-signup>button,.slp-canvas-button){font-family:Arial,Helvetica,sans-serif}
.slp-shell.slp-button-font-serif :is(.slp-signup>button,.slp-canvas-button){font-family:Georgia,'Times New Roman',serif}
.slp-shell.slp-button-font-rounded :is(.slp-signup>button,.slp-canvas-button){font-family:'Trebuchet MS',Arial,sans-serif}
.slp-shell.slp-button-case-none .slp-signup>button{text-transform:none}
.slp-shell.slp-button-case-uppercase .slp-signup>button{text-transform:uppercase}
.slp-shell.slp-button-case-capitalize .slp-signup>button{text-transform:capitalize}
.slp-shell.slp-vertical-top{align-items:flex-start}
.slp-shell.slp-vertical-bottom{align-items:flex-end}
.slp-shell.slp-hero-align-left .slp-hero{text-align:left}
.slp-shell.slp-hero-align-center .slp-hero{text-align:center}
.slp-shell.slp-hero-align-right .slp-hero{text-align:right}
.slp-shell.slp-hero-align-center .slp-hero .slp-lead,.slp-shell.slp-hero-align-center .slp-hero .slp-countdown{margin-left:auto;margin-right:auto}
.slp-shell.slp-hero-align-right .slp-hero .slp-lead,.slp-shell.slp-hero-align-right .slp-hero .slp-countdown{margin-left:auto;margin-right:0}
.slp-shell.slp-hero-align-left .slp-hero .slp-lead,.slp-shell.slp-hero-align-left .slp-hero .slp-countdown{margin-left:0;margin-right:auto}
.slp-shell.slp-hero-align-center .slp-hero .slp-brand,.slp-shell.slp-hero-align-center .slp-hero .slp-status-row{justify-content:center}
.slp-shell.slp-hero-align-right .slp-hero .slp-brand{justify-content:flex-end}
.slp-shell .slp-notice{max-width:min(100%,var(--slp-notice-width,620px))}
.slp-shell .slp-status-row{column-gap:var(--slp-status-gap,12px)}
.slp-shell.slp-spacing-custom .slp-hero .slp-status-row{margin-top:var(--slp-section-spacing,24px);padding-top:0}
.slp-shell.slp-spacing-custom .slp-hero .slp-countdown{margin-top:var(--slp-section-spacing,24px)}
.slp-shell.slp-spacing-custom .slp-hero .slp-lead{margin-bottom:var(--slp-section-spacing,24px)}
.slp-shell.slp-spacing-custom .slp-panel .slp-notice>p{margin-bottom:var(--slp-section-spacing,24px)}
.slp-shell.slp-status-surface-filled .slp-status-card{background:var(--slp-soft);color:var(--slp-ink);border:1px solid var(--slp-card-border-color);border-radius:var(--slp-status-radius);padding:18px;text-align:left}
.slp-shell.slp-status-surface-outline .slp-status-card{background:transparent;color:var(--slp-ink);border:1px solid var(--slp-card-border-color);border-radius:var(--slp-status-radius);padding:18px;text-align:left}
.slp-shell.slp-status-surface-glass .slp-status-card{background:color-mix(in srgb,var(--slp-soft) 45%,transparent);border:1px solid color-mix(in srgb,var(--slp-card-border-color) 75%,transparent);border-radius:var(--slp-status-radius);backdrop-filter:blur(12px);padding:18px}
.slp-shell.slp-status-surface-flat .slp-status-card{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--slp-card-border-color);box-shadow:none;padding:14px 6px}
.slp-shell.slp-status-shadow-custom .slp-status-card{box-shadow:0 6px var(--slp-status-shadow,15px) rgba(15,27,39,.19)}
.slp-shell.slp-premium-border-none :is(.slp-hero,.slp-panel,.slp-status-card){border:0}
.slp-shell.slp-premium-border-solid :is(.slp-hero,.slp-panel,.slp-status-card){border:var(--slp-premium-border-width,1px) solid var(--slp-card-border-color)}
.slp-shell.slp-premium-border-dashed :is(.slp-hero,.slp-panel,.slp-status-card){border:var(--slp-premium-border-width,1px) dashed var(--slp-card-border-color)}
.slp-shell.slp-premium-border-double :is(.slp-hero,.slp-panel,.slp-status-card){border:max(3px,var(--slp-premium-border-width,3px)) double var(--slp-card-border-color)}
.slp-shell.slp-cta-finish-pill .slp-signup>button{border-radius:999px}
.slp-shell.slp-cta-finish-soft .slp-signup>button{background:color-mix(in srgb,var(--slp-accent) 24%,var(--slp-panel-bg));color:var(--slp-panel-ink);border:1px solid color-mix(in srgb,var(--slp-accent) 42%,transparent);box-shadow:none}
.slp-shell.slp-cta-finish-glass .slp-signup>button{background:color-mix(in srgb,var(--slp-accent) 35%,transparent);color:var(--slp-panel-ink);border:1px solid color-mix(in srgb,var(--slp-accent) 65%,transparent);backdrop-filter:blur(12px)}
.slp-shell.slp-cta-finish-square .slp-signup>button{border-radius:2px}
.slp-shell .slp-design-divider{display:none;max-width:100%;height:0}
.slp-shell.slp-divider-line .slp-design-divider,.slp-shell.slp-divider-dotted .slp-design-divider,.slp-shell.slp-divider-accent .slp-design-divider{display:block;width:min(200px,40%);margin:0 0 var(--slp-section-spacing,24px);border-top:1px solid var(--slp-card-border-color)}
.slp-shell.slp-divider-dotted .slp-design-divider{border-top-style:dotted;border-top-width:2px}
.slp-shell.slp-divider-accent .slp-design-divider{border-top:3px solid var(--slp-accent)}
.slp-shell.slp-hero-align-center .slp-design-divider{margin-left:auto;margin-right:auto}
.slp-shell.slp-hero-align-right .slp-design-divider{margin-left:auto;margin-right:0}
.slp-shell.slp-divider-none .slp-links{border-top:0}
.slp-shell.slp-divider-dotted .slp-links{border-top:2px dotted var(--slp-card-border-color)}
.slp-shell.slp-divider-accent .slp-links{border-top:2px solid var(--slp-accent)}
.slp-shell.slp-glow-custom .slp-hero-media,.slp-shell.slp-glow-custom .slp-signup>button{box-shadow:0 0 calc(var(--slp-accent-glow,0)*38px) color-mix(in srgb,var(--slp-accent) 35%,transparent)}
/* Heading size scaling applies to art-directed templates, not to authored Canvas blocks. */
.slp-shell.slp-template-helix{--slp-premium-title-base:clamp(48px,5.3vw,82px)}
.slp-shell.slp-template-minimal{--slp-premium-title-base:clamp(46px,6vw,78px)}
.slp-shell.slp-template-editorial{--slp-premium-title-base:clamp(45px,4.7vw,76px)}
.slp-shell.slp-template-launch{--slp-premium-title-base:clamp(47px,4.9vw,75px)}
.slp-shell:not(.slp-template-canvas) .slp-hero>h1,.slp-shell:not(.slp-template-canvas) .slp-hero>h2{font-size:calc(var(--slp-premium-title-base,clamp(42px,6vw,76px))*var(--slp-heading-scale,1))}
@media(max-width:900px){.slp-shell.slp-template-helix,.slp-shell.slp-template-editorial,.slp-shell.slp-template-launch{align-items:flex-start}}
@media(max-width:540px){
 .slp-shell.slp-template-helix,.slp-shell.slp-template-editorial,.slp-shell.slp-template-launch{--slp-premium-title-base:clamp(36px,9vw,50px)}
 .slp-shell.slp-template-minimal{--slp-premium-title-base:clamp(37px,9vw,53px)}
}
@media(max-width:767px){
 .slp-shell:not(.slp-template-canvas) .slp-hero>h1,.slp-shell:not(.slp-template-canvas) .slp-hero>h2{font-size:calc(var(--slp-premium-title-base,clamp(36px,9vw,50px))*var(--slp-heading-scale,1)*var(--slp-mobile-heading-scale,1))}
 .slp-shell .slp-lead,.slp-shell .slp-notice>p{font-size:calc(var(--slp-body-size,18px)*var(--slp-mobile-body-scale,1))}
}
@media(prefers-reduced-motion:reduce){.slp-shell.slp-glow-custom .slp-signup>button{transition:none}}

/* Explicit inspector overrides must also outrank the v2.10 template-specific spacing. */
.slp-shell.slp-status-gap-custom .slp-status-row{column-gap:var(--slp-status-gap,12px);row-gap:var(--slp-status-gap,12px)}
.slp-shell.slp-status-radius-custom .slp-status-card{border-radius:var(--slp-status-radius,12px)}
@media(max-width:900px){
 .slp-shell.slp-vertical-top{align-items:flex-start}
 .slp-shell.slp-vertical-center{align-items:center}
 .slp-shell.slp-vertical-bottom{align-items:flex-end}
}
/* The same premium tokens also reach SiteLaunch-owned Canvas elements when they
   do not have a more specific element-level style in the Canvas document. */
.slp-shell.slp-template-canvas.slp-spacing-custom .slp-canvas-root{row-gap:var(--slp-section-spacing,24px)}
.slp-shell.slp-cta-finish-pill .slp-canvas-button{border-radius:999px}
.slp-shell.slp-cta-finish-soft .slp-canvas-button{background:color-mix(in srgb,var(--slp-accent) 24%,var(--slp-background));color:var(--slp-ink);border:1px solid var(--slp-accent)}
.slp-shell.slp-cta-finish-glass .slp-canvas-button{background:color-mix(in srgb,var(--slp-accent) 32%,transparent);color:var(--slp-ink);border:1px solid var(--slp-accent);backdrop-filter:blur(12px)}
.slp-shell.slp-cta-finish-square .slp-canvas-button{border-radius:2px}
.slp-shell.slp-button-case-uppercase .slp-canvas-button{text-transform:uppercase}
.slp-shell.slp-button-case-capitalize .slp-canvas-button{text-transform:capitalize}
.slp-shell.slp-button-case-none .slp-canvas-button{text-transform:none}
.slp-shell.slp-glow-custom .slp-canvas-button{box-shadow:0 0 calc(var(--slp-accent-glow,0)*38px) color-mix(in srgb,var(--slp-accent) 35%,transparent)}
.slp-shell:not(.slp-template-canvas) .slp-hero>h1,.slp-shell:not(.slp-template-canvas) .slp-hero>h2{overflow-wrap:anywhere}

/* v2.12 design-system contrast: accent-colored panel headings need enough legibility
   when a business preset uses a dark, saturated accent against a dark panel. */
.slp-shell.slp-template-helix .slp-notice h2,
.slp-shell.slp-template-launch .slp-notice h2{
  color:var(--slp-panel-ink);
  color:color-mix(in srgb,var(--slp-panel-ink) 70%,var(--slp-accent) 30%);
}

/* v2.15: restrained, opt-in visual polish for all SiteLaunch-maintained templates.
 * Controls are saved as design fields; no frontend scripts, external assets or layout shifts.
 * Hover treatments never indicate navigation on static status cards. */
@media (hover:hover) and (pointer:fine) {
 .slp-shell.slp-surface-hover-outline .slp-status-card {
   transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
 }
 .slp-shell.slp-surface-hover-outline .slp-status-card:hover {
   border-color: color-mix(in srgb,var(--slp-accent) 55%,transparent);
   box-shadow:0 8px 22px rgba(7,21,34,.09);
 }
 .slp-shell.slp-surface-hover-lift .slp-status-card {
   transition:transform .24s ease,box-shadow .24s ease;
 }
 .slp-shell.slp-surface-hover-lift .slp-status-card:hover {
   transform:translateY(-3px);box-shadow:0 13px 26px rgba(9,19,34,.13);
 }
 .slp-shell.slp-media-hover-zoom .slp-hero-media img {
   transition:transform .45s cubic-bezier(.2,.7,.2,1);
 }
 .slp-shell.slp-media-hover-zoom .slp-hero-media:hover img {transform:scale(1.045)}
 .slp-shell.slp-media-hover-lift .slp-hero-media {
   transition:transform .24s ease,box-shadow .24s ease;
 }
 .slp-shell.slp-media-hover-lift .slp-hero-media:hover {
   transform:translateY(-3px);box-shadow:0 19px 35px rgba(0,0,0,.18);
 }
 .slp-shell :is(.slp-links a,.slp-cta-secondary,.slp-social-links a):where(:hover) {
   border-color:var(--slp-accent);filter:brightness(1.08);
 }
}
/* Interactive focus is available even when hover is unavailable. */
.slp-shell :is(.slp-links a,.slp-signup button,.slp-cta-secondary,.slp-social-links a):focus-visible {
 outline:3px solid var(--slp-accent);outline-offset:3px;
}
/* Section reveal runs only when an entrance animation is explicitly chosen. */
@keyframes slp-section-reveal {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:no-preference) {
 .slp-shell.slp-reveal-stagger:is(.slp-motion-fade,.slp-motion-rise,.slp-motion-zoom) .slp-page > .slp-hero {
   animation:slp-section-reveal calc(var(--slp-motion-duration,650) * 1ms) ease backwards;
   animation-delay:calc(var(--slp-reveal-delay,90) * 1ms);
 }
 .slp-shell.slp-reveal-stagger:is(.slp-motion-fade,.slp-motion-rise,.slp-motion-zoom) .slp-page > .slp-panel {
   animation:slp-section-reveal calc(var(--slp-motion-duration,650) * 1ms) ease backwards;
   animation-delay:calc(var(--slp-reveal-delay,90) * 2ms);
 }
 .slp-shell.slp-reveal-stagger:is(.slp-motion-fade,.slp-motion-rise,.slp-motion-zoom) .slp-status-card {
   animation:slp-section-reveal calc(var(--slp-motion-duration,650) * .75ms) ease backwards;
 }
 .slp-shell.slp-reveal-stagger .slp-status-card:nth-child(1){animation-delay:calc(var(--slp-reveal-delay,90) * 2ms)}
 .slp-shell.slp-reveal-stagger .slp-status-card:nth-child(2){animation-delay:calc(var(--slp-reveal-delay,90) * 3ms)}
 .slp-shell.slp-reveal-stagger .slp-status-card:nth-child(3){animation-delay:calc(var(--slp-reveal-delay,90) * 4ms)}
}
@media (prefers-reduced-motion:reduce) {
 .slp-shell.slp-reveal-stagger .slp-status-card,
 .slp-shell.slp-reveal-stagger .slp-hero,
 .slp-shell.slp-reveal-stagger .slp-panel {animation:none!important;transition:none!important}
 .slp-shell.slp-surface-hover-lift .slp-status-card:hover,
 .slp-shell.slp-media-hover-lift .slp-hero-media:hover,
 .slp-shell.slp-media-hover-zoom .slp-hero-media:hover img {transform:none!important}
}
