.pricing-page { overflow-x: hidden; }
.pricing-hero { position: relative; padding: 96px 0 72px; overflow: clip; }
.pricing-hero::before { content:""; position:absolute; inset:-25% -10% auto auto; width:760px; height:760px; border-radius:50%; border:1px solid rgba(126,231,255,.08); box-shadow:inset 0 0 160px rgba(95,141,255,.07); pointer-events:none; }
.pricing-hero-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:center; }
.pricing-hero-copy h1 { font-size:clamp(3.4rem,7vw,6.2rem); }
.pricing-orbit-stage { position:relative; min-height:430px; display:grid; place-items:center; }
.pricing-orbit { position:absolute; border:1px solid rgba(126,231,255,.13); border-radius:50%; animation:pricingOrbit 18s linear infinite; }
.pricing-orbit-one { width:390px; height:390px; }
.pricing-orbit-two { width:300px; height:300px; animation-direction:reverse; animation-duration:14s; border-color:rgba(138,99,255,.15); }
.pricing-orbit-three { width:210px; height:210px; animation-duration:10s; }
.pricing-orbit-core { position:relative; z-index:2; width:190px; min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:25px; border:1px solid rgba(126,231,255,.28); border-radius:50%; background:radial-gradient(circle at 45% 25%,rgba(126,231,255,.13),transparent 38%),rgba(8,19,34,.92); box-shadow:0 0 90px rgba(95,141,255,.16),inset 0 0 50px rgba(126,231,255,.04); text-align:center; backdrop-filter:blur(20px); }
.pricing-orbit-core img { width:38px; margin-bottom:11px; }
.pricing-orbit-core span { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.11em; }
.pricing-orbit-core strong { margin-top:6px; font-size:2.15rem; line-height:1; letter-spacing:-.05em; }
.pricing-orbit-core small { margin-top:7px; color:var(--cyan); font-size:.7rem; }
.pricing-orbit-dot { position:absolute; z-index:3; width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 16px rgba(126,231,255,.9); }
.pricing-orbit-dot.dot-a { top:12%; left:46%; animation:floatDot 4.5s ease-in-out infinite; }
.pricing-orbit-dot.dot-b { right:13%; bottom:29%; animation:floatDot 5.5s ease-in-out infinite reverse; background:var(--violet); }
.pricing-orbit-dot.dot-c { left:15%; bottom:21%; animation:floatDot 4s ease-in-out infinite 1s; background:var(--green); }

.pricing-section { padding:95px 0 110px; }
.pricing-section-muted { border-block:1px solid var(--line); background:linear-gradient(180deg,rgba(8,19,34,.7),rgba(5,11,20,.45)); }
.pricing-intro { display:grid; grid-template-columns:1fr .75fr; gap:70px; align-items:end; margin-bottom:46px; }
.pricing-intro h2 { max-width:700px; }
.pricing-intro .lead { justify-self:end; font-size:1.03rem; }

.estimator-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(310px,.7fr); gap:18px; align-items:start; }
.estimator-card, .estimate-panel { border:1px solid var(--line); background:linear-gradient(150deg,rgba(15,30,51,.88),rgba(7,16,29,.88)); box-shadow:var(--shadow); }
.estimator-card { position:relative; min-height:690px; padding:34px; border-radius:var(--radius-lg); overflow:hidden; }
.estimator-card::after { content:""; position:absolute; top:-220px; right:-180px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(95,141,255,.09),transparent 68%); pointer-events:none; }
.estimator-progress { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; width:min(100%,420px); margin:0 0 42px; }
.progress-line { position:absolute; left:18px; right:18px; top:50%; height:1px; background:var(--line); overflow:hidden; }
.progress-line i { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet)); box-shadow:0 0 16px rgba(126,231,255,.45); transition:width 500ms cubic-bezier(.2,.8,.2,1); }
.progress-node { position:relative; z-index:2; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:50%; color:var(--muted); background:#0a1626; font-size:.75rem; font-weight:800; transition:all 300ms ease; }
.progress-node.active, .progress-node.complete { color:#06111f; border-color:transparent; background:linear-gradient(130deg,var(--cyan),#a5b8ff); box-shadow:0 0 25px rgba(126,231,255,.18); }
.progress-node.complete { transform:scale(.9); }

.estimator-step { position:absolute; z-index:1; inset:112px 34px 34px; opacity:0; visibility:hidden; transform:translateX(24px); transition:opacity 340ms ease,transform 420ms cubic-bezier(.2,.8,.2,1),visibility 0s linear 420ms; }
.estimator-step.active { position:relative; inset:auto; opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.step-heading { max-width:700px; margin-bottom:30px; }
.step-heading > span { color:var(--cyan); font-size:.7rem; font-weight:900; letter-spacing:.13em; }
.step-heading h3 { margin:9px 0 10px; font-size:clamp(1.9rem,4vw,3.1rem); }
.step-heading p { max-width:690px; color:var(--muted); }
.quantity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.quantity-card { padding:21px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.018); transition:transform 220ms ease,border-color 220ms ease,background 220ms ease; }
.quantity-card:hover { transform:translateY(-2px); border-color:rgba(126,231,255,.24); background:rgba(255,255,255,.03); }
.quantity-copy { display:grid; grid-template-columns:1fr auto; gap:3px 16px; align-items:center; }
.quantity-kicker { color:var(--muted-strong); font-size:.82rem; font-weight:750; }
.quantity-copy strong { grid-row:1/3; grid-column:2; font-size:2.1rem; line-height:1; letter-spacing:-.05em; }
.quantity-copy small { color:var(--muted); font-size:.67rem; }
.quantity-controls { display:grid; grid-template-columns:34px 1fr 34px; gap:11px; align-items:center; margin-top:22px; }
.quantity-controls button { width:34px; height:34px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.025); cursor:pointer; transition:all 180ms ease; }
.quantity-controls button:hover { border-color:rgba(126,231,255,.42); background:rgba(126,231,255,.08); transform:translateY(-1px); }
.quantity-controls input[type="range"] { width:100%; accent-color:var(--cyan); cursor:pointer; }
.quantity-controls input[type="range"]::-webkit-slider-runnable-track { height:5px; border-radius:999px; background:linear-gradient(90deg,rgba(126,231,255,.5),rgba(95,141,255,.25)); }
.quantity-controls input[type="range"]::-webkit-slider-thumb { margin-top:-5px; width:15px; height:15px; border:3px solid #06111f; border-radius:50%; background:var(--cyan); box-shadow:0 0 14px rgba(126,231,255,.55); appearance:none; }
.step-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:32px; }
.step-note { margin-right:auto; color:var(--muted); font-size:.75rem; }

.security-option { width:100%; display:grid; grid-template-columns:auto 1fr auto; gap:17px; align-items:center; padding:24px; border:1px solid rgba(126,231,255,.18); border-radius:20px; background:linear-gradient(135deg,rgba(126,231,255,.035),rgba(138,99,255,.02)); text-align:left; cursor:pointer; transition:transform 260ms ease,border-color 260ms ease,background 260ms ease,box-shadow 260ms ease; }
.security-option:hover { transform:translateY(-2px); border-color:rgba(126,231,255,.38); }
.security-option.selected { border-color:rgba(103,230,179,.5); background:linear-gradient(135deg,rgba(103,230,179,.09),rgba(95,141,255,.04)); box-shadow:0 18px 50px rgba(0,0,0,.16); }
.security-check { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:13px; background:rgba(255,255,255,.025); transition:all 220ms ease; }
.security-check i { opacity:0; transform:scale(.4) rotate(-20deg); color:#06111f; font-style:normal; font-weight:900; transition:all 240ms cubic-bezier(.2,.9,.25,1.4); }
.security-option.selected .security-check { border-color:transparent; background:var(--green); box-shadow:0 0 28px rgba(103,230,179,.18); }
.security-option.selected .security-check i { opacity:1; transform:scale(1) rotate(0); }
.security-option-copy { display:flex; flex-direction:column; gap:5px; }
.security-label-row { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.security-label-row em { padding:4px 7px; border:1px solid rgba(126,231,255,.24); border-radius:999px; color:var(--cyan); background:rgba(126,231,255,.05); font-size:.6rem; font-style:normal; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.security-option-copy > span:not(.security-label-row) { color:var(--muted-strong); font-size:.82rem; }
.security-option-copy small { color:var(--cyan); font-size:.7rem; }
.security-price { text-align:right; }
.security-price strong { display:block; font-size:1.3rem; }
.security-price small { color:var(--muted); }
.included-preview { display:grid; grid-template-columns:130px 1fr; gap:25px; margin-top:20px; padding:22px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.014); }
.included-preview > span { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.included-preview ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; margin:0; padding:0; list-style:none; color:var(--muted-strong); font-size:.78rem; }
.included-preview li::before { content:"✓"; margin-right:7px; color:var(--green); }

.final-summary { display:grid; grid-template-columns:1.25fr .75fr; gap:12px; }
.final-summary > div { min-height:150px; display:flex; flex-direction:column; justify-content:center; padding:23px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.018); }
.final-summary span { color:var(--muted); font-size:.75rem; }
.final-summary strong { margin:5px 0 2px; font-size:clamp(2rem,5vw,3.5rem); line-height:1; letter-spacing:-.06em; }
.final-summary-onboarding strong { font-size:clamp(1.6rem,4vw,2.4rem); }
.final-summary small { color:var(--cyan); font-size:.68rem; }
.final-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:18px; }
.final-points span { padding:12px 14px; border:1px solid var(--line); border-radius:12px; color:var(--muted-strong); background:rgba(255,255,255,.012); font-size:.76rem; }
.final-points i { margin-right:6px; color:var(--green); font-style:normal; }
.final-actions { justify-content:space-between; }

.estimate-panel { position:sticky; top:104px; padding:28px; border-radius:var(--radius); overflow:hidden; }
.estimate-panel::before { content:""; position:absolute; width:280px; height:280px; top:-170px; right:-120px; border-radius:50%; background:radial-gradient(circle,rgba(126,231,255,.16),transparent 70%); pointer-events:none; }
.estimate-panel-top { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:30px; }
.estimate-status { display:inline-flex; gap:8px; align-items:center; color:var(--cyan); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.estimate-status i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 13px rgba(103,230,179,.75); animation:statusPulse 2.2s ease-in-out infinite; }
.estimate-caption { color:var(--muted); font-size:.65rem; }
.estimate-primary { padding-bottom:24px; border-bottom:1px solid var(--line); }
.estimate-primary > span, .estimate-secondary > span { display:block; color:var(--muted); font-size:.72rem; }
.estimate-primary strong { display:inline-block; margin-top:4px; font-size:clamp(2.7rem,5vw,4.2rem); line-height:1; letter-spacing:-.07em; transition:transform 220ms ease,color 220ms ease; }
.estimate-primary strong.bump { transform:translateY(-3px) scale(1.018); color:#fff; }
.estimate-primary small { margin-left:5px; color:var(--cyan); font-size:.76rem; }
.estimate-secondary { padding:19px 0 20px; border-bottom:1px solid var(--line); }
.estimate-secondary strong { display:inline-block; margin-top:2px; font-size:1.3rem; }
.estimate-secondary small { margin-left:4px; color:var(--muted); font-size:.65rem; }
.estimate-breakdown { padding:17px 0; border-bottom:1px solid var(--line); }
.estimate-breakdown > div { display:flex; justify-content:space-between; gap:18px; padding:7px 0; color:var(--muted); font-size:.72rem; transition:opacity 180ms ease,transform 180ms ease; }
.estimate-breakdown > div[hidden] { display:none; }
.estimate-breakdown b { color:var(--muted-strong); font-weight:760; }
.estimate-breakdown strong { color:var(--muted-strong); }
.estimate-disclaimer { padding-top:18px; }
.estimate-disclaimer strong { font-size:.72rem; }
.estimate-disclaimer p { margin:4px 0 0; color:var(--muted); font-size:.68rem; line-height:1.55; }

.calculator-explainer { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.calculator-explainer-grid { display:grid; gap:1px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--line); }
.calculator-explainer-grid article { display:grid; grid-template-columns:45px 160px 1fr; gap:15px; align-items:center; padding:22px; background:#091526; }
.calculator-explainer-grid span { color:var(--cyan); font-size:.68rem; font-weight:900; }
.calculator-explainer-grid strong { font-size:.88rem; }
.calculator-explainer-grid p { margin:0; color:var(--muted); font-size:.78rem; }

@keyframes pricingOrbit { to { transform:rotate(360deg); } }
@keyframes floatDot { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-13px) scale(1.15)} }
@keyframes statusPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.55;transform:scale(.75)} }

@media (max-width:980px) {
  .pricing-hero-grid, .pricing-intro, .estimator-layout, .calculator-explainer { grid-template-columns:1fr; }
  .pricing-orbit-stage { min-height:350px; }
  .estimate-panel { position:relative; top:auto; order:-1; }
  .pricing-intro .lead { justify-self:start; }
}
@media (max-width:680px) {
  .pricing-hero { padding-top:70px; }
  .pricing-orbit-stage { min-height:290px; transform:scale(.82); margin:-30px 0; }
  .estimator-card { min-height:760px; padding:22px; border-radius:22px; }
  .estimator-step { inset:104px 22px 22px; }
  .quantity-grid, .final-summary, .final-points { grid-template-columns:1fr; }
  .quantity-card { padding:17px; }
  .security-option { grid-template-columns:auto 1fr; padding:18px; }
  .security-price { grid-column:2; text-align:left; }
  .included-preview { grid-template-columns:1fr; gap:10px; }
  .included-preview ul { grid-template-columns:1fr; }
  .step-actions { flex-wrap:wrap; }
  .step-note { width:100%; margin-right:0; }
  .step-actions .button, .step-actions a.button { flex:1; }
  .calculator-explainer-grid article { grid-template-columns:36px 1fr; }
  .calculator-explainer-grid p { grid-column:2; }
}
@media (prefers-reduced-motion:reduce) {
  .pricing-orbit,.pricing-orbit-dot,.estimate-status i { animation:none !important; }
}
