/* ============================================================
   SAPPHIRE INTERNET — Sub-pages styles
   Dark streaming aesthetic matching homepage
   ============================================================ */

/* ---- BASE ---- */
body { background:#050505; color:#F8FAFC; font-family:'Outfit','Inter',sans-serif; }

/* ---- SHARED UTILITIES ---- */
.grad-text {
    background: linear-gradient(135deg,#6366F1,#8B5CF6,#06B6D4);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.section-label {
    display:inline-block; font-size:.73rem; font-weight:700; letter-spacing:.14em;
    text-transform:uppercase; color:#6366F1; background:rgba(99,102,241,.1);
    border:1px solid rgba(99,102,241,.22); padding:.38rem .95rem;
    border-radius:50px; margin-bottom:1.25rem;
}
.section-title {
    font-size:clamp(1.9rem,4vw,2.8rem); font-weight:800; line-height:1.15;
    letter-spacing:-.03em; margin-bottom:.75rem; color:#F8FAFC;
}
.section-sub {
    font-size:1rem; color:#94A3B8; max-width:580px; line-height:1.7; margin-bottom:2.5rem;
}
.sp-section-head { text-align:center; }
.sp-section-head .section-sub { margin:0 auto 3rem; }

/* ---- HERO ---- */
.sp-hero {
    position:relative; min-height:60vh; display:flex; align-items:center;
    padding:8rem 0 5rem; overflow:hidden;
}
.sp-hero-mesh {
    position:absolute; inset:0;
    background:
        radial-gradient(ellipse 80% 60% at 20% 30%,rgba(99,102,241,.22) 0%,transparent 60%),
        radial-gradient(ellipse 60% 50% at 80% 70%,rgba(139,92,246,.18) 0%,transparent 60%),
        #050505;
}
.sp-hero-inner {
    position:relative; z-index:1; max-width:780px; margin:0 auto; text-align:center;
}
.sp-hero-title {
    font-size:clamp(2.2rem,5vw,3.6rem); font-weight:900; line-height:1.1;
    letter-spacing:-.04em; margin-bottom:1.2rem; color:#F8FAFC;
}
.sp-hero-sub {
    font-size:1.05rem; color:#94A3B8; line-height:1.75; max-width:640px;
    margin:0 auto 1.5rem;
}
.sp-disclaimer-pill {
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.78rem; font-weight:600; color:#64748B;
    background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
    padding:.4rem 1rem; border-radius:50px; margin-bottom:2.5rem;
}

/* Stats row */
.sp-stats-row {
    display:flex; align-items:center; justify-content:center;
    gap:1.5rem; flex-wrap:wrap;
}
.sp-stat { text-align:center; }
.sp-stat strong {
    display:block; font-size:1.7rem; font-weight:900;
    background:linear-gradient(135deg,#6366F1,#8B5CF6,#06B6D4);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text; line-height:1.1;
}
.sp-stat span { font-size:.78rem; color:#64748B; font-weight:500; letter-spacing:.04em; }
.sp-stat-div { width:1px; height:36px; background:rgba(255,255,255,.08); }

/* Contact options in hero */
.sp-contact-options {
    display:flex; gap:1.25rem; justify-content:center; flex-wrap:wrap; margin-top:2.5rem;
}
.sp-contact-opt {
    display:flex; align-items:center; gap:1rem;
    background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09);
    border-radius:16px; padding:1.25rem 1.5rem; text-decoration:none; color:#F8FAFC;
    transition:all .3s ease; min-width:200px; cursor:pointer;
}
.sp-contact-opt:hover { border-color:rgba(99,102,241,.35); transform:translateY(-3px); background:rgba(99,102,241,.06); }
.sp-co-icon {
    width:48px; height:48px; border-radius:12px; background:rgba(99,102,241,.14);
    border:1px solid rgba(99,102,241,.22); display:flex; align-items:center;
    justify-content:center; color:#6366F1; flex-shrink:0;
}
.sp-contact-opt h3 { font-size:.92rem; font-weight:700; margin-bottom:.15rem; }
.sp-contact-opt p  { font-size:.78rem; color:#64748B; margin:0 0 .3rem; }
.sp-co-value { font-size:.88rem; font-weight:700; color:#6366F1; }

/* ---- SECTIONS ---- */
.sp-section { padding:5rem 0; }

/* ---- TWO-COL SPLIT ---- */
.sp-split {
    display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
}
.sp-split-text h2 { margin-bottom:1.25rem; }
.sp-split-text p  { color:#94A3B8; line-height:1.8; margin-bottom:1rem; font-size:.95rem; }
.sp-split-img {
    border-radius:20px; overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.sp-split-img img { width:100%; height:420px; object-fit:cover; display:block; }

/* ---- ICON CARDS (4 or 3 column) ---- */
.sp-cards-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.sp-cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }

.sp-icon-card {
    background:#111118; border:1px solid rgba(255,255,255,.08);
    border-radius:20px; padding:2rem 1.5rem; transition:all .3s ease;
    position:relative; overflow:hidden;
}
.sp-icon-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(135deg,#6366F1,#8B5CF6,#EC4899); opacity:0; transition:opacity .3s ease;
}
.sp-icon-card:hover { border-color:rgba(99,102,241,.3); transform:translateY(-5px); box-shadow:0 20px 45px rgba(0,0,0,.4); }
.sp-icon-card:hover::before { opacity:1; }

.sp-ic-icon {
    width:48px; height:48px; border-radius:12px;
    background:rgba(99,102,241,.12); border:1px solid rgba(99,102,241,.2);
    display:flex; align-items:center; justify-content:center;
    color:#6366F1; margin-bottom:1.25rem; transition:all .3s ease;
}
.sp-icon-card:hover .sp-ic-icon { background:linear-gradient(135deg,#6366F1,#EC4899); border-color:transparent; color:#fff; }

.sp-ic-green { background:rgba(16,185,129,.12); border-color:rgba(16,185,129,.2); color:#10B981; }
.sp-icon-card:hover .sp-ic-green { background:linear-gradient(135deg,#10B981,#059669); color:#fff; }
.sp-ic-red   { background:rgba(239,68,68,.1);  border-color:rgba(239,68,68,.2);  color:#EF4444; }
.sp-icon-card:hover .sp-ic-red   { background:linear-gradient(135deg,#EF4444,#DC2626); color:#fff; }

.sp-card-yes { border-color:rgba(16,185,129,.15); }
.sp-card-no  { border-color:rgba(239,68,68,.12); }

.sp-icon-card h3 { font-size:1rem; font-weight:700; margin-bottom:.6rem; color:#F8FAFC; }
.sp-icon-card p  { font-size:.86rem; color:#94A3B8; line-height:1.6; margin:0; }

/* ---- DO / DON'T GRID ---- */
.sp-do-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }

.sp-do-col { background:#111118; border:1px solid rgba(255,255,255,.08); border-radius:24px; padding:2rem; }
.sp-do-yes { border-color:rgba(16,185,129,.2); }
.sp-do-no  { border-color:rgba(239,68,68,.15); }

.sp-do-header { margin-bottom:1.75rem; }
.sp-do-badge {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.72rem; font-weight:700; letter-spacing:.06em;
    padding:.35rem .85rem; border-radius:20px; margin-bottom:.75rem;
}
.sp-do-green { background:rgba(16,185,129,.15); color:#10B981; border:1px solid rgba(16,185,129,.25); }
.sp-do-red   { background:rgba(239,68,68,.12);  color:#EF4444; border:1px solid rgba(239,68,68,.2); }
.sp-do-header h3 { font-size:1.05rem; font-weight:700; color:#F8FAFC; margin:0; }

.sp-do-list { display:flex; flex-direction:column; gap:1rem; }
.sp-do-item { display:flex; gap:.85rem; align-items:flex-start; }
.sp-do-icon {
    width:28px; height:28px; border-radius:8px; display:flex; align-items:center;
    justify-content:center; flex-shrink:0; margin-top:.1rem;
}
.sp-do-icon-green { background:rgba(16,185,129,.15); color:#10B981; }
.sp-do-icon-red   { background:rgba(239,68,68,.12);  color:#EF4444; }
.sp-do-item h4 { font-size:.9rem; font-weight:700; margin-bottom:.2rem; color:#F8FAFC; }
.sp-do-item p  { font-size:.83rem; color:#94A3B8; line-height:1.5; margin:0; }

/* ---- TEAM ---- */
.sp-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }

.sp-team-card {
    background:#111118; border:1px solid rgba(255,255,255,.08);
    border-radius:20px; padding:2rem; text-align:center; transition:all .3s ease;
}
.sp-team-card:hover { border-color:rgba(99,102,241,.3); transform:translateY(-5px); box-shadow:0 15px 40px rgba(0,0,0,.3); }
.sp-team-img {
    width:80px; height:80px; border-radius:50%; overflow:hidden;
    margin:0 auto 1.25rem; border:2px solid rgba(99,102,241,.3);
    background:linear-gradient(135deg,#6366F1,#EC4899);
}
.sp-team-img img { width:100%; height:100%; object-fit:cover; display:block; }
.sp-team-card h3 { font-size:1.05rem; font-weight:700; margin-bottom:.3rem; color:#F8FAFC; }
.sp-team-role { font-size:.82rem; color:#6366F1; font-weight:600; display:block; margin-bottom:.75rem; }
.sp-team-card p { font-size:.84rem; color:#94A3B8; line-height:1.6; margin:0; }

/* ---- SERVICES LIST ---- */
.sp-services-list { display:flex; flex-direction:column; gap:5rem; }

.sp-service-row {
    display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
}
.sp-service-row-rev { direction:rtl; }
.sp-service-row-rev > * { direction:ltr; }

.sp-service-icon-wrap {
    width:52px; height:52px; border-radius:14px;
    background:rgba(99,102,241,.12); border:1px solid rgba(99,102,241,.2);
    display:flex; align-items:center; justify-content:center;
    color:#6366F1; margin-bottom:1.25rem;
}
.sp-service-text h2 { font-size:clamp(1.6rem,3vw,2.2rem); font-weight:800; margin-bottom:1rem; line-height:1.2; }
.sp-service-text p  { color:#94A3B8; line-height:1.8; margin-bottom:1.5rem; font-size:.95rem; }

.sp-service-features { list-style:none; display:flex; flex-direction:column; gap:.65rem; margin-bottom:1.75rem; }
.sp-service-features li {
    display:flex; align-items:center; gap:.7rem;
    font-size:.9rem; color:#CBD5E1;
}
.sp-service-features li svg { color:#6366F1; flex-shrink:0; }

.sp-service-img { border-radius:20px; overflow:hidden; border:1px solid rgba(255,255,255,.08); box-shadow:0 20px 60px rgba(0,0,0,.5); }
.sp-service-img img { width:100%; height:360px; object-fit:cover; display:block; }

/* ---- CONTACT PAGE ---- */
.sp-contact-layout {
    display:grid; grid-template-columns:1.3fr 1fr; gap:4rem; align-items:start;
}

.sp-form { display:flex; flex-direction:column; gap:1.1rem; }
.sp-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.sp-form-group { display:flex; flex-direction:column; gap:.4rem; }
.sp-form-group label { font-size:.83rem; font-weight:600; color:#CBD5E1; }
.sp-form-group input,
.sp-form-group select,
.sp-form-group textarea {
    padding:.8rem 1rem; background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1); border-radius:12px;
    color:#F8FAFC; font-family:'Outfit','Inter',sans-serif; font-size:.9rem;
    transition:all .3s ease; outline:none;
}
.sp-form-group input:focus,
.sp-form-group select:focus,
.sp-form-group textarea:focus { border-color:#6366F1; background:rgba(99,102,241,.06); box-shadow:0 0 0 3px rgba(99,102,241,.14); }
.sp-form-group textarea { resize:vertical; min-height:130px; }
.sp-form-group select { cursor:pointer; }
.sp-form-group select option { background:#111118; color:#F8FAFC; }

.sp-contact-info-col { display:flex; flex-direction:column; gap:1rem; }

.sp-contact-info-card {
    display:flex; gap:1rem; align-items:flex-start;
    background:#111118; border:1px solid rgba(255,255,255,.08);
    border-radius:16px; padding:1.4rem; transition:all .3s ease;
}
.sp-contact-info-card:hover { border-color:rgba(99,102,241,.25); }
.sp-disclaimer-card { border-color:rgba(99,102,241,.2); background:rgba(99,102,241,.05); }
.sp-cic-icon {
    width:40px; height:40px; border-radius:10px; background:rgba(99,102,241,.12);
    border:1px solid rgba(99,102,241,.2); display:flex; align-items:center;
    justify-content:center; color:#6366F1; flex-shrink:0;
}
.sp-contact-info-card h4 { font-size:.9rem; font-weight:700; margin-bottom:.25rem; color:#F8FAFC; }
.sp-contact-info-card p  { font-size:.82rem; color:#94A3B8; line-height:1.5; margin:0; }

.sp-support-types { background:#111118; border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:1.5rem; }
.sp-support-types h4 { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#94A3B8; margin-bottom:1rem; }
.sp-support-item {
    display:flex; align-items:center; gap:.6rem;
    font-size:.85rem; color:#CBD5E1; padding:.4rem 0;
    border-bottom:1px solid rgba(255,255,255,.05);
}
.sp-support-item:last-child { border-bottom:none; }
.sp-support-item svg { color:#6366F1; flex-shrink:0; }

/* ---- CTA SECTION ---- */
.sp-cta-section {
    padding:6rem 0;
    background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(139,92,246,.08),rgba(5,5,5,1));
    border-top:1px solid rgba(99,102,241,.15);
}
.sp-cta-box { max-width:680px; margin:0 auto; text-align:center; }
.sp-cta-box h2 { font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.03em; margin:1rem 0 1.25rem; }
.sp-cta-box p  { color:#94A3B8; line-height:1.7; margin-bottom:2rem; }
.sp-cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ---- LEGAL PAGE STYLING ---- */
.legal-page {
    min-height:100vh;
}

.legal-header {
    padding:8rem 0 4rem; text-align:center;
    background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(99,102,241,.18),transparent),#050505;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.legal-header h1 {
    font-size:clamp(2rem,4.5vw,3.2rem); font-weight:900; letter-spacing:-.04em;
    margin-bottom:.75rem;
    background:linear-gradient(135deg,#6366F1,#8B5CF6,#06B6D4);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.legal-header p, .legal-subtitle { color:#94A3B8; font-size:1rem; max-width:560px; margin:0 auto; line-height:1.7; }
.legal-meta { display:flex; gap:1.5rem; justify-content:center; margin-top:1rem; flex-wrap:wrap; }
.legal-meta span { font-size:.78rem; color:#64748B; }

.legal-content {
    max-width:860px; margin:0 auto; padding:4rem 1.5rem 6rem;
}

.legal-section { margin-bottom:3rem; }
.legal-section h2 {
    font-size:1.3rem; font-weight:700; color:#F8FAFC; margin-bottom:1rem;
    padding-bottom:.75rem; border-bottom:1px solid rgba(255,255,255,.07);
}
.legal-section h3 { font-size:1rem; font-weight:700; color:#CBD5E1; margin:1.25rem 0 .5rem; }
.legal-section h4 { font-size:.95rem; font-weight:700; color:#CBD5E1; margin:.75rem 0 .3rem; }
.legal-section p  { color:#94A3B8; line-height:1.8; font-size:.92rem; margin-bottom:.9rem; }
.legal-section ul, .legal-section ol { color:#94A3B8; line-height:1.8; font-size:.92rem; padding-left:1.5rem; margin-bottom:1rem; }
.legal-section li { margin-bottom:.35rem; }
.legal-section a  { color:#6366F1; text-decoration:none; }
.legal-section a:hover { text-decoration:underline; }
.legal-section strong { color:#CBD5E1; }

.legal-subsection {
    background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07);
    border-radius:14px; padding:1.5rem; margin-bottom:1.25rem;
}
.legal-subsection h3 { margin-top:0; }

/* Info/security/rights grids used in privacy policy */
.info-grid, .security-features, .rights-grid, .contact-details {
    display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin:1.25rem 0;
}
.info-card, .security-item, .right-item, .contact-method {
    background:#111118; border:1px solid rgba(255,255,255,.08);
    border-radius:14px; padding:1.25rem; transition:all .3s ease;
}
.info-card:hover, .security-item:hover, .right-item:hover { border-color:rgba(99,102,241,.25); }
.info-icon {
    width:36px; height:36px; border-radius:8px; background:rgba(99,102,241,.12);
    display:flex; align-items:center; justify-content:center; color:#6366F1;
    margin-bottom:.75rem;
}
.info-icon svg { width:18px; height:18px; }
.info-card h4, .security-item h4, .right-item h4, .contact-method h4 {
    font-size:.92rem; font-weight:700; color:#F8FAFC; margin-bottom:.4rem;
}
.info-card p, .security-item p, .right-item p {
    font-size:.83rem; color:#94A3B8; line-height:1.5; margin:0;
}
.contact-method a { color:#6366F1; font-weight:600; text-decoration:none; }
.contact-method a:hover { text-decoration:underline; }

/* Term cards in terms page */
.term-card {
    background:#111118; border:1px solid rgba(255,255,255,.08);
    border-radius:14px; padding:1.25rem; margin-bottom:1rem; transition:all .3s ease;
}
.term-card:hover { border-color:rgba(99,102,241,.25); }
.term-card h4 { font-size:.92rem; font-weight:700; color:#F8FAFC; margin-bottom:.35rem; }
.term-card p  { font-size:.83rem; color:#94A3B8; line-height:1.6; margin:0; }

/* ---- FOOTER ---- */
.sp-footer { background:#0D0D0D; border-top:1px solid rgba(255,255,255,.06); }

.sp-footer-grid {
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem;
    padding:4rem 0 2rem;
}
.sp-footer-brand p { font-size:.84rem; color:#64748B; line-height:1.7; margin:.75rem 0 1rem; }

.sp-footer-logo {
    display:flex; align-items:center; gap:.5rem;
}
.sp-footer-phone {
    display:inline-flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:700;
    color:#F8FAFC; padding:.45rem .95rem; background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1); border-radius:50px; text-decoration:none;
    transition:all .3s ease;
}
.sp-footer-phone:hover { border-color:#6366F1; color:#6366F1; }

.sp-footer-col h4 {
    font-size:.8rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
    color:#F8FAFC; margin-bottom:1.1rem;
}
.sp-footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.sp-footer-col a { font-size:.84rem; color:#64748B; text-decoration:none; transition:color .3s ease; }
.sp-footer-col a:hover { color:#6366F1; }

.sp-footer-bottom {
    border-top:1px solid rgba(255,255,255,.06); padding:1.5rem 0; text-align:center;
}
.sp-footer-bottom p { font-size:.76rem; color:#64748B; }

/* ---- PRICING CARDS ---- */
.sp-pricing-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-bottom:2rem;
}
.sp-price-card {
    background:#111118; border:1px solid rgba(255,255,255,.08);
    border-radius:24px; padding:2rem; display:flex; flex-direction:column;
    gap:1.5rem; position:relative; overflow:hidden; transition:all .3s ease;
}
.sp-price-card:hover { border-color:rgba(99,102,241,.3); transform:translateY(-5px); box-shadow:0 20px 50px rgba(0,0,0,.4); }
.sp-price-featured {
    background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(139,92,246,.08));
    border-color:rgba(99,102,241,.35);
    box-shadow:0 0 40px rgba(99,102,241,.12);
}
.sp-pc-badge {
    position:absolute; top:1.25rem; right:1.25rem;
    font-size:.7rem; font-weight:700; letter-spacing:.06em;
    background:linear-gradient(135deg,#6366F1,#EC4899); color:#fff;
    padding:.3rem .8rem; border-radius:20px;
}
.sp-pc-header { display:flex; flex-direction:column; gap:.5rem; }
.sp-pc-icon {
    width:48px; height:48px; border-radius:12px; background:rgba(99,102,241,.12);
    border:1px solid rgba(99,102,241,.2); display:flex; align-items:center;
    justify-content:center; color:#6366F1;
}
.sp-pc-icon-grad { background:linear-gradient(135deg,#6366F1,#EC4899); border-color:transparent; color:#fff; }
.sp-pc-header h3 { font-size:1.1rem; font-weight:700; color:#F8FAFC; }
.sp-pc-header p  { font-size:.83rem; color:#94A3B8; margin:0; }
.sp-pc-price { display:flex; align-items:baseline; gap:.1rem; }
.sp-pc-price span { font-size:2.8rem; font-weight:900; color:#F8FAFC; }
.sp-pc-price small { font-size:1.1rem; color:#94A3B8; }
.sp-pc-price-grad span {
    background:linear-gradient(135deg,#6366F1,#8B5CF6);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.sp-pc-features { list-style:none; display:flex; flex-direction:column; gap:.65rem; flex:1; }
.sp-pc-features li { display:flex; align-items:center; gap:.6rem; font-size:.88rem; color:#CBD5E1; }
.sp-pc-features li svg { color:#6366F1; flex-shrink:0; }

.sp-pricing-disclaimer {
    display:flex; align-items:flex-start; gap:.75rem;
    background:rgba(99,102,241,.07); border:1px solid rgba(99,102,241,.18);
    border-radius:14px; padding:1.25rem 1.5rem; color:#94A3B8;
}
.sp-pricing-disclaimer p { font-size:.84rem; line-height:1.7; margin:0; }
.sp-pricing-disclaimer a { color:#6366F1; text-decoration:none; }
.sp-pricing-disclaimer a:hover { text-decoration:underline; }
.sp-pricing-disclaimer svg { color:#6366F1; margin-top:.1rem; }

/* ---- RESPONSIVE ---- */
@media (max-width:1024px) {
    .sp-pricing-grid { grid-template-columns:1fr; max-width:480px; margin-left:auto; margin-right:auto; }

    .sp-cards-4       { grid-template-columns:1fr 1fr; }
    .sp-cards-3       { grid-template-columns:1fr 1fr; }
    .sp-split         { grid-template-columns:1fr; gap:2rem; }
    .sp-split-img img { height:280px; }
    .sp-service-row   { grid-template-columns:1fr; gap:2rem; }
    .sp-service-row-rev { direction:ltr; }
    .sp-do-grid       { grid-template-columns:1fr; }
    .sp-team-grid     { grid-template-columns:1fr 1fr; }
    .sp-contact-layout{ grid-template-columns:1fr; }
    .sp-footer-grid   { grid-template-columns:1fr 1fr; gap:2rem; }
    .info-grid, .security-features, .rights-grid, .contact-details { grid-template-columns:1fr; }
}

@media (max-width:768px) {
    .sp-hero { padding:7rem 0 4rem; }
    .sp-hero-title { font-size:2.2rem; }
    .sp-cards-4, .sp-cards-3 { grid-template-columns:1fr; }
    .sp-stats-row { gap:.75rem; }
    .sp-stat-div  { width:40px; height:1px; }
    .sp-contact-options { flex-direction:column; align-items:stretch; }
    .sp-form-row  { grid-template-columns:1fr; }
    .sp-team-grid { grid-template-columns:1fr; }
    .sp-footer-grid { grid-template-columns:1fr; }
    .sp-services-list { gap:3rem; }
    .sp-service-img img { height:240px; }
}

@media (max-width:480px) {
    .sp-hero-title { font-size:1.9rem; }
    .sp-do-grid    { grid-template-columns:1fr; }
    .legal-content { padding:3rem 1rem 4rem; }
}
