/* Snipe search/acquisition pages — additive to snipeStyles.css. */
body.snipeSearchLanding { min-height: 100vh; overflow-x: hidden; }
body.snipeSearchLanding #backdrop, body.snipe404 #backdrop { position: fixed; inset: 0; background: var(--localBdropBg); background-size: cover; background-position: center; z-index: -2; }
body.snipeSearchLanding #overlay, body.snipe404 #overlay { position: fixed; inset: 0; background: var(--overlay); z-index: -1; }
.snipeSeoLogo { position: fixed; left: max(24px, env(safe-area-inset-left)); top: max(22px, env(safe-area-inset-top)); z-index: 50; display: block; width: 148px; }
.snipeSeoLogo img { display: block; width: 100%; height: auto; }
.snipeSeoTopNav { position: fixed; top: max(18px, env(safe-area-inset-top)); right: max(20px, env(safe-area-inset-right)); z-index: 60; display: flex; align-items: center; gap: 6px; padding: 6px; max-width: calc(100vw - 220px); border: 1px solid var(--border); border-radius: 999px; background: color-mix(in srgb, var(--glass-strong) 88%, transparent); box-shadow: var(--shadow-sm); backdrop-filter: blur(16px) saturate(130%); }
.snipeSeoTopNav a { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; padding: 0 11px; border-radius: 999px; color: var(--muted); font: 800 11px/1 var(--themeBody); text-decoration: none; letter-spacing: .03em; }
.snipeSeoTopNav a:hover, .snipeSeoTopNav a[aria-current="page"] { background: var(--glass-soft); color: var(--text); }
.snipeSeoTopNav .snipeSeoNavCta { background: var(--accent); color: #fff; }
.snipeSeoShell, .snipe404Shell { position: relative; z-index: 5; width: min(1120px, calc(100vw - 44px)); margin: 0 auto; padding: 112px 0 44px; display: grid; gap: 18px; }
.snipeSeoHero, .snipeSeoSection, .snipeSeoRelated, .snipeSeoFooter, .snipe404Card { border: 1px solid var(--border); background: color-mix(in srgb, var(--glass-strong) 90%, transparent); box-shadow: var(--shadow-md); backdrop-filter: blur(15px) saturate(125%); }
.snipeSeoHero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(330px, .7fr); gap: clamp(28px, 5vw, 64px); align-items: center; padding: clamp(34px, 5vw, 62px); min-height: 520px; border-radius: 30px; }
.snipeSeoBreadcrumb { display: flex; gap: 8px; align-items: center; margin: 0 0 18px; color: var(--muted); font: 800 10px/1 var(--themeBody); letter-spacing: .1em; text-transform: uppercase; }
.snipeSeoBreadcrumb a { color: var(--accent-strong); }
.snipeSeoHero h1, .snipe404Card h1 { margin: 0 0 18px; color: var(--text); font: 300 clamp(40px, 6vw, 70px)/.98 var(--themeHeaders); letter-spacing: -.035em; }
.snipeSeoLead { margin: 0; max-width: 650px; color: var(--muted); font: 520 clamp(16px, 1.7vw, 20px)/1.65 var(--themeBody); }
.snipeSeoPoints { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.snipeSeoPoints span { display: inline-flex; min-height: 29px; align-items: center; padding: 0 11px; border: 1px solid var(--border-soft); border-radius: 999px; background: var(--glass-soft); color: var(--muted); font: 850 10px/1 var(--themeBody); letter-spacing: .055em; text-transform: uppercase; }
.snipeSeoHeroActions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.snipeSeoButton { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--glass-strong); color: var(--text); font: 800 12px/1 var(--themeBody); text-decoration: none; }
.snipeSeoButton--primary { border-color: transparent; background: var(--accent); color: #fff; }
.snipeSeoVisual { position: relative; min-height: 330px; display: grid; place-items: center; }
.snipeSeoVisual::before { content: ""; position: absolute; inset: 32px 10px 18px 36px; border: 1px solid var(--border-soft); border-radius: 28px; background: var(--glass-soft); transform: rotate(3deg); }
.snipeSeoDemo { position: relative; width: min(100%, 390px); min-height: 270px; padding: 25px; border: 1px solid var(--border); border-radius: 24px; background: color-mix(in srgb, var(--glass-strong) 95%, transparent); box-shadow: var(--shadow-lg); }
.snipeSeoDemoTop { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font: 800 10px/1 var(--themeBody); text-transform: uppercase; letter-spacing: .08em; }
.snipeSeoDemoScreen { margin-top: 22px; padding: 22px; min-height: 150px; border-radius: 18px; background: color-mix(in srgb, var(--accent-soft) 65%, var(--glass-soft)); display: grid; align-content: center; gap: 10px; }
.snipeSeoDemoLine { height: 9px; border-radius: 999px; background: color-mix(in srgb, var(--text) 16%, transparent); }
.snipeSeoDemoLine:nth-child(2) { width: 82%; }.snipeSeoDemoLine:nth-child(3) { width: 62%; }
.snipeSeoDemoCode { font: 600 12px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--accent-strong); overflow-wrap: anywhere; }
.snipeSeoSection { padding: clamp(28px, 4vw, 48px); border-radius: 26px; }
.snipeSeoSectionHead { max-width: 760px; margin-bottom: 26px; }
.snipeSeoEyebrow { margin: 0 0 8px; color: var(--accent-strong); font: 900 10px/1 var(--themeBody); letter-spacing: .12em; text-transform: uppercase; }
.snipeSeoSection h2, .snipeSeoRelated h2 { margin: 0 0 10px; color: var(--text); font: 300 clamp(27px, 3.5vw, 40px)/1.08 var(--themeHeaders); }
.snipeSeoSectionHead > p:last-child, .snipeSeoRelated > p { margin: 0; color: var(--muted); font: 520 15px/1.7 var(--themeBody); }
.snipeSeoStepGrid, .snipeSeoValueGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.snipeSeoStep, .snipeSeoValue { padding: 20px; border: 1px solid var(--border-soft); border-radius: 18px; background: var(--glass-soft); }
.snipeSeoStepNum, .snipeSeoValueIcon { display: inline-grid; place-items: center; width: 35px; height: 35px; margin-bottom: 14px; border-radius: 11px; background: var(--accent-soft); color: var(--accent-strong); font: 900 12px/1 var(--themeBody); }
.snipeSeoStep h3, .snipeSeoValue h3 { margin: 0 0 7px; color: var(--text); font: 800 16px/1.25 var(--themeBody); }
.snipeSeoStep p, .snipeSeoValue p { margin: 0; color: var(--muted); font: 520 13px/1.65 var(--themeBody); }
.snipeSeoPlanGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.snipeSeoPlan { padding: 23px; border: 1px solid var(--border-soft); border-radius: 18px; background: var(--glass-soft); }
.snipeSeoPlan.is-premium { border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); background: color-mix(in srgb, var(--accent-soft) 45%, var(--glass-soft)); }
.snipeSeoPlan h3 { margin: 0 0 4px; color: var(--text); font: 800 18px/1.2 var(--themeBody); }.snipeSeoPlan strong { color: var(--accent-strong); }
.snipeSeoPlan ul { margin: 16px 0 0; padding-left: 18px; color: var(--muted); font: 520 13px/1.7 var(--themeBody); }
.snipeSeoFaq { display: grid; gap: 9px; }
.snipeSeoFaq details { border: 1px solid var(--border-soft); border-radius: 15px; background: var(--glass-soft); overflow: clip; }
.snipeSeoFaq summary { cursor: pointer; padding: 16px 18px; color: var(--text); font: 800 14px/1.35 var(--themeBody); }.snipeSeoFaq p { margin: 0; padding: 0 18px 18px; color: var(--muted); font: 520 13px/1.7 var(--themeBody); }
.snipeSeoRelated { padding: clamp(28px, 4vw, 44px); border-radius: 26px; }.snipeSeoRelatedGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 22px; }.snipeSeoRelatedCard { display: flex; justify-content: space-between; gap: 16px; padding: 18px; border: 1px solid var(--border-soft); border-radius: 16px; background: var(--glass-soft); color: var(--text); text-decoration: none; }.snipeSeoRelatedCard span { display: grid; gap: 5px; }.snipeSeoRelatedCard span span { color: var(--muted); font: 520 12px/1.55 var(--themeBody); }.snipeSeoRelatedCard strong { font: 800 14px/1.3 var(--themeBody); }
.snipeSeoFooter { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 21px 24px; border-radius: 20px; color: var(--muted); font: 650 11px/1.5 var(--themeBody); }.snipeSeoFooter nav { display: flex; flex-wrap: wrap; gap: 14px; }.snipeSeoFooter a { color: var(--text); }
.snipe404Shell { min-height: 100vh; place-items: center; }.snipe404Card { width: min(700px,100%); padding: clamp(36px,6vw,72px); border-radius: 30px; text-align: center; }.snipe404Mark { color: var(--accent-strong); font: 900 11px/1 var(--themeBody); letter-spacing:.12em; text-transform:uppercase; }.snipe404Card h1 { font-size: clamp(42px,7vw,76px); }.snipe404Lead { max-width: 560px; margin: 0 auto 26px; color: var(--muted); font: 520 16px/1.7 var(--themeBody); }.snipe404Actions { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; }
@media (max-width: 820px) { .snipeSeoTopNav { display:none; }.snipeSeoLogo { position:absolute; width:128px; }.snipeSeoShell { padding-top: 96px; }.snipeSeoHero { grid-template-columns: 1fr; min-height: 0; }.snipeSeoVisual { min-height: 280px; }.snipeSeoStepGrid,.snipeSeoValueGrid { grid-template-columns:1fr; }.snipeSeoFooter { align-items:flex-start; flex-direction:column; } }
@media (max-width: 560px) { .snipeSeoShell,.snipe404Shell { width:min(100% - 24px,1120px); }.snipeSeoHero,.snipeSeoSection,.snipeSeoRelated { border-radius:20px; padding:24px 20px; }.snipeSeoHero h1 { font-size:clamp(38px,13vw,56px); }.snipeSeoPlanGrid,.snipeSeoRelatedGrid { grid-template-columns:1fr; }.snipeSeoDemo { padding:19px; min-height:230px; }.snipeSeoFooter { border-radius:16px; } }
