:root{
  --sp-blue:#0B3A75; --sp-blue-dark:#082a57; --sp-blue-tint:#EBF1FA;
  --sp-red:#D62828; --sp-red-dark:#b31e1e;
  --sp-grey900:#333333; --sp-grey600:#6b7280; --sp-grey300:#e2e5ea; --sp-grey100:#F5F6F8;
  --sp-kraft:#B98D5E; --sp-kraft-tint:#F6EEE3; --sp-sage:#6E8266; --sp-sage-tint:#EEF2EC;
  --sp-radius-sm:10px; --sp-radius-md:16px; --sp-radius-lg:22px;
  --sp-shadow-sm:0 1px 3px rgba(11,58,117,.06),0 1px 2px rgba(11,58,117,.08);
  --sp-shadow-md:0 8px 24px rgba(11,58,117,.08),0 2px 6px rgba(11,58,117,.06);
  --sp-font-display:'Sora',sans-serif; --sp-font-body:'Inter',sans-serif; --sp-font-mono:'IBM Plex Mono',monospace;
}
.sp-wrap{max-width:1400px;margin:0 auto;padding:0 40px;}
.sp-content{max-width:1200px;margin:0 auto;}
.sp-section{padding:96px 0;font-family:var(--sp-font-body);color:var(--sp-grey900);}
.sp-bg-grey{background:var(--sp-grey100);}
.sp-eyebrow{font-family:var(--sp-font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-kraft);font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.sp-eyebrow::before{content:"";width:22px;height:1.5px;background:var(--sp-red);display:inline-block;}
.sp-title{font-family:var(--sp-font-display);color:var(--sp-blue);font-size:clamp(26px,3vw,38px);font-weight:700;margin:0 0 16px;letter-spacing:-.01em;}
.sp-sub{color:var(--sp-grey600);font-size:16px;max-width:640px;margin:0 0 44px;}

/* hero additions (rendered inside WooCommerce's existing summary column) */
.sp-product-code{display:inline-flex;align-items:center;gap:8px;font-family:var(--sp-font-mono);font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--sp-blue);background:var(--sp-blue-tint);border:1px dashed var(--sp-blue);padding:6px 12px;border-radius:8px;margin-bottom:12px;}
.sp-feature-pills{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0;}
.sp-feature-pills span{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--sp-sage);background:var(--sp-sage-tint);padding:8px 14px;border-radius:999px;}
.sp-feature-pills svg{width:14px;height:14px;}
.sp-quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--sp-grey100);border-radius:var(--sp-radius-md);padding:22px;margin:0 0 26px;}
.sp-quick-facts dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--sp-grey600);font-family:var(--sp-font-mono);margin-bottom:4px;}
.sp-quick-facts dd{margin:0;font-weight:600;font-size:14.5px;}
.sp-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 12px;}
.sp-btn{border:none;border-radius:12px;padding:16px 26px;font-weight:700;font-size:15.5px;display:inline-flex;align-items:center;gap:10px;transition:transform .16s,box-shadow .16s,background .16s;}
.sp-btn svg{width:18px;height:18px;}
.sp-btn-primary{background:var(--sp-red);color:#fff;box-shadow:0 10px 24px rgba(214,40,40,.28);}
.sp-btn-primary:hover{background:var(--sp-red-dark);transform:translateY(-2px);}
.sp-btn-secondary{background:#25D366;color:#fff;box-shadow:0 10px 24px rgba(37,211,102,.28);}
.sp-btn-secondary:hover{transform:translateY(-2px);filter:brightness(.96);}
.sp-btn-tertiary{background:#fff;color:var(--sp-blue);border:1.5px solid var(--sp-grey300);}
.sp-btn-tertiary:hover{border-color:var(--sp-blue);transform:translateY(-2px);}
.sp-trust-note{font-size:13px;color:var(--sp-grey600);}

/* sticky mini cta */
.sp-sticky-cta{position:fixed;left:0;right:0;bottom:-100px;z-index:9999;background:#fff;border-top:1px solid var(--sp-grey300);box-shadow:0 -10px 30px rgba(11,58,117,.12);padding:14px 0;transition:bottom .3s ease;}
.sp-sticky-cta.show{bottom:0;}
.sp-sticky-cta .sp-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.sp-sticky-cta .sp-info{display:flex;align-items:center;gap:12px;}
.sp-swatch{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--sp-kraft-tint),#e4d3b3);flex:none;}
.sp-sticky-cta strong{font-family:var(--sp-font-mono);font-size:13px;color:var(--sp-blue);}
.sp-sticky-cta .sp-btns{display:flex;gap:10px;}
.sp-sticky-cta .sp-btn{padding:11px 18px;font-size:14px;}

/* highlight / print / addon / dl cards */
.sp-highlight-grid,.sp-print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sp-addon-grid,.sp-dl-grid,.sp-review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.sp-review-grid{grid-template-columns:repeat(3,1fr);}
.sp-hcard,.sp-pcard,.sp-dl-card{background:#fff;border:1px solid var(--sp-grey300);border-radius:var(--sp-radius-md);padding:26px 22px;transition:transform .2s,box-shadow .2s;}
.sp-hcard:hover,.sp-pcard:hover,.sp-dl-card:hover{transform:translateY(-6px);box-shadow:var(--sp-shadow-md);}
.sp-hcard .sp-icon,.sp-pcard .sp-icon,.sp-icard .sp-icon,.sp-dl-card .sp-icon{width:44px;height:44px;border-radius:12px;background:var(--sp-blue-tint);color:var(--sp-blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.sp-pcard .sp-icon{background:var(--sp-kraft-tint);color:var(--sp-kraft);}
.sp-hcard .sp-icon svg,.sp-pcard .sp-icon svg,.sp-dl-card .sp-icon svg{width:22px;height:22px;}
.sp-hcard h4,.sp-pcard h4,.sp-dl-card h4{font-size:15.5px;margin:0 0 6px;font-family:var(--sp-font-display);color:var(--sp-blue);}
.sp-hcard p,.sp-pcard p{margin:0;color:var(--sp-grey600);font-size:14px;}
.sp-pcard .sp-meta{font-family:var(--sp-font-mono);font-size:11.5px;color:var(--sp-blue);text-transform:uppercase;margin-top:8px;}
.sp-dl-link{font-size:13px;color:var(--sp-blue);font-weight:600;}

/* spec table */
.sp-spec-card{background:#fff;border:1px solid var(--sp-grey300);border-radius:var(--sp-radius-lg);overflow:hidden;box-shadow:var(--sp-shadow-sm);}
.sp-stamp-row{background:var(--sp-blue);color:#fff;padding:18px 28px;display:flex;justify-content:space-between;font-family:var(--sp-font-mono);font-size:13px;}
.sp-spec-table{width:100%;border-collapse:collapse;}
.sp-spec-table tr{border-bottom:1px solid var(--sp-grey300);}
.sp-spec-table tr:nth-child(even){background:var(--sp-grey100);}
.sp-spec-table th,.sp-spec-table td{text-align:left;padding:16px 28px;font-size:14.5px;}
.sp-spec-table th{font-family:var(--sp-font-mono);color:var(--sp-grey600);width:36%;text-transform:uppercase;font-size:11.5px;}
.sp-spec-table td{font-weight:600;}

/* customization */
.sp-custom-group{margin-bottom:32px;}
.sp-custom-group h4{font-size:15px;margin-bottom:12px;font-family:var(--sp-font-display);color:var(--sp-blue);}
.sp-option-row{display:flex;flex-wrap:wrap;gap:12px;}
.sp-opt-card{border:1.5px solid var(--sp-grey300);border-radius:12px;padding:14px 20px;font-size:14px;font-weight:600;background:#fff;transition:.16s;display:flex;align-items:center;gap:8px;}
.sp-opt-card:hover{border-color:var(--sp-blue);transform:translateY(-2px);}
.sp-opt-card.selected{border-color:var(--sp-red);background:#FFF4F4;color:var(--sp-red-dark);}
.sp-dot{width:8px;height:8px;border-radius:50%;background:var(--sp-grey300);}
.sp-opt-card.selected .sp-dot{background:var(--sp-red);}

/* colours */
.sp-colour-grid{display:flex;flex-wrap:wrap;gap:20px;}
.sp-colour-item{display:flex;flex-direction:column;align-items:center;gap:8px;width:84px;}
.sp-swatch{width:56px;height:56px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),var(--sp-shadow-sm);}
.sp-colour-item span{font-size:12px;color:var(--sp-grey600);}

/* pricing */
.sp-price-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--sp-radius-lg);overflow:hidden;box-shadow:var(--sp-shadow-md);}
.sp-price-table th{background:var(--sp-blue);color:#fff;font-family:var(--sp-font-mono);text-transform:uppercase;font-size:11.5px;padding:18px 20px;text-align:left;}
.sp-price-table td{padding:16px 20px;font-size:14.5px;border-bottom:1px solid var(--sp-grey300);}
.sp-price-table tr:nth-child(even) td{background:var(--sp-grey100);}
.sp-price-badge{background:var(--sp-sage-tint);color:var(--sp-sage);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;margin-left:8px;}
.sp-price-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.sp-price-notes div{background:var(--sp-grey100);border-radius:12px;padding:16px 18px;font-size:13.5px;color:var(--sp-grey600);}
.sp-price-notes strong{display:block;color:var(--sp-grey900);font-size:13.5px;margin-bottom:4px;}

/* addons */
.sp-addon-card{border:1px dashed var(--sp-grey300);border-radius:var(--sp-radius-md);padding:22px;}
.sp-tag{font-family:var(--sp-font-mono);font-size:11px;color:var(--sp-red);text-transform:uppercase;display:block;margin-bottom:8px;}
.sp-addon-card h4{font-size:15px;margin:0 0 6px;color:var(--sp-blue);font-family:var(--sp-font-display);}
.sp-addon-card p{margin:0;font-size:13px;color:var(--sp-grey600);}

/* timeline */
.sp-timeline{position:relative;display:flex;justify-content:space-between;gap:8px;padding-top:20px;}
.sp-timeline::before{content:"";position:absolute;top:40px;left:4%;right:4%;height:2px;background:repeating-linear-gradient(90deg,var(--sp-kraft) 0 10px,transparent 10px 18px);}
.sp-tstep{flex:1;text-align:center;position:relative;}
.sp-tstep .sp-num{width:44px;height:44px;border-radius:50%;background:#fff;border:2.5px solid var(--sp-kraft);color:var(--sp-blue);display:flex;align-items:center;justify-content:center;font-family:var(--sp-font-mono);font-weight:700;margin:0 auto 14px;position:relative;z-index:2;}
.sp-tstep h4{font-size:13.5px;font-weight:700;margin:0;}

/* industries */
.sp-industry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.sp-icard{background:#fff;border:1px solid var(--sp-grey300);border-radius:14px;padding:22px 14px;text-align:center;}
.sp-icard .sp-icon{margin:0 auto 12px;}
.sp-icard span{font-size:13.5px;font-weight:600;}

/* why choose */
.sp-why-section{background:var(--sp-blue);color:#fff;}
.sp-why-section .sp-title,.sp-why-section h2{color:#fff;}
.sp-why-section .sp-sub{color:#c9d8ee;}
.sp-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.sp-wcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--sp-radius-md);padding:26px;}
.sp-wcard .sp-icon{width:40px;height:40px;color:var(--sp-kraft);margin-bottom:14px;}
.sp-wcard h4{color:#fff;font-size:15.5px;margin:0 0 6px;}
.sp-wcard p{color:#c9d8ee;font-size:13.5px;margin:0;}

/* faq */
.sp-faq-list{max-width:820px;margin:0 auto;}
.sp-faq-item{border-bottom:1px solid var(--sp-grey300);}
.sp-faq-item summary{list-style:none;padding:22px 4px;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:15.5px;cursor:pointer;}
.sp-faq-item summary::-webkit-details-marker{display:none;}
.sp-plus{width:22px;height:22px;border-radius:50%;background:var(--sp-grey100);color:var(--sp-blue);display:flex;align-items:center;justify-content:center;font-size:16px;transition:transform .2s;}
.sp-faq-item[open] .sp-plus{transform:rotate(45deg);background:var(--sp-red);color:#fff;}
.sp-faq-item p{margin:0 0 22px;color:var(--sp-grey600);font-size:14.5px;}

/* related */
.sp-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.sp-rcard{display:block;background:#fff;border:1px solid var(--sp-grey300);border-radius:var(--sp-radius-md);overflow:hidden;transition:transform .2s,box-shadow .2s;}
.sp-rcard:hover{transform:translateY(-5px);box-shadow:var(--sp-shadow-md);}
.sp-thumb-img{aspect-ratio:1/1;overflow:hidden;background:var(--sp-kraft-tint);}
.sp-thumb-img img{width:100%;height:100%;object-fit:cover;}
.sp-rcard .sp-body{padding:16px 18px 20px;}
.sp-rcard .sp-code{font-family:var(--sp-font-mono);font-size:11px;color:var(--sp-grey600);}
.sp-rcard h4{font-size:14.5px;margin:4px 0 8px;color:var(--sp-grey900);}
.sp-rcard .sp-price{color:var(--sp-blue);font-weight:700;font-size:14px;}

/* reviews */
.sp-rev-card{background:#fff;border:1px solid var(--sp-grey300);border-radius:var(--sp-radius-md);padding:26px;}
.sp-stars{color:var(--sp-kraft);font-size:15px;margin-bottom:12px;letter-spacing:2px;}
.sp-rev-card p{font-size:14.5px;margin:0 0 18px;}
.sp-rev-who{display:flex;align-items:center;gap:12px;}
.sp-rev-avatar{width:40px;height:40px;border-radius:50%;background:var(--sp-blue-tint);color:var(--sp-blue);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--sp-font-mono);font-size:13px;}
.sp-rev-who strong{display:block;font-size:13.5px;}
.sp-rev-who span{font-size:12px;color:var(--sp-grey600);}

/* trust */
.sp-trust-strip{background:var(--sp-grey100);}
.sp-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.sp-tnum{font-family:var(--sp-font-mono);font-size:clamp(28px,3vw,40px);font-weight:700;color:var(--sp-blue);}
.sp-tlabel{font-size:13.5px;color:var(--sp-grey600);margin-top:4px;}

/* final cta */
.sp-final-cta{background:linear-gradient(135deg,var(--sp-blue),var(--sp-blue-dark));color:#fff;text-align:center;}
.sp-final-cta h2{color:#fff;font-family:var(--sp-font-display);font-size:clamp(26px,3.4vw,40px);margin:0 0 14px;}
.sp-final-cta p{color:#c9d8ee;font-size:16px;margin:0 0 30px;}

/* fade-up on scroll */
.sp-fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.sp-fade-up.sp-in{opacity:1;transform:translateY(0);}

@media (max-width:1080px){
  .sp-highlight-grid,.sp-print-grid,.sp-why-grid,.sp-addon-grid,.sp-related-grid,.sp-review-grid,.sp-dl-grid,.sp-industry-grid{grid-template-columns:repeat(2,1fr);}
  .sp-quick-facts{grid-template-columns:1fr 1fr;}
  .sp-trust-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .sp-wrap{padding:0 20px;}
  .sp-section{padding:64px 0;}
  .sp-highlight-grid,.sp-print-grid,.sp-why-grid,.sp-addon-grid,.sp-related-grid,.sp-review-grid,.sp-dl-grid,.sp-industry-grid{grid-template-columns:1fr;}
  .sp-cta-row{flex-direction:column;}
  .sp-cta-row .sp-btn{width:100%;justify-content:center;}
  .sp-price-notes{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  .sp-fade-up{transition:none;opacity:1;transform:none;}
}
