
/* ─── RESET & ROOT ─────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --primary: #F97316; --orange: #F97316; --red: #EF4444;
  --secondary: #EF4444; --accent: #EF4444;
  --fedex: #4D148C; --fedex2: #7B1FD4;
  --dark: #0F172A; --charcoal: #1E293B;
  --light: #F8FAFC; --white: #fff;
  --muted: #64748B;
  --grad: linear-gradient(135deg, #F97316 0%, #EF4444 100%);
  --gradh: linear-gradient(135deg, #EA6C0C 0%, #DC2626 100%);
  --glow: 0 4px 22px rgba(239,68,68,.28), 0 2px 8px rgba(249,115,22,.20);
}
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: var(--dark); display: flex; flex-direction: column; min-height: 100vh; background: #fff; }
button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; }
::selection { background: rgba(249,115,22,.2); }

/* ─── GRADIENT BUTTONS ─────────────────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:none; border-radius:999px; font-weight:700; transition:all .25s; letter-spacing:.2px; text-decoration:none; }
.btn-primary { background:var(--grad); color:#fff; box-shadow:0 2px 12px rgba(239,68,68,.20); }
.btn-primary:hover { background:var(--gradh); box-shadow:var(--glow); transform:translateY(-2px); }
.btn-outline { background:rgba(255,255,255,.08); color:#fff; border:2px solid rgba(255,255,255,.30); }
.btn-outline:hover { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.68); }
.btn-ghost { background:rgba(249,115,22,.08); color:var(--primary); border:1px solid rgba(249,115,22,.22); }
.btn-ghost:hover { background:rgba(249,115,22,.15); }
.btn-dark { background:var(--dark); color:#fff; }
.btn-dark:hover { background:#0f0f1e; }
.btn-lg { padding:17px 36px; font-size:17px; }
.btn-md { padding:13px 26px; font-size:15px; }
.btn-sm { padding:9px 20px; font-size:13px; }
.btn-block { width:100%; justify-content:center; }

/* ─── NAV ──────────────────────────────────────────────────────────────────── */
#nav { position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid rgba(0,0,0,.08); box-shadow:0 2px 16px rgba(0,0,0,.06); }
.nav-inner { max-width:1200px; margin:0 auto; padding:0 24px; height:66px; display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; gap:8px; cursor:pointer; text-decoration:none; color:inherit; }
.logo-zap { font-size:24px; }
.logo-text { font-weight:900; font-size:22px; letter-spacing:-.5px; color:var(--dark); }
.logo-blast { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.desk-links { display:flex; gap:2px; align-items:center; }
.nav-btn { background:transparent; color:var(--muted); border:1px solid transparent; border-radius:8px; padding:7px 14px; font-weight:600; font-size:13.5px; transition:all .15s; }
.nav-btn:hover { color:var(--dark); }
.nav-btn.active { background:rgba(249,115,22,.08); color:var(--primary); border-color:rgba(249,115,22,.25); }
.mob-toggle { background:none; border:none; color:var(--dark); font-size:24px; display:none; }
.mob-menu { display:none; background:#fff; padding:16px; flex-direction:column; gap:8px; border-top:1px solid #f0f0f0; }
.mob-menu.open { display:flex; }
.mob-btn { background:transparent; color:var(--dark); border:none; border-radius:8px; padding:12px 16px; font-weight:600; font-size:16px; text-align:left; }
.mob-btn.active { background:rgba(249,115,22,.08); color:var(--primary); }
.fedex-strip { background:linear-gradient(90deg,#F97316,#EF4444,#F97316); text-align:center; padding:8px 16px; font-size:12.5px; font-weight:800; color:#fff; letter-spacing:.6px; }


/* ─── FAQ STYLES ────────────────────────────────────────────────────── */
.faq-list { margin-bottom: 8px; }
.faq-item { border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 10px; overflow: hidden; background: #fff; }
.faq-item summary { padding: 18px 20px; font-weight: 700; font-size: 15px; color: var(--dark); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 22px; font-weight: 300; color: var(--primary); flex-shrink: 0; margin-left: 12px; }
.faq-item[open] summary::after { content: "−"; }
.faq-item[open] summary { border-bottom: 1px solid #e2e8f0; }
.faq-body { padding: 16px 20px 20px; }
.faq-body p { color: var(--muted); line-height: 1.8; font-size: 15px; margin-bottom: 10px; }
.faq-body p:last-child { margin-bottom: 0; }
.faq-body strong { color: var(--dark); }

/* ─── PAGES ────────────────────────────────────────────────────────────────── */
.page { display:none; }
.page.active { display:block; }
main { flex:1; }

/* ─── HERO ─────────────────────────────────────────────────────────────────── */
.hero { background:linear-gradient(160deg,#0F172A 0%,#1E293B 60%,#0F172A 100%); padding:120px 40px 96px; position:relative; overflow:hidden; text-align:center; }
#page-home .hero::before { content:''; position:absolute; inset:-10% -5%; background-image:url('flag.avif'); background-size:cover; background-position:center; opacity:.22; z-index:0; pointer-events:none; transform-origin:left center; animation:flag-wave 7s ease-in-out infinite; }
@keyframes flag-wave { 0%,100% { transform:skewY(0deg) scaleX(1); } 25% { transform:skewY(.9deg) scaleX(1.008); } 75% { transform:skewY(-.9deg) scaleX(.993); } }
@media (prefers-reduced-motion: reduce) { #page-home .hero::before { animation:none; } }
.hero-sm { padding:72px 40px 60px; }
.orb { position:absolute; border-radius:50%; pointer-events:none; }
.orb1 { top:-80px; right:-60px; width:560px; height:560px; background:radial-gradient(circle,rgba(249,115,22,.30),transparent 65%); }
.orb2 { bottom:-60px; left:-80px; width:460px; height:460px; background:radial-gradient(circle,rgba(168,85,247,.28),transparent 65%); }
.hero-inner { position:relative; z-index:2; max-width:1100px; margin:0 auto; }
.hero h1 { color:#fff; font-size:clamp(48px, 9vw, 104px); font-weight:900; line-height:0.96; margin:0 0 28px; letter-spacing:-3px; }
.grad-text { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero p { color:rgba(255,255,255,.80); font-size:21px; line-height:1.58; max-width:740px; margin:0 auto 24px; }
.speed-badge {
  display:inline-flex; align-items:center; gap:12px;
  background:linear-gradient(135deg,#F97316,#EF4444);
  border:none; border-radius:14px;
  padding:16px 36px; margin-bottom:36px;
  color:#fff; font-weight:900; font-size:18px;
  letter-spacing:.8px; text-transform:uppercase;
  box-shadow:0 4px 24px rgba(239,68,68,.50);
}
.btn-group { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:32px; }
.trust-strip { max-width:1100px; margin:52px auto 0; display:flex; justify-content:center; gap:40px; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.10); padding-top:36px; }
.trust-item { color:rgba(255,255,255,.65); font-size:14px; display:flex; align-items:center; gap:7px; font-weight:700; } .trust-item.hero-ship { color:#FDBA74; font-size:16px; font-weight:900; }

/* ─── FEDEX BADGE ──────────────────────────────────────────────────────────── */
.fb { display:inline-flex; align-items:center; gap:10px; background:rgba(77,20,140,.12); border:1px solid rgba(77,20,140,.3); border-radius:12px; padding:10px 18px; }
.fb .fb-icon { font-size:20px; }
.fb .fb-label { font-size:12px; font-weight:900; color:var(--fedex2); letter-spacing:.5px; }
.fb .fb-sub { font-size:11px; color:var(--muted); }

/* ─── URGENCY BAR ──────────────────────────────────────────────────────────── */
.urgency { background:linear-gradient(90deg,#D90B3A,#FF8C00); padding:18px 24px; text-align:center; }
.urgency p { color:#fff; font-weight:800; font-size:16px; }

/* ─── SECTIONS ─────────────────────────────────────────────────────────────── */
.section { padding:72px 24px; }
.bg-light { background:var(--light); }
.bg-white { background:#fff; }
.bg-dark { background:linear-gradient(135deg,#0F172A,#1E293B); }
.wrap { max-width:1200px; margin:0 auto; }
.wrap-sm { max-width:800px; margin:0 auto; }
.wrap-md { max-width:960px; margin:0 auto; }

/* ─── SECTION TITLE ────────────────────────────────────────────────────────── */
.sec-title { text-align:center; margin-bottom:48px; }
.eyebrow { display:inline-block; background:rgba(249,115,22,.08); color:var(--primary); font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:2px; padding:5px 14px; border-radius:20px; margin-bottom:12px; border:1px solid rgba(249,115,22,.2); }
.sec-title h2 { font-size:36px; font-weight:900; margin:0 0 12px; line-height:1.2; color:var(--dark); }
.sec-title p { color:var(--muted); font-size:17px; max-width:560px; margin:0 auto; line-height:1.6; }
.sec-title.light h2 { color:#fff; }
.sec-title.light p { color:rgba(255,255,255,.72); }
.sec-title.light .eyebrow { background:rgba(255,107,0,.15); }

/* ─── GRIDS ────────────────────────────────────────────────────────────────── */
.g2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.g3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; }
.g4 { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; }
.g4s { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; }

/* ─── CARDS ────────────────────────────────────────────────────────────────── */
.card { background:#fff; border-radius:14px; padding:32px; box-shadow:0 2px 16px rgba(0,0,0,.06); border:1px solid #ece9e9; }
.card-sm { padding:28px; }
.card-center { text-align:center; }
.card-emoji { font-size:42px; margin-bottom:16px; }
.card h3 { font-size:20px; font-weight:800; margin-bottom:8px; color:var(--dark); }
.card p, .card-p { color:var(--muted); line-height:1.65; }

/* ─── STEP ICON (circle) ───────────────────────────────────────────────────── */
.step-circle { width:60px; height:60px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; box-shadow:0 4px 16px rgba(239,68,68,.22); font-size:24px; font-weight:900; color:#fff; }
.step-lbl { font-weight:900; color:var(--primary); font-size:11px; letter-spacing:2px; margin-bottom:6px; text-transform:uppercase; }

/* ─── HOW-IT-WORKS ─────────────────────────────────────────────────────────── */
.step-row { display:flex; gap:32px; margin-bottom:52px; padding-bottom:52px; border-bottom:1px solid #eee; flex-wrap:wrap; }
.step-row:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.step-box { min-width:72px; height:72px; border-radius:18px; background:var(--grad); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 18px rgba(239,68,68,.22); flex-shrink:0; font-size:26px; font-weight:900; color:#fff; }
.step-body { flex:1; min-width:250px; }
.step-tags { display:flex; gap:8px; align-items:center; margin-bottom:8px; flex-wrap:wrap; }
.tag-grad { background:var(--grad); color:#fff; font-size:11px; font-weight:900; padding:3px 10px; border-radius:999px; }
.tag-fedex { background:rgba(77,20,140,.08); color:var(--fedex2); font-size:11px; font-weight:800; padding:3px 10px; border-radius:999px; border:1px solid rgba(77,20,140,.2); }
.step-body h3 { font-size:22px; font-weight:800; color:var(--dark); margin-bottom:10px; }
.step-body p { color:var(--muted); line-height:1.7; margin-bottom:16px; }
.dl { list-style:none; padding:0; margin:0; }
.dl li { display:flex; align-items:center; gap:8px; margin-bottom:7px; color:var(--muted); font-size:14px; }
.dl li.hl { color:var(--fedex2); font-weight:700; }
.dl .chk { color:#10B981; }
.dl .chkp { color:var(--fedex2); }

/* ─── TIMELINE ─────────────────────────────────────────────────────────────── */
.tl-box { background:var(--light); border-radius:16px; padding:32px; margin-bottom:48px; border:1px solid #e2e8f0; }
.tl-box h3 { color:var(--dark); font-weight:800; text-align:center; margin-bottom:24px; font-size:18px; }
.tl-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px; }
.tl-item { text-align:center; padding:12px 8px; background:#fff; border-radius:10px; border:1px solid #e2e8f0; }
.tl-time { font-weight:900; font-size:15px; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.tl-lbl { color:var(--muted); font-size:13px; margin-top:4px; }

/* ─── PRICING ──────────────────────────────────────────────────────────────── */
.price-card { background:#fff; border-radius:18px; padding:40px; text-align:center; box-shadow:0 8px 40px rgba(239,68,68,.10); outline:2px solid rgba(249,115,22,.28); outline-offset:-2px; position:relative; }
.pop-badge { position:absolute; top:-15px; left:50%; transform:translateX(-50%); background:var(--grad); color:#fff; padding:6px 22px; border-radius:999px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1px; box-shadow:var(--glow); white-space:nowrap; }
.price-num { font-size:60px; font-weight:900; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:2px; }
.cl { list-style:none; padding:0; margin:0; text-align:left; }
.cl li { display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:15px; color:var(--muted); }
.cl li.hl { color:var(--fedex2); font-weight:700; }
.cl .chk { color:#10B981; flex-shrink:0; }
.cl .chkp { color:var(--fedex2); flex-shrink:0; }
.addon-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid #eee; }
.addon-row:last-child { border-bottom:none; }
.addon-p { font-weight:700; font-size:15px; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.fedex-box { background:linear-gradient(135deg,#4D148C,#7B1FD4); border-radius:16px; padding:28px; color:#fff; }
.fedex-box h4 { font-size:18px; font-weight:800; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.fedex-box p { opacity:.88; line-height:1.65; font-size:15px; margin-bottom:14px; }
.fedex-tag { font-size:12px; font-weight:700; background:rgba(255,255,255,.15); border-radius:8px; padding:8px 14px; display:inline-block; }
.inc-card { background:#fff; border-radius:10px; padding:14px 16px; display:flex; align-items:center; gap:10px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.inc-card.purple { border:1px solid rgba(77,20,140,.2); }

/* ─── CTA SECTION ──────────────────────────────────────────────────────────── */
.cta-sec { background:linear-gradient(135deg,#0F172A,#1E293B); padding:72px 24px; text-align:center; position:relative; overflow:hidden; }
.cta-sec .orb { background:radial-gradient(circle,rgba(249,115,22,.18),transparent 70%); top:-60px; right:-60px; width:300px; height:300px; }
.cta-sec h2 { color:#fff; font-size:42px; font-weight:900; margin-bottom:10px; }
.cta-sec p { color:rgba(255,255,255,.72); font-size:18px; max-width:520px; margin:0 auto 28px; }

/* ─── TESTIMONIALS ─────────────────────────────────────────────────────────── */
.stars { color:#FFB800; font-size:15px; margin-bottom:14px; letter-spacing:2px; }
.t-text { color:#475569; line-height:1.65; margin-bottom:16px; font-style:italic; }
.t-name { font-weight:700; color:var(--dark); }
.t-role { color:var(--muted); margin-left:8px; font-size:14px; }

/* ─── STATS ────────────────────────────────────────────────────────────────── */
.stat-card { text-align:center; padding:20px; background:var(--light); border-radius:12px; border:1px solid #e2e8f0; }
.stat-num { font-size:30px; font-weight:900; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.stat-lbl { color:var(--muted); font-weight:600; font-size:13px; margin-top:4px; }

/* ─── DIFFERENTIATORS ──────────────────────────────────────────────────────── */
.diff-item { display:flex; gap:16px; margin-bottom:20px; align-items:flex-start; }
.diff-item.hl { padding:20px; background:linear-gradient(135deg,rgba(77,20,140,.06),rgba(123,31,212,.06)); border-radius:12px; border:1px solid rgba(77,20,140,.15); }
.diff-item h4 { font-weight:800; color:var(--dark); margin-bottom:4px; }
.diff-item.hl h4 { color:var(--fedex2); }
.diff-item p { color:var(--muted); line-height:1.6; }

/* ─── CONTACT ──────────────────────────────────────────────────────────────── */
.ci { display:flex; gap:14px; align-items:center; margin-bottom:14px; background:#fff; padding:14px 16px; border-radius:10px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.ci-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.ci-icon.o { background:rgba(249,115,22,.08); }
.ci-icon.p { background:rgba(77,20,140,.08); }
.ci-lbl { font-size:12px; color:var(--muted); font-weight:600; }
.ci-val { font-size:15px; font-weight:700; color:var(--dark); }
.ci-val.p { color:var(--fedex2); }

/* ─── FORM ─────────────────────────────────────────────────────────────────── */
.form-card { background:#fff; border-radius:18px; padding:36px; box-shadow:0 4px 24px rgba(0,0,0,.07); }
.fg { margin-bottom:16px; }
.frow { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:16px; }
label { font-size:13px; font-weight:700; color:var(--muted); display:block; margin-bottom:6px; }
input[type=text],input[type=email],input[type=tel],select,textarea { width:100%; padding:12px 14px; border-radius:10px; border:1.5px solid #e0e0e0; font-size:15px; background:#FAFAFA; outline:none; transition:border-color .2s, box-shadow .2s; }
input:focus,textarea:focus,select:focus { border-color:var(--primary)!important; box-shadow:0 0 0 3px rgba(249,115,22,.12); }
textarea { resize:vertical; }
.cb-row { display:flex; gap:24px; margin-bottom:16px; flex-wrap:wrap; }
.cb-lbl { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:15px; color:var(--muted); }
.order-total { background:var(--light); border-radius:12px; padding:16px 20px; display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.total-lbl { font-weight:700; color:var(--dark); font-size:16px; }
.total-num { font-size:30px; font-weight:900; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* ─── UPLOAD ───────────────────────────────────────────────────────────────── */
.upload-zone { background:#fff; border:2px dashed rgba(249,115,22,.30); border-radius:16px; padding:48px; text-align:center; cursor:pointer; margin-bottom:20px; transition:all .2s; }
.upload-zone:hover,.upload-zone.drag { border-color:var(--primary); background:rgba(249,115,22,.03); }
.upload-zone h3 { font-size:18px; font-weight:800; color:var(--dark); margin-bottom:8px; }
.upload-zone p { color:var(--muted); font-size:14px; }
.file-item { background:#fff; border-radius:8px; padding:10px 16px; margin-bottom:6px; display:flex; align-items:center; gap:8px; font-size:14px; color:#444; }
.file-rm { margin-left:auto; background:none; border:none; color:#bbb; font-size:20px; line-height:1; }

/* ─── CONFIRM ──────────────────────────────────────────────────────────────── */
.confirm { padding:96px 24px; text-align:center; background:var(--light); }
.confirm .ico { font-size:64px; margin-bottom:16px; }
.confirm h2 { font-size:34px; font-weight:900; color:var(--dark); margin-bottom:12px; }
.confirm p { color:var(--muted); font-size:18px; max-width:500px; margin:0 auto 24px; line-height:1.6; }

/* ─── FOOTER ───────────────────────────────────────────────────────────────── */
footer { background:var(--dark); color:#94A3B8; padding:48px 24px 24px; }
.foot-grid { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:32px; }
.foot-logo { display:flex; align-items:center; gap:8px; margin-bottom:12px; font-weight:900; font-size:18px; color:#fff; }
.foot-badge { display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,#4D148C,#7B1FD4); border-radius:6px; padding:6px 12px; font-size:12px; font-weight:700; color:#fff; margin-top:14px; }
footer h4 { color:#fff; margin-bottom:12px; font-size:13px; text-transform:uppercase; letter-spacing:1px; }
.foot-link { background:none; border:none; color:#94A3B8; cursor:pointer; padding:4px 0; font-size:14px; display:block; text-align:left; transition:color .15s; }
.foot-link:hover { color:var(--primary); }
.foot-info { font-size:14px; display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.foot-btm { max-width:1200px; margin:32px auto 0; border-top:1px solid #1E293B; padding-top:16px; text-align:center; font-size:13px; }

/* ─── HELPERS ──────────────────────────────────────────────────────────────── */
.hidden { display:none!important; }
.mt2 { margin-top:8px; } .mt4 { margin-top:16px; } .mt6 { margin-top:24px; } .mt8 { margin-top:32px; } .mt12 { margin-top:48px; }
.mb4 { margin-bottom:16px; } .mb6 { margin-bottom:24px; }
.tc { text-align:center; }
.frow2 { display:flex; flex-direction:column; gap:24px; }

/* ─── RESPONSIVE ───────────────────────────────────────────────────────────── */
@media (max-width:768px) {
  .desk-links { display:none!important; }
  .mob-toggle { display:block!important; }
  .hero h1 { font-size:clamp(32px,8.8vw,58px); letter-spacing:-1.5px; }
  .cta-sec h2 { font-size:28px; }
  .sec-title h2 { font-size:28px; }
  .hero { padding:72px 20px 56px; }
  .section { padding:48px 24px; }
  .btn-group { flex-direction:column; align-items:center; }
}

/* ─── PAYMENT PAGE ─────────────────────────────────────────────────────────── */
.pay-wrap { max-width: 640px; margin: 0 auto; padding: 56px 24px; }
.pay-header { text-align: center; margin-bottom: 40px; }
.pay-header .ico { font-size: 52px; margin-bottom: 12px; }
.pay-header h1 { font-size: 30px; font-weight: 900; color: var(--dark); margin-bottom: 8px; }
.pay-header p { color: var(--muted); font-size: 16px; line-height: 1.6; }
.order-summary { background: var(--light); border-radius: 16px; padding: 28px; margin-bottom: 24px; border: 1px solid #e2e8f0; }
.order-summary h3 { font-size: 15px; font-weight: 800; color: var(--dark); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 18px; }
.summary-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #e2e8f0; font-size: 15px; }
.summary-row:last-child { border-bottom: none; }
.summary-row.total-row { padding-top: 14px; margin-top: 4px; border-top: 2px solid var(--dark); border-bottom: none; }
.summary-row .lbl { color: var(--muted); }
.summary-row .val { font-weight: 600; color: var(--dark); }
.summary-row.total-row .lbl { font-weight: 800; font-size: 17px; color: var(--dark); }
.summary-row.total-row .val { font-size: 28px; font-weight: 900; background: var(--grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.free-ship-row { display: flex; align-items: center; gap: 8px; padding: 10px 0; font-size: 14px; font-weight: 700; color: var(--fedex2); }
.stripe-btn-wrap { margin-bottom: 20px; }
.stripe-btn { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 20px 32px; background: var(--grad); color: #fff; border: none; border-radius: 999px; font-size: 18px; font-weight: 800; cursor: pointer; box-shadow: var(--glow); transition: all .25s; text-decoration: none; letter-spacing: .2px; }
.stripe-btn:hover { background: var(--gradh); transform: translateY(-2px); box-shadow: 0 6px 28px rgba(239,68,68,.40); }
.stripe-trust { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; color: var(--muted); margin-bottom: 28px; }
.stripe-trust .lock { font-size: 14px; }
.secure-badges { display: flex; justify-content: center; gap: 16px; margin-bottom: 32px; flex-wrap: wrap; }
.secure-badge { display: flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 8px 14px; font-size: 12px; font-weight: 700; color: #555; }
.whats-next { background: linear-gradient(135deg, #0F172A, #1E293B); border-radius: 16px; padding: 28px; color: #fff; }
.whats-next h4 { font-size: 16px; font-weight: 800; margin-bottom: 16px; }
.next-step { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: 14px; color: rgba(255,255,255,.72); line-height: 1.5; }
.next-step:last-child { margin-bottom: 0; }
.next-num { width: 22px; height: 22px; border-radius: 50%; background: var(--grad); color: #fff; font-size: 11px; font-weight: 900; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.pay-pkg-select { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 24px; }
.pkg-option { border: 2px solid #e0e0e0; border-radius: 12px; padding: 16px; cursor: pointer; text-align: center; transition: all .2s; background: #fff; }
.pkg-option:hover { border-color: var(--primary); }
.pkg-option.selected { border-color: var(--primary); background: rgba(249,115,22,.04); box-shadow: 0 0 0 1px var(--primary); }
.pkg-option .pkg-name { font-weight: 800; color: var(--dark); font-size: 15px; margin-bottom: 4px; }
.pkg-option .pkg-price { font-size: 22px; font-weight: 900; background: var(--grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.pkg-option .pkg-sub { font-size: 12px; color: var(--muted); margin-top: 2px; }
.addon-checks { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }

/* ─── Tent Photo Gallery ─── */
.tg-section { background:#0F172A; padding:64px 24px 72px; position:relative; overflow:hidden; }
.tg-section::before { content:''; position:absolute; top:-140px; right:-140px; width:380px; height:380px;
  background:radial-gradient(circle,rgba(255,102,0,.18),transparent 70%); border-radius:50%; pointer-events:none; }
.tg-section::after { content:''; position:absolute; bottom:-160px; left:-120px; width:400px; height:400px;
  background:radial-gradient(circle,rgba(77,20,140,.28),transparent 70%); border-radius:50%; pointer-events:none; }
.tg-wrap { max-width:1180px; margin:0 auto; position:relative; z-index:2; }
.tg-head { text-align:center; margin-bottom:40px; }
.tg-head .tg-eyebrow { color:#FF6600; font-size:12px; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; margin-bottom:12px; }
.tg-head h2 { color:#fff; font-size:clamp(26px,4vw,38px); font-weight:900; line-height:1.2; margin-bottom:12px; }
.tg-head p { color:rgba(255,255,255,.68); font-size:16px; max-width:520px; margin:0 auto; line-height:1.7; }

.tg-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.tg-card { position:relative; border-radius:18px; overflow:hidden; cursor:pointer;
  background:#1e293b; box-shadow:0 8px 32px rgba(0,0,0,.4);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease; }
.tg-card:hover { transform:translateY(-6px); box-shadow:0 20px 56px rgba(255,102,0,.28); }
.tg-card img { width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s cubic-bezier(.22,1,.36,1), filter .45s ease; }
.tg-card:hover img { transform:scale(1.07); }

/* Feature (large) card spans 7 cols and 2 rows */
.tg-card.tg-lg  { grid-column:span 7; aspect-ratio:4/3; }
.tg-card.tg-sm  { grid-column:span 5; aspect-ratio:4/3; }
.tg-card.tg-md  { grid-column:span 6; aspect-ratio:4/3; }

.tg-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:22px; background:linear-gradient(to top,rgba(15,23,42,.92) 0%,rgba(15,23,42,.55) 32%,transparent 62%);
  transition:background .45s ease; }
.tg-card:hover .tg-overlay { background:linear-gradient(to top,rgba(15,23,42,.95) 0%,rgba(77,20,140,.5) 45%,rgba(255,102,0,.12) 100%); }
.tg-tag { align-self:flex-start; background:rgba(255,255,255,.15); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.25); color:#fff; font-size:11px; font-weight:800;
  letter-spacing:1px; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:10px; }
.tg-cap { color:#fff; font-size:19px; font-weight:800; line-height:1.3; margin-bottom:5px; }
.tg-sub { color:rgba(255,255,255,.68); font-size:13.5px; line-height:1.55; }
.tg-card.tg-sm .tg-cap { font-size:17px; }

.tg-zoom { position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.18); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center; font-size:15px; color:#fff;
  opacity:0; transform:scale(.7); transition:opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.tg-card:hover .tg-zoom { opacity:1; transform:scale(1); }

.tg-note { text-align:center; color:rgba(255,255,255,.42); font-size:13px; margin-top:26px; line-height:1.7; }
.tg-note strong { color:rgba(255,255,255,.7); }

.tg-cta { text-align:center; margin-top:32px; }
.tg-cta a { display:inline-block; background:linear-gradient(135deg,#4D148C,#FF6600); color:#fff;
  font-weight:900; font-size:15px; padding:15px 36px; border-radius:999px; text-decoration:none;
  box-shadow:0 8px 28px rgba(255,102,0,.35); transition:transform .3s ease, box-shadow .3s ease; }
.tg-cta a:hover { transform:translateY(-2px); box-shadow:0 12px 36px rgba(255,102,0,.5); }

/* Lightbox */
.tg-lb { position:fixed; inset:0; background:rgba(8,12,24,.93); backdrop-filter:blur(10px);
  z-index:9999; display:none; align-items:center; justify-content:center; padding:32px; }
.tg-lb.open { display:flex; animation:tgFade .3s ease; }
@keyframes tgFade { from{opacity:0} to{opacity:1} }
.tg-lb img { max-width:min(1100px,92vw); max-height:82vh; border-radius:14px;
  box-shadow:0 24px 80px rgba(0,0,0,.7); animation:tgPop .4s cubic-bezier(.22,1,.36,1); }
@keyframes tgPop { from{opacity:0;transform:scale(.94)} to{opacity:1;transform:scale(1)} }
.tg-lb-cap { position:absolute; bottom:34px; left:50%; transform:translateX(-50%); color:#fff;
  font-size:15px; font-weight:700; text-align:center; background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px); padding:10px 22px; border-radius:999px; border:1px solid rgba(255,255,255,.18); }
.tg-lb-x { position:absolute; top:24px; right:28px; width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff;
  font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .25s ease; }
.tg-lb-x:hover { background:rgba(255,255,255,.25); }

@media(max-width:860px){
  .tg-section { padding:48px 18px 56px; }
  .tg-grid { gap:12px; }
  .tg-card.tg-lg, .tg-card.tg-sm, .tg-card.tg-md { grid-column:span 12; }
  .tg-cap { font-size:17px !important; }
}

/* ─── Tent Configurator ─── */
.tc-opt { margin-bottom:26px; }
.tc-lbl { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:10px; gap:12px; flex-wrap:wrap; }
.tc-lbl h4 { font-size:15px; font-weight:800; color:var(--dark); }
.tc-lbl .tc-hint { font-size:12.5px; color:var(--muted); }
.tc-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; }
.tc-pick { border:2px solid #e2e8f0; border-radius:12px; padding:13px 14px; cursor:pointer; background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease; text-align:left; }
.tc-pick:hover { border-color:#cbd5e1; transform:translateY(-1px); }
.tc-pick.on { border-color:var(--primary); box-shadow:0 0 0 3px rgba(77,20,140,.09); background:#faf7ff; }
.tc-pick .n { font-size:14px; font-weight:800; color:var(--dark); margin-bottom:3px; }
.tc-pick .p { font-size:13px; font-weight:800; color:var(--primary2); }
.tc-pick .p.free { color:#16a34a; }
.tc-pick .s { font-size:11.5px; color:var(--muted); margin-top:3px; line-height:1.45; }

.tc-diagram { background:var(--light); border:1px solid #e2e8f0; border-radius:12px; padding:16px; margin-top:10px; }
.tc-diagram svg { width:100%; height:auto; max-height:150px; display:block; }
.tc-dcap { display:flex; justify-content:space-around; margin-top:8px; font-size:11.5px; font-weight:700; color:var(--muted); text-align:center; gap:8px; }

.tc-summary { background:#0F172A; border-radius:14px; padding:20px 22px; margin:28px 0 20px; }
.tc-summary h4 { color:#fff; font-size:14px; font-weight:800; margin-bottom:14px; letter-spacing:.3px; }
.tc-line { display:flex; justify-content:space-between; align-items:baseline; padding:7px 0; font-size:13.5px;
  color:rgba(255,255,255,.72); border-bottom:1px solid rgba(255,255,255,.07); gap:12px; }
.tc-line:last-of-type { border-bottom:none; }
.tc-line .v { color:#fff; font-weight:700; white-space:nowrap; }
.tc-line.free .v { color:#4ade80; }
.tc-tot { display:flex; justify-content:space-between; align-items:center; margin-top:14px; padding-top:14px;
  border-top:2px solid rgba(255,255,255,.15); }
.tc-tot .l { color:rgba(255,255,255,.68); font-size:12px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.tc-tot .v { color:#fff; font-size:30px; font-weight:900; }
.tc-save { background:rgba(74,222,128,.12); border:1px solid rgba(74,222,128,.3); border-radius:8px;
  padding:9px 13px; margin-top:12px; font-size:12.5px; color:#4ade80; font-weight:700; text-align:center; }

/* ─── Wall explainer / specs / templates ─── */
.wx-sec { padding:56px 24px; background:#fff; }
.wx-wrap { max-width:1080px; margin:0 auto; }
.wx-head { text-align:center; margin-bottom:38px; }
.wx-head .eyebrow { color:var(--primary2); font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.wx-head h2 { font-size:clamp(24px,4vw,34px); font-weight:900; color:var(--dark); margin-bottom:10px; }
.wx-head p { color:var(--muted); font-size:15.5px; max-width:560px; margin:0 auto; line-height:1.7; }

.wx-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; margin-bottom:34px; }
.wx-card { border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.wx-fig { background:linear-gradient(160deg,#F8FAFC,#EEF2F7); padding:20px; border-bottom:1px solid #e2e8f0; }
.wx-fig svg { width:100%; height:auto; max-height:190px; display:block; }
.wx-body { padding:20px 22px 22px; flex:1; display:flex; flex-direction:column; }
.wx-body h3 { font-size:17px; font-weight:900; color:var(--dark); margin-bottom:4px; }
.wx-dim { font-size:13px; font-weight:800; color:var(--primary); margin-bottom:10px; }
.wx-body p { font-size:13.5px; color:var(--muted); line-height:1.7; margin-bottom:12px; flex:1; }
.wx-facts { list-style:none; padding:0; margin:0 0 14px; }
.wx-facts li { font-size:13px; color:var(--muted); padding:4px 0 4px 18px; position:relative; line-height:1.55; }
.wx-facts li::before { content:'\2713'; position:absolute; left:0; color:var(--primary2); font-weight:900; }
.wx-price { font-size:15px; font-weight:900; color:var(--dark); padding-top:12px; border-top:1px solid #eef2f7; }
.wx-price span { font-size:12.5px; font-weight:600; color:var(--muted); }

.wx-table { width:100%; border-collapse:collapse; font-size:14px; margin-bottom:14px; background:#fff;
  border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; }
.wx-table th { background:var(--dark); color:#fff; font-size:11.5px; font-weight:800; letter-spacing:.8px;
  text-transform:uppercase; padding:12px 14px; text-align:left; }
.wx-table td { padding:11px 14px; border-top:1px solid #eef2f7; color:var(--muted); }
.wx-table td:first-child { font-weight:800; color:var(--dark); }
.wx-table tr:nth-child(even) td { background:#fafbfc; }
.wx-table .num { font-variant-numeric:tabular-nums; font-weight:700; color:var(--dark); }

.tpl-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:14px; margin-bottom:18px; }
.tpl-card { border:1.5px solid #e2e8f0; border-radius:14px; padding:18px; text-decoration:none; display:block;
  background:#fff; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.tpl-card:hover { border-color:var(--primary); transform:translateY(-2px); box-shadow:0 8px 24px rgba(77,20,140,.1); text-decoration:none; }
.tpl-ico { width:34px; height:34px; border-radius:8px; background:linear-gradient(135deg,#4D148C,#FF6600);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; font-weight:900; margin-bottom:11px; }
.tpl-card h4 { font-size:14.5px; font-weight:800; color:var(--dark); margin-bottom:3px; }
.tpl-card .d { font-size:12.5px; color:var(--primary); font-weight:700; margin-bottom:5px; }
.tpl-card .s { font-size:12px; color:var(--muted); line-height:1.5; }

.tfaq { max-width:820px; margin:0 auto; }
.tfaq details { border:1px solid #e2e8f0; border-radius:12px; margin-bottom:10px; background:#fff; overflow:hidden; }
.tfaq details[open] { border-color:var(--primary); box-shadow:0 4px 18px rgba(77,20,140,.07); }
.tfaq summary { padding:15px 20px; font-size:14.5px; font-weight:700; color:var(--dark); cursor:pointer;
  list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.tfaq summary::-webkit-details-marker { display:none; }
.tfaq summary::after { content:'+'; font-size:20px; font-weight:400; color:var(--primary); flex-shrink:0; }
.tfaq details[open] summary::after { content:'\2212'; }
.tfaq summary:hover { background:#fafbfc; }
.tfaq .a { padding:0 20px 17px; font-size:14px; color:var(--muted); line-height:1.75; }

/* photo figures */
.wx-fig { padding:0; background:#fff; }
.wx-fig img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; }
.wx-figcap { font-size:11.5px; font-weight:700; color:var(--muted); text-align:center;
  padding:9px 12px; background:var(--light); border-top:1px solid #eef2f7; }
.tc-diagram { padding:0; overflow:hidden; }
.tc-diagram img { width:100%; display:block; }
.tc-dcap { padding:9px 12px 10px; background:#fff; border-top:1px solid #eef2f7; margin-top:0; }

/* what's included */
.inc-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:16px; margin-top:8px; }
.inc-it { border:1px solid #e2e8f0; border-radius:14px; overflow:hidden; background:#fff; }
.inc-it img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:#F8FAFC; display:block; padding:6px; }
.inc-it .t { padding:12px 14px 14px; }
.inc-it h4 { font-size:13.5px; font-weight:800; color:var(--dark); margin-bottom:3px; }
.inc-it p { font-size:12px; color:var(--muted); line-height:1.5; }

.life-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; }
.life-it { position:relative; border-radius:14px; overflow:hidden; cursor:pointer; background:#0F172A; }
.life-it img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block;
  transition:transform .55s cubic-bezier(.22,1,.36,1), opacity .3s ease; opacity:.92; }
.life-it:hover img { transform:scale(1.06); opacity:1; }
.life-it span { position:absolute; left:0; right:0; bottom:0; padding:22px 14px 12px; color:#fff;
  font-size:13.5px; font-weight:800;
  background:linear-gradient(to top,rgba(15,23,42,.88),transparent); }

/* ─── Step & Repeat ─── */
.sr-chip { background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:6px 12px;
  font-size:12.5px; font-weight:600; color:var(--muted); }
.sr-chip strong { color:var(--dark); font-weight:800; }
.sr-gal { display:grid; grid-template-columns:1.55fr 1fr; gap:14px; margin-bottom:38px; }
.sr-main { position:relative; border-radius:16px; overflow:hidden; cursor:pointer;
  border:1px solid #e2e8f0; background:#F8FAFC; }
.sr-main img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block;
  transition:transform .55s cubic-bezier(.22,1,.36,1); }
.sr-main:hover img { transform:scale(1.04); }
.sr-zoom { position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%;
  background:rgba(15,23,42,.55); backdrop-filter:blur(6px); color:#fff; font-size:14px;
  display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s ease; }
.sr-main:hover .sr-zoom { opacity:1; }
.sr-side { display:flex; flex-direction:column; gap:14px; }
.sr-thumb { position:relative; border-radius:14px; overflow:hidden; cursor:pointer; flex:1;
  border:1px solid #e2e8f0; background:#F8FAFC; }
.sr-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.sr-thumb span { position:absolute; left:0; right:0; bottom:0; padding:18px 12px 9px; color:#fff;
  font-size:11.5px; font-weight:700; line-height:1.35;
  background:linear-gradient(to top,rgba(15,23,42,.9),transparent); }
@media(max-width:720px){ .sr-gal { grid-template-columns:1fr; } .sr-side { flex-direction:row; } }

.setup-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.setup-step { border:1px solid #e2e8f0; border-radius:14px; padding:20px; background:#fff; }
.setup-step .n { width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,#4D148C,#FF6600);
  color:#fff; font-weight:900; font-size:14px; display:flex; align-items:center; justify-content:center; margin-bottom:11px; }
.setup-step p { font-size:13.5px; color:var(--muted); line-height:1.65; }
.setup-step strong { color:var(--dark); font-weight:800; }

/* ─── Per-product includes ─── */
.pi-sec { background:var(--light); border:1px solid #e2e8f0; border-radius:16px; padding:26px 28px; margin:8px 0 34px; }
.pi-sec h3 { font-size:17px; font-weight:900; color:var(--dark); margin-bottom:5px; }
.pi-sec .pi-sub { font-size:13.5px; color:var(--muted); line-height:1.65; margin-bottom:18px; }
.pi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:12px; }
.pi-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:15px 16px; }
.pi-card .ic { font-size:19px; margin-bottom:8px; display:block; line-height:1; }
.pi-card h4 { font-size:13.5px; font-weight:800; color:var(--dark); margin-bottom:3px; }
.pi-card p { font-size:12.5px; color:var(--muted); line-height:1.55; }
.pi-ship { margin-top:16px; padding-top:14px; border-top:1px solid #e2e8f0; font-size:12.5px;
  color:var(--muted); line-height:1.6; }
.pi-ship strong { color:var(--fedex2); font-weight:800; }

/* ═══ Product page layout (Step & Repeat) ═══ */
.pp-wrap { max-width:1120px; margin:0 auto; padding:40px 24px 8px; }
.pp-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; align-items:start; }

/* gallery — square, compact */
.pp-hero { border:1px solid #e2e8f0; border-radius:14px; overflow:hidden; background:#F8FAFC;
  cursor:zoom-in; position:relative; }
.pp-hero img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; display:block; padding:10px; }
.pp-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:10px; }
.pp-thumb { border:1.5px solid #e2e8f0; border-radius:9px; overflow:hidden; background:#F8FAFC;
  cursor:pointer; padding:0; transition:border-color .18s ease; }
.pp-thumb img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; display:block; padding:4px; }
.pp-thumb:hover { border-color:#cbd5e1; }
.pp-thumb.on { border-color:var(--primary); box-shadow:0 0 0 2px rgba(77,20,140,.10); }

/* buy box */
.pp-buy h1 { font-size:31px; font-weight:900; color:var(--dark); line-height:1.18; margin-bottom:7px; }
.pp-sub { font-size:14.5px; color:var(--muted); line-height:1.6; margin-bottom:16px; }
.pp-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.pp-badges span { font-size:11.5px; font-weight:700; color:var(--muted); background:var(--light);
  border:1px solid #e2e8f0; border-radius:999px; padding:5px 11px; }
.pp-price { display:flex; align-items:baseline; gap:10px; margin-bottom:4px; }
.pp-price .amt { font-size:38px; font-weight:900; color:var(--dark); letter-spacing:-1px; }
.pp-price .unit { font-size:13.5px; color:var(--muted); font-weight:600; }
.pp-ship { font-size:13px; font-weight:700; color:#16a34a; margin-bottom:22px; }

.pp-step { margin-bottom:20px; }
.pp-step .lbl { display:flex; align-items:center; gap:8px; font-size:11.5px; font-weight:800;
  letter-spacing:1.1px; text-transform:uppercase; color:var(--muted); margin-bottom:9px; }
.pp-step .lbl b { width:19px; height:19px; border-radius:50%; background:var(--dark); color:#fff;
  font-size:10.5px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pp-opts { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.pp-opt { border:1.5px solid #e2e8f0; border-radius:11px; padding:13px 14px; cursor:pointer;
  background:#fff; transition:border-color .18s ease, background .18s ease; }
.pp-opt:hover { border-color:#cbd5e1; }
.pp-opt.on { border-color:var(--primary); background:#faf7ff; box-shadow:0 0 0 2px rgba(77,20,140,.08); }
.pp-opt .n { font-size:13.5px; font-weight:800; color:var(--dark); margin-bottom:2px; }
.pp-opt .p { font-size:15px; font-weight:900; color:var(--primary2); }
.pp-opt .s { font-size:11.5px; color:var(--muted); margin-top:2px; line-height:1.4; }

.pp-drop { border:1.5px dashed #cbd5e1; border-radius:11px; padding:18px; text-align:center;
  cursor:pointer; background:#fafbfc; transition:border-color .18s ease, background .18s ease; }
.pp-drop:hover, .pp-drop.drag { border-color:var(--primary); background:#faf7ff; }
.pp-drop .t { font-size:13.5px; font-weight:800; color:var(--dark); margin-bottom:3px; }
.pp-drop .s { font-size:12px; color:var(--muted); line-height:1.5; }
.pp-drop .s a { color:var(--primary); font-weight:700; }

.pp-rush { display:flex; align-items:flex-start; gap:9px; border:1.5px solid #e2e8f0; border-radius:11px;
  padding:13px 14px; cursor:pointer; background:#fff; margin-bottom:20px; }
.pp-rush input { margin-top:2px; flex-shrink:0; }
.pp-rush .n { font-size:13.5px; font-weight:800; color:var(--dark); }
.pp-rush .s { font-size:11.5px; color:var(--muted); line-height:1.45; }

.pp-total { display:flex; justify-content:space-between; align-items:center; padding:15px 0;
  border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; margin-bottom:16px; }
.pp-total .l { font-size:12px; font-weight:800; letter-spacing:1.1px; text-transform:uppercase; color:var(--muted); }
.pp-total .v { font-size:28px; font-weight:900; color:var(--dark); }
.pp-trust { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:13px;
  font-size:11.5px; color:var(--muted); font-weight:600; }

/* details tabs */
.pp-tabs-sec { max-width:1120px; margin:0 auto; padding:44px 24px 8px; }
.pp-tabbar { display:flex; gap:2px; border-bottom:2px solid #e2e8f0; overflow-x:auto; margin-bottom:26px; }
.pp-tab { background:none; border:none; padding:12px 20px; font-size:14px; font-weight:800;
  color:var(--muted); cursor:pointer; white-space:nowrap; border-bottom:3px solid transparent;
  margin-bottom:-2px; transition:color .18s ease, border-color .18s ease; font-family:inherit; }
.pp-tab:hover { color:var(--dark); }
.pp-tab.on { color:var(--primary); border-bottom-color:var(--primary); }
.pp-panel { display:none; }
.pp-panel.on { display:block; animation:ppFade .25s ease; }
@keyframes ppFade { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:none} }
.pp-panel h3 { font-size:16px; font-weight:900; color:var(--dark); margin:0 0 10px; }
.pp-panel h3:not(:first-child) { margin-top:26px; }
.pp-panel p { font-size:14.5px; color:var(--muted); line-height:1.75; margin-bottom:14px; max-width:760px; }
.pp-cols { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:28px; }
.pp-spec { width:100%; border-collapse:collapse; font-size:14px; }
.pp-spec td { padding:9px 0; border-bottom:1px solid #eef2f7; color:var(--muted); vertical-align:top; }
.pp-spec td:first-child { font-weight:800; color:var(--dark); width:170px; padding-right:16px; }
.pp-list { list-style:none; padding:0; margin:0 0 14px; }
.pp-list li { font-size:14px; color:var(--muted); padding:5px 0 5px 20px; position:relative; line-height:1.6; }
.pp-list li::before { content:'\2713'; position:absolute; left:0; color:var(--primary2); font-weight:900; }
.pp-steps { counter-reset:pps; display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:16px; }
.pp-stepcard { border:1px solid #e2e8f0; border-radius:12px; padding:18px; background:#fff; counter-increment:pps; }
.pp-stepcard::before { content:counter(pps); display:flex; align-items:center; justify-content:center;
  width:27px; height:27px; border-radius:50%; background:var(--grad); color:#fff; font-weight:900;
  font-size:13px; margin-bottom:10px; }
.pp-stepcard p { font-size:13.5px; margin:0; }
.pp-dl { display:flex; align-items:center; gap:14px; border:1.5px solid var(--primary); border-radius:12px;
  padding:16px 18px; background:linear-gradient(160deg,#faf7ff,#fff); text-decoration:none; max-width:430px; }
.pp-dl:hover { text-decoration:none; box-shadow:0 6px 20px rgba(77,20,140,.1); }
.pp-dl .ic { width:38px; height:38px; border-radius:9px; background:var(--grad); color:#fff;
  font-size:11px; font-weight:900; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pp-dl .n { font-size:14.5px; font-weight:800; color:var(--dark); }
.pp-dl .s { font-size:12.5px; color:var(--muted); }

@media(max-width:880px){
  .pp-top { grid-template-columns:1fr; gap:28px; }
  .pp-buy h1 { font-size:26px; }
  .pp-opts { grid-template-columns:1fr 1fr; }
}

/* legacy option classes restyled into the product-page look */
.pp-buy .pkg-option, .pp-buy .tc-pick {
  border:1.5px solid #e2e8f0; border-radius:11px; padding:12px 13px; cursor:pointer; background:#fff;
  transition:border-color .18s ease, background .18s ease; text-align:left; }
.pp-buy .pkg-option:hover, .pp-buy .tc-pick:hover { border-color:#cbd5e1; }
.pp-buy .pkg-option.selected, .pp-buy .tc-pick.on {
  border-color:var(--primary); background:#faf7ff; box-shadow:0 0 0 2px rgba(77,20,140,.08); }
.pp-buy .pkg-name, .pp-buy .tc-pick .n { font-size:13.5px; font-weight:800; color:var(--dark); margin-bottom:2px; }
.pp-buy .pkg-price, .pp-buy .tc-pick .p { font-size:15px; font-weight:900; color:var(--primary2); }
.pp-buy .tc-pick .p.free { color:#16a34a; }
.pp-buy .pkg-sub, .pp-buy .tc-pick .s { font-size:11.5px; color:var(--muted); margin-top:2px; line-height:1.4; }
.pp-buy .tc-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(102px,1fr)); gap:8px; }
.pp-buy .tc-opt { margin-bottom:16px; }
.pp-buy .tc-lbl { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:7px; }
.pp-buy .tc-lbl h4 { font-size:13px; font-weight:800; color:var(--dark); }
.pp-buy .tc-lbl .tc-hint { font-size:11.5px; color:var(--muted); }
.pp-buy .tc-diagram { display:none; }
.pp-buy .tc-summary { background:var(--light); border:1px solid #e2e8f0; border-radius:12px;
  padding:14px 16px; margin:4px 0 16px; }
.pp-buy .tc-summary h4 { font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase;
  color:var(--muted); margin-bottom:9px; }
.pp-buy .tc-line { display:flex; justify-content:space-between; gap:10px; padding:4px 0;
  font-size:12.5px; color:var(--muted); border-bottom:none; }
.pp-buy .tc-line .v { color:var(--dark); font-weight:700; white-space:nowrap; }
.pp-buy .tc-line.free .v { color:#16a34a; }
.pp-buy .tc-tot, .pp-buy .tc-save { display:none; }

/* ─── Legal pages ─── */
.legal-wrap { max-width:820px; margin:0 auto; padding:8px 24px 20px; }
.legal-wrap h2 { font-size:19px; font-weight:900; color:var(--dark); margin:34px 0 10px; padding-top:6px; }
.legal-wrap h2:first-of-type { margin-top:8px; }
.legal-wrap h3 { font-size:15px; font-weight:800; color:var(--dark); margin:20px 0 7px; }
.legal-wrap p, .legal-wrap li { font-size:14.5px; color:var(--muted); line-height:1.8; }
.legal-wrap p { margin-bottom:13px; }
.legal-wrap ul { margin:0 0 15px; padding-left:20px; }
.legal-wrap li { margin-bottom:6px; }
.legal-wrap strong { color:var(--dark); font-weight:800; }
.legal-note { background:#fff7ed; border:1px solid #fed7aa; border-left:4px solid #f97316;
  border-radius:0 10px 10px 0; padding:16px 20px; margin:18px 0; }
.legal-note p { color:#7c2d12; margin:0; font-size:14px; }
.legal-note strong { color:#c2410c; }
.legal-ok { background:#f0fdf4; border:1px solid #bbf7d0; border-left:4px solid #22c55e;
  border-radius:0 10px 10px 0; padding:16px 20px; margin:18px 0; }
.legal-ok p { color:#14532d; margin:0; font-size:14px; }
.legal-ok strong { color:#166534; }
.legal-toc { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 30px; }
.legal-toc button { background:#fff; border:1px solid #e2e8f0; border-radius:999px; padding:6px 13px;
  font-size:12.5px; font-weight:700; color:var(--muted); cursor:pointer; font-family:inherit; }
.legal-toc button:hover { border-color:var(--primary); color:var(--primary); }
.legal-updated { font-size:12.5px; color:var(--muted); padding-bottom:14px; border-bottom:1px solid #e2e8f0; margin-bottom:6px; }

/* ─── Facilities band ─── */
.fac-band { background:#0F172A; padding:52px 24px; }
.fac-inner { max-width:1080px; margin:0 auto; }
.fac-head { text-align:center; margin-bottom:32px; }
.fac-head .eyebrow { color:#FF6600; font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; margin-bottom:11px; }
.fac-head h2 { color:#fff; font-size:clamp(24px,4vw,33px); font-weight:900; margin-bottom:11px; line-height:1.25; }
.fac-head p { color:rgba(255,255,255,.62); font-size:15.5px; max-width:600px; margin:0 auto; line-height:1.7; }
.fac-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin-bottom:22px; }
.fac-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:20px 22px; }
.fac-card .st { font-size:11px; font-weight:800; letter-spacing:1.6px; color:#FF9A4D; margin-bottom:7px; }
.fac-card h4 { color:#fff; font-size:16.5px; font-weight:900; margin-bottom:5px; }
.fac-card p { color:rgba(255,255,255,.68); font-size:13px; line-height:1.6; margin:0; }
.fac-foot { text-align:center; color:rgba(255,255,255,.68); font-size:13px; line-height:1.75; }
.fac-foot strong { color:rgba(255,255,255,.85); }

/* product card photos replace emoji */
.card-photo { display:block; width:100%; height:auto; aspect-ratio:5/4; object-fit:cover;
  border-radius:12px; margin:-4px 0 14px; background:#F1F5F9; }

/* ── portfolio ── */
.pf-note { max-width:760px; margin:0 auto 24px; background:#F8FAFC; border:1px solid #E2E8F0;
  border-left:3px solid var(--primary); border-radius:10px; padding:14px 18px;
  font-size:13px; line-height:1.7; color:var(--muted); }
.pf-note strong { color:var(--ink); }
.pf-jump { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:6px; }
.pf-jump button { border:1px solid #E2E8F0; background:#fff; color:var(--ink); font-weight:700;
  font-size:13px; padding:8px 15px; border-radius:999px; cursor:pointer; transition:.15s; font-family:inherit; }
.pf-jump button:hover { border-color:var(--primary); color:var(--primary); }
.pf-sec { padding:44px 0 8px; scroll-margin-top:110px; }
.pf-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px;
  flex-wrap:wrap; border-bottom:2px solid #F1F5F9; padding-bottom:14px; margin-bottom:14px; }
.pf-head h2 { font-size:clamp(21px,2.5vw,28px); margin:0; }
.pf-spec { font-size:12.5px; color:var(--muted); margin-top:5px; font-weight:600; }
.pf-intro { font-size:14px; color:var(--muted); line-height:1.75; max-width:760px; margin:0 0 22px; }
.pf-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:20px; }
.pf-item { margin:0; background:#fff; border:1px solid #E2E8F0; border-radius:12px;
  overflow:hidden; transition:.18s; }
.pf-item:hover { border-color:#CBD5E1; box-shadow:0 8px 22px rgba(15,23,42,.08); transform:translateY(-2px); }
.pf-item img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; background:#F1F5F9; }
.pf-item figcaption { padding:13px 15px 15px; }
.pf-item h3 { font-size:14.5px; margin:0 0 5px; line-height:1.35; }
.pf-item p { font-size:12px; color:var(--muted); line-height:1.65; margin:0; }
@media (max-width:640px){ .pf-grid { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; } }
.nav-phone { font-size:14px; font-weight:800; color:var(--dark); text-decoration:none;
  padding:7px 12px; border-radius:8px; white-space:nowrap; letter-spacing:.2px; }
.nav-phone:hover { color:var(--primary); background:rgba(249,115,22,.07); }
@media (max-width:1024px){ .nav-phone { display:none; } }

.nav-drop { position:relative; display:inline-block; }
.nav-drop-btn { display:inline-flex; align-items:center; gap:5px; }
.nav-drop-btn .caret { font-size:10px; opacity:.6; }
.nav-menu { position:absolute; top:calc(100% + 6px); left:0; min-width:196px; background:#fff;
  border:1px solid #E2E8F0; border-radius:12px; box-shadow:0 14px 34px rgba(15,23,42,.13);
  padding:7px; opacity:0; visibility:hidden; transform:translateY(-5px); transition:.16s; z-index:120; }
.nav-drop:hover .nav-menu, .nav-drop:focus-within .nav-menu { opacity:1; visibility:visible; transform:translateY(0); }
.nav-menu a { display:block; padding:9px 12px; border-radius:8px; font-size:14px; font-weight:600;
  color:var(--ink); text-decoration:none; white-space:nowrap; }
.nav-menu a:hover { background:#F8FAFC; color:var(--primary); }

/* ── design-critique fixes ───────────────────────────────────────────────── */
.mob-sec { font-size:11px; font-weight:800; letter-spacing:.9px; text-transform:uppercase;
  color:var(--muted); padding:14px 16px 4px; }
.mob-cta { display:flex; flex-direction:column; gap:10px; padding:16px 8px 4px;
  margin-top:8px; border-top:1px solid #f0f0f0; }
.mob-cta .btn { padding:14px 20px; font-size:15px; }
.btn-alt { background:#fff; color:var(--dark); border:2px solid #E2E8F0; }
.btn-alt:hover { border-color:var(--primary); color:var(--primary); }

/* 44px minimum touch targets on touch-sized viewports */
@media (max-width:768px) {
  .btn, .nav-btn, .mob-btn, .ai-send { min-height:44px; }
  .ai-chip { min-height:44px; display:inline-flex; align-items:center; }
  .nav-menu a { min-height:44px; display:flex; align-items:center; }
  .foot-link { padding:12px 0; }
}

/* ── AI Design nav pill ──────────────────────────────────────────────────── */
.nav-new { color:var(--dark) !important; font-weight:800 !important; }
.nav-tag { display:inline-block; margin-left:5px; font-size:9.5px; font-weight:900; letter-spacing:.6px;
  text-transform:uppercase; background:var(--grad); color:#fff; padding:2px 7px; border-radius:999px;
  vertical-align:middle; position:relative; top:-1px; }

/* ── footer: state strip ─────────────────────────────────────────────────── */
.foot-states { max-width:1200px; margin:28px auto 0; padding:16px 0 0; border-top:1px solid #1E293B; font-size:13px; color:#64748B; line-height:2; text-align:center; }
.foot-states span { display:block; color:#94A3B8; font-weight:700; margin-bottom:2px; }
.foot-states a { color:#94A3B8; text-decoration:none; }
.foot-states a:hover { color:#fff; }
.foot-grid { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important; }
/* -- mobile pass v2 -- */
@media (max-width:768px){
  html{-webkit-text-size-adjust:100%}
  body{overflow-x:hidden}
  .nav-inner{padding:0 14px;height:60px}
  .logo-text{font-size:20px}
  .mob-toggle{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;margin:0 -6px 0 0;padding:0;border-radius:10px;cursor:pointer;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.4' stroke-linecap='round'><path d='M4 7h16M4 12h16M4 17h16'/></svg>") center/26px no-repeat}
  .mob-toggle.open{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.4' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>")}
  .mob-menu{max-height:calc(100vh - 60px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .mob-btn{padding:13px 16px;font-size:16px;min-height:46px;text-decoration:none}
  .fedex-strip{font-size:11px;letter-spacing:.35px;padding:7px 12px;line-height:1.45}
  .section{padding:40px 18px}
  h2{letter-spacing:-.4px}
  .hero{padding:44px 18px 40px}
  .speed-badge{font-size:11px;padding:8px 14px;letter-spacing:.6px;margin-bottom:18px}
  .hero h1{font-size:clamp(34px,10.5vw,44px);letter-spacing:-1.5px;line-height:1.02;margin-bottom:16px}
  .hero h1 .grad-text{margin-top:6px!important}
  .hero p{font-size:16px;line-height:1.55;margin-bottom:14px}
  .hero .btn-group{flex-direction:column;gap:10px;margin-top:6px}
  .hero .btn-group .btn{width:100%;justify-content:center;padding:15px 20px;font-size:16px}
  .hero-kit{font-size:13px;padding:9px 14px;line-height:1.4;display:block;text-align:center}
  .trust-strip{margin-top:26px;padding-top:18px;gap:8px 14px}
  .trust-item{font-size:12px}
  /* homepage product grid: compact 2-up cards */
  #all-products .g3{grid-template-columns:1fr 1fr;gap:10px}
  #all-products .card{padding:12px 12px 14px;border-top-width:3px}
  #all-products .card-photo{height:110px;object-fit:cover;margin:-12px -12px 10px;width:calc(100% + 24px);max-width:none;border-radius:11px 11px 0 0}
  #all-products .card h3{font-size:15px;line-height:1.25;margin-bottom:4px}
  #all-products .card p{display:none}
  #all-products .card > div:nth-of-type(1){font-size:18px!important}
  #all-products .card > div:nth-of-type(2){display:none}
  #all-products .card .btn{width:100%;padding:10px 6px;font-size:12.5px;justify-content:center}
  /* product pages */
  .pp-top{grid-template-columns:minmax(0,1fr)!important}
  .pp-top>*{min-width:0}
  .tc-row{grid-template-columns:repeat(2,1fr)!important}
  .pp-buy{padding:16px 14px}
  .pp-opts{grid-template-columns:1fr 1fr!important;gap:8px}
  .pkg-option{padding:12px 8px}
  .pkg-name{font-size:15px}
  .pkg-price{font-size:15px}
  .pkg-sub{font-size:12px}
  .pp-tabbar{flex-wrap:wrap;gap:6px;border-bottom:none;overflow:visible}
  .pp-tab{padding:9px 13px;font-size:13px;border:1.5px solid #e2e8f0;border-radius:999px;margin-bottom:0}
  .pp-tab.on{background:var(--dark);color:#fff;border-color:var(--dark)}
  .cw-open{min-height:44px;padding:8px 0}
  input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:16px!important}
  .btn-lg{padding:15px 22px;font-size:16px}
  /* sticky order bar */
  body.has-sb{padding-bottom:74px}
  .sb-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -6px 20px rgba(15,23,42,.10)}
  body.has-sb .sb-bar.show{display:flex}
  .sb-bar .sb-txt{flex:1;min-width:0;line-height:1.2}
  .sb-bar .sb-lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#64748B}
  .sb-bar .sb-total{display:block;font-size:20px;font-weight:900;color:var(--dark)}
  .sb-bar .btn{padding:13px 20px;font-size:15px;white-space:nowrap}
  .sb-pulse{animation:sbPulse 1.2s ease}
  @keyframes sbPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}40%{box-shadow:0 0 0 8px rgba(239,68,68,.35)}}
  /* blog nav */
  .blog-nav{padding:10px 14px;gap:8px}
  .blog-logo{white-space:nowrap;font-size:17px;flex-shrink:0}
  .blog-nav-links{display:flex;gap:6px;align-items:center}
  .blog-nav-links .btn-nav{white-space:nowrap;padding:9px 12px;font-size:13px}
  .blog-prods{padding:8px 14px}
  /* misc bands */
  .cb-card{padding:22px 0}
  .cb-copy h2{font-size:24px}
  footer{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
}
@media (max-width:420px){
  .hero h1{font-size:clamp(32px,10vw,40px)}
  #all-products .card .btn{font-size:12px}
}
/* /vs/ and /answers/ pages put their copy in bare section.wrap blocks: a
   centred 1200px column with no side padding. Below 1240px the column is the
   viewport, so the text ran flush against the screen edge on every phone.
   !important because those sections carry inline padding shorthand. */
@media (max-width:1240px){
  .page>section.wrap{padding-left:20px!important;padding-right:20px!important}
}
/* -- /mobile pass -- */
