/* below-fold + edge-case styles (deferred for first-packet budget) */
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.in-view{opacity:1;transform:none}}.inside-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.inside-list li{position:relative;padding-left:30px;font-size:.95rem;line-height:1.5}.inside-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:700}.fcard{background:linear-gradient(180deg,var(--panel),var(--bg-soft));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.fcard:hover{border-color:var(--accent-dim);transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.4)}.fcard .thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:#0b0a09}.fcard .thumb img{width:100%;height:100%;object-fit:contain;display:block}.fcard .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.fcard h3{font-size:1rem;font-weight:700;line-height:1.35}.fcard h3 a{color:var(--text)}.fcard h3 a:hover{color:var(--accent-bright)}.fcard p{color:var(--muted);font-size:.85rem;line-height:1.55;flex:1}.fcard .meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.price{font-size:1.1rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.price small{font-size:.75rem;color:var(--muted);font-weight:400}.go{font-size:.85rem;font-weight:700;color:var(--accent)}.go:hover{color:var(--accent-bright)}.fcard .meta{flex-wrap:wrap}.fcard .secure-checkout{flex:1 1 100%;font-size:.72rem;color:var(--faint);margin-top:4px}.catalog-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--accent-dim);border-radius:var(--radius);padding:20px 24px}.catalog-card h3{font-size:1.05rem;font-weight:700}.catalog-card p{color:var(--muted);font-size:.88rem;margin-top:4px}.badge{display:inline-block;background:var(--accent);color:var(--accent-ink);font-size:.75rem;font-weight:800;letter-spacing:.08em;border-radius:5px;padding:2px 8px;vertical-align:middle;margin-left:8px}.steps{display:grid;gap:16px;list-style:none;margin:0;padding:0;grid-template-columns:repeat(3,1fr);counter-reset:step;position:relative}.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative}@media(min-width:861px){.steps::before{content:"";position:absolute;top:-1px;left:44px;right:44px;height:2px;background:var(--line);z-index:0}.step{z-index:1}}.step::before{counter-increment:step;content:"0" counter(step);display:block;color:var(--accent);font-weight:800;font-size:.85rem;letter-spacing:.1em;margin-bottom:10px}.step h3{font-size:1rem;font-weight:700;margin-bottom:6px}.step p{color:var(--muted);font-size:.88rem}.duo{display:grid;gap:16px;grid-template-columns:1fr 1fr;max-width:840px;margin:0 auto}.plan{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center}.plan.hot{border-color:var(--accent-dim);background:linear-gradient(180deg,var(--panel2),var(--panel));box-shadow:0 20px 48px rgba(0,0,0,.4)}.plan h3{font-size:1.15rem;font-weight:750;margin-bottom:4px}.plan .price{font-size:1.7rem;margin:10px 0 4px;font-variant-numeric:tabular-nums}.plan ul{list-style:none;text-align:left;margin:16px 0 22px;font-size:.9rem;color:var(--muted)}.plan ul li{padding:6px 0 6px 26px;position:relative}.plan ul li::before{content:"✓";position:absolute;left:2px;color:var(--ok);font-weight:800}details.faq{max-width:720px;margin:0 auto 10px;background:var(--panel);border:1px solid var(--line);scroll-margin-top:70px;border-radius:var(--radius);padding:16px 20px;transition:border-color .16s var(--ease)}details.faq:hover{border-color:var(--accent-dim)}details.faq[open]{border-color:var(--accent-dim);background:var(--bg-soft)}details.faq summary{cursor:pointer;font-weight:650;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1rem;padding:12px 4px;min-height:44px}details.faq summary::-webkit-details-marker{display:none}details.faq summary .faq-anchor{font-size:.72rem;font-weight:500;color:var(--faint);flex:none;text-decoration:none}details.faq summary .faq-anchor:hover,details.faq summary .faq-anchor:focus-visible{color:var(--accent-bright);text-decoration:underline}details.faq summary::after{content:"+";color:var(--accent);font-size:1.3rem;font-weight:700;line-height:1}details.faq[open] summary::after{content:"–"}details.faq p{color:var(--muted);margin-top:10px;font-size:.9rem;line-height:1.7;max-width:68ch}details.faq p{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;min-height:0;margin-top:0;transition:grid-template-rows .16s ease,opacity .16s ease,margin-top .16s ease}details.faq[open] p{grid-template-rows:1fr;opacity:1;margin-top:10px}@media (prefers-reduced-motion:reduce){details.faq p{transition:none}}.cta-band{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--accent-dim);border-radius:18px;padding:clamp(64px,8vw,96px);display:grid;grid-template-columns:220px 1fr;gap:clamp(24px,4vw,40px);align-items:center;box-shadow:0 24px 60px rgba(0,0,0,.45)}.cta-band img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:0 16px 44px rgba(0,0,0,.5)}.cta-band h2{margin-bottom:10px}.cta-band .fine{font-size:.78rem;color:var(--muted);margin-top:12px}.lock-ic{width:14px;height:14px;vertical-align:-2px;margin-right:4px;flex:none}.cta-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.cta-pair .opt{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:rgba(0,0,0,.18)}.cta-pair .opt h3{font-size:.95rem;margin-bottom:2px}.cta-pair .opt .price{font-size:1.25rem;margin:6px 0 10px;font-variant-numeric:tabular-nums}.cta-pair .opt .btn{width:100%;text-align:center;padding:11px 16px;font-size:.9rem}footer.site{border-top:1px solid var(--line);background:var(--bg-soft);padding:26px 0;font-size:.82rem;color:var(--muted)}footer.site .wrap{display:flex;justify-content:space-between;align-items:center;gap:10px 20px;flex-wrap:wrap}footer.site a{color:var(--muted);margin-left:14px;font-size:.9rem}footer.site a:hover{color:var(--accent-bright)}@media(prefers-reduced-motion:reduce){#backtop{display:none}}@media(max-width:860px){.featured{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.duo{grid-template-columns:1fr}.cta-band{grid-template-columns:1fr;text-align:center}.cta-band img{max-width:200px;margin:0 auto}.cta-pair{grid-template-columns:1fr}}@media print{
header.site,.sticky-buy,.cta-band,.catalog-card,footer.site,#backtop,.nav-toggle,.proof-strip,.microtrust,.cta-pair{display:none!important}
:root{--bg:#fff;--bg-soft:#fff;--panel:#fff;--panel2:#fff;--text:#141414;--muted:#333;--faint:#555;--line:#d4d4d4;--line-soft:#e8e8e8}
body{background:#fff!important;color:#141414!important}
.wrap{max-width:none!important;padding:0 12px!important}
section.block{padding:16px 0!important;content-visibility:visible!important}
a{color:#8a3a20!important;text-decoration:underline!important}
.reveal{opacity:1!important;transform:none!important}
.fcard,.plan,.step{break-inside:avoid}}.fgroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;width:100%;margin-top:18px}.fgroups nav{min-width:0}.fgroups h3{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.fgroups a{display:block;margin:0;padding:7px 0;font-size:.88rem;color:var(--muted);min-height:36px}.fgroups a:hover{color:var(--accent-bright)}@media(max-width:640px){.fgroups{grid-template-columns:1fr;gap:12px}}
/* ===== 2026-10-04 20-AI rebuild: mobile experience enhancements (additive-only) ===== */
/* mobile.css — mobile experience enhancements for ghostcorpnet (koalstin rebuild, worker 9 of 20)
   Additive-only: every rule is new or scoped inside max-width / hover / pointer
   media queries, so desktop (>1024px, hover-capable) rendering is unchanged.
   Targets: index.html inline <style>, belowfold.css, and the shared inline
   <style> in product/article page templates. */

/* ============ 1. Card buy-link: whole card becomes the tap target ============
   .fcard .meta a.go is tiny inline text on the card (the primary revenue tap
   on mobile). Pure-CSS stretched-link: the ::after overlay covers the card and
   forwards taps to the buy link, while the title link keeps a higher z-index. */
.fcard{position:relative}
.fcard .go{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:8px 16px;
  border:1px solid var(--accent-dim);border-radius:var(--radius-sm);
  background:var(--accent-soft);font-size:.9rem;font-weight:700;color:var(--accent-bright);
  position:relative;z-index:2;white-space:nowrap;
}
.fcard .go:hover{color:var(--accent-bright);border-color:var(--accent);text-decoration:none}
.fcard .go::after{content:"";position:absolute;inset:0;z-index:1}
.fcard h3 a{position:relative;z-index:3}
.fcard .secure-checkout{position:relative;z-index:3}

/* ============ 2. Tap feedback + tap delay ============ */
a,button,summary,[role="button"]{
  -webkit-tap-highlight-color:rgba(224,122,95,.18); /* accent #e07a5f at low alpha */
  touch-action:manipulation; /* kills 300ms tap delay / double-tap zoom */
}

/* ============ 3. Mobile nav menu: scrolls on short / landscape phones ============ */
nav.main.open{
  max-height:calc(100dvh - 58px);
  max-height:calc(100vh - 58px); /* dvh fallback */
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));
}

/* ============ 4. Touch devices: no sticky hover lift, crisp :active ============ */
@media(hover:none){
  .fcard:hover{transform:none;box-shadow:none}
  .btn.primary:active,.btn.ghost:active,.fcard .go:active{transform:scale(.97)}
}

/* ============ 5. Small phones (<=400px): breathing room ============ */
@media(max-width:400px){
  .wrap{padding:0 16px}
  h1{font-size:1.72rem}
  .cta-row .btn{width:100%;padding-left:12px;padding-right:12px}
  .proof-strip .wrap{gap:6px 12px}
  .proof-strip li{font-size:.76rem}
  .cta-pair .opt{padding:14px}
  .cta-pair .opt .btn{padding:12px 10px;font-size:.85rem}
  .sticky-buy{gap:8px;padding-left:12px;padding-right:12px}
  .sticky-buy span{font-size:.78rem}
  .sticky-buy .btn{padding:10px 14px;font-size:.82rem;white-space:nowrap}
  .fcard .body{padding:14px 14px 16px}
  #backtop{right:14px;width:44px;height:44px}
}

/* ============ 6. Tablet portrait (641-1024px): tighten stacked sections ============ */
@media(min-width:641px) and (max-width:1024px){
  .fcard .body{padding:14px 15px 16px}
  .step{padding:18px}
}
@media(max-width:860px){
  .cta-band{padding:clamp(40px,6vw,64px)} /* was clamp(64px,8vw,96px) — huge on tablets */
}

/* ============ 7. iOS: dynamic viewport + no orientation font inflation ============ */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* ============ 8. Overflow guards (article/product pages) ============ */
img,video,iframe{max-width:100%}
pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:640px){
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
}
