/* Components added in the 2026-11 services and pricing upgrade. Loaded after brand.css. */

.price-big{font-size:3.5rem;line-height:1;font-weight:900}
.price-note{color:rgba(255,255,255,.75)}
.price-from{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--purple2)}

.check-list{list-style:none;padding:0;margin:0}
.check-list li{position:relative;padding-left:1.6rem;line-height:1.5}
.check-list li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--purple2);font-weight:900}

.x-list{list-style:none;padding:0;margin:0}
.x-list li{position:relative;padding-left:1.6rem;line-height:1.5}
.x-list li::before{content:"+";position:absolute;left:.1rem;top:0;color:rgba(255,255,255,.55);font-weight:900}

.svc-card{display:flex;flex-direction:column;height:100%}
.svc-card .svc-body{flex:1 1 auto}
.svc-price{margin-top:1rem;font-size:1.5rem;font-weight:900}
.svc-price small{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--purple2);margin-bottom:.15rem}
.svc-card .quote-link{margin-top:1.25rem;align-self:flex-start}

.cat-nav{display:flex;flex-wrap:wrap;gap:.75rem}
.cat-nav a{padding:.6rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.03);font-size:.875rem;font-weight:700}
.cat-nav a:hover{border-color:rgba(168,85,247,.7);background:rgba(168,85,247,.08)}

.compare-table{width:100%;border-collapse:collapse;font-size:.95rem}
.compare-table th,.compare-table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.12);vertical-align:top}
.compare-table th{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--purple2)}
.compare-table td:last-child{white-space:nowrap;font-weight:800}
.table-wrap{overflow-x:auto}

.faq-list details{border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.04);padding:0 1.25rem;margin-top:.9rem}
.faq-list summary{cursor:pointer;list-style:none;padding:1.1rem 0;font-weight:800;font-size:1.05rem;display:flex;justify-content:space-between;gap:1rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--purple2);font-weight:900;font-size:1.3rem;line-height:1}
.faq-list details[open] summary::after{content:"\2212"}
.faq-list details > div{padding:0 0 1.2rem;color:rgba(255,255,255,.8);line-height:1.65}
.faq-group-title{margin-top:2.5rem}

.why-grid{display:grid;gap:1.5rem}
@media(min-width:768px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.why-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.hero-price-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.hero-price-strip span{padding:.5rem .9rem;border-radius:999px;border:1px solid rgba(168,85,247,.45);background:rgba(168,85,247,.1);font-size:.85rem;font-weight:700}

/* mobile sticky quote bar (injected by site.js, hidden on the contact page) */
.sticky-quote{display:none}
@media(max-width:767px){
  .sticky-quote{
    display:flex;align-items:center;justify-content:space-between;gap:.75rem;
    position:fixed;left:0;right:0;bottom:0;z-index:30;
    padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));
    background:rgba(5,5,7,.96);border-top:1px solid rgba(255,255,255,.14);
  }
  .sticky-quote span{font-size:.8rem;font-weight:700;line-height:1.25;color:rgba(255,255,255,.85)}
  .sticky-quote a{flex:none;padding:.75rem 1.25rem;border-radius:999px;font-weight:800;font-size:.9rem;
    background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff}
  body.has-sticky-quote{padding-bottom:4.5rem}
  body.mobile-menu-open .sticky-quote{display:none}
}
