/* ===== Drackserv — Home page styles (standalone) ===== */
:root{
  --ds-bg:#FFFFFF;
  --ds-bg-alt:#F4F6FA;
  --ds-surface:#FFFFFF;
  --ds-text:#0F172A;
  --ds-muted:#5B6472;
  --ds-border:rgba(15,23,42,0.10);
  --ds-blue:#2457FF;
  --ds-blue-dark:#173BBF;
  --ds-orange:#FF6A2B;
  --ds-red:#E23B3B;
  --ds-font-display:'Space Grotesk',sans-serif;
  --ds-font-body:'Inter',sans-serif;
  --ds-font-mono:'JetBrains Mono',monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--ds-bg);color:var(--ds-text);font-family:var(--ds-font-body);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--ds-font-display);font-weight:600;letter-spacing:-0.01em;color:var(--ds-text);}
a{text-decoration:none;color:inherit;}
.ds-mono{font-family:var(--ds-font-mono);}
:focus-visible{outline:2px solid var(--ds-blue);outline-offset:2px;}

/* NAV */
.ds-nav{background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--ds-border);position:sticky;top:0;z-index:50;padding:.7rem 0;}
.ds-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--ds-font-display);font-weight:600;font-size:1.1rem;color:var(--ds-text);}
.ds-brand-mark{width:32px;height:32px;border-radius:8px;}
.ds-nav .nav-link{color:var(--ds-muted);font-weight:500;padding:.5rem 1rem;transition:color .2s;font-size:.92rem;}
.ds-nav .nav-link:hover{color:var(--ds-blue);}
.ds-toggler-icon{display:inline-block;width:22px;height:2px;background:var(--ds-text);position:relative;}
.ds-toggler-icon::before,.ds-toggler-icon::after{content:'';position:absolute;left:0;width:22px;height:2px;background:var(--ds-text);}
.ds-toggler-icon::before{top:-7px;}
.ds-toggler-icon::after{top:7px;}
.navbar-toggler{border:none;background:none;}
.navbar-toggler:focus{box-shadow:none;}

.ds-btn-solid{background:var(--ds-orange);color:#fff;font-weight:600;border:1px solid var(--ds-orange);border-radius:99px;padding:.55rem 1.4rem;display:inline-block;font-size:.9rem;transition:transform .15s,box-shadow .15s,background .15s;}
.ds-btn-solid:hover{background:#E85A1E;transform:translateY(-1px);box-shadow:0 8px 24px rgba(255,106,43,.35);color:#fff;}
.ds-btn-line{border:1px solid var(--ds-border);color:var(--ds-text);border-radius:99px;padding:.55rem 1.4rem;display:inline-block;font-size:.9rem;background:transparent;transition:border-color .2s,background .2s,color .2s;}
.ds-btn-line:hover{border-color:var(--ds-blue);background:rgba(36,87,255,.06);color:var(--ds-blue);}
.ds-btn-lg{padding:.85rem 1.9rem;font-size:.98rem;}

/* HERO */
.ds-hero{position:relative;padding:8rem 0 5rem;overflow:hidden;min-height:82vh;display:flex;flex-direction:column;justify-content:center;}
.ds-hero-noise{position:absolute;inset:0;background-image:linear-gradient(rgba(36,87,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(36,87,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 65% 55% at 35% 30%,#000 15%,transparent 78%);}
.ds-hero-inner{position:relative;z-index:1;max-width:900px;}
.ds-eyebrow{color:var(--ds-blue);font-size:.78rem;letter-spacing:.08em;margin-bottom:1.6rem;font-weight:600;}
.ds-hero-title{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:700;line-height:1.06;margin-bottom:1.6rem;}
.ds-hero-sub{color:var(--ds-muted);font-size:1.12rem;max-width:560px;margin-bottom:2.4rem;}
.ds-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}
.ds-hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:var(--ds-muted);font-size:.72rem;letter-spacing:.1em;}

/* TRUST BAND */
.ds-trust-band{border-top:1px solid var(--ds-border);border-bottom:1px solid var(--ds-border);padding:1.6rem 0;background:var(--ds-bg-alt);}
.ds-trust-line{margin:0;color:var(--ds-muted);font-size:1rem;text-align:center;}

/* SECTIONS */
.ds-section{padding:6rem 0;}
.ds-section-alt{background:var(--ds-bg-alt);}
.ds-section-head{max-width:640px;margin-bottom:3rem;}
.ds-section-head h2{font-size:clamp(1.7rem,3.4vw,2.3rem);margin-top:.8rem;}

/* TAG GRID */
.ds-tag-grid{display:flex;flex-wrap:wrap;gap:.8rem;}
.ds-tag-grid span{border:1px solid var(--ds-border);border-radius:99px;padding:.6rem 1.3rem;color:var(--ds-muted);font-size:.92rem;transition:border-color .2s,color .2s,background .2s;}
.ds-tag-grid span:hover{border-color:var(--ds-blue);color:var(--ds-blue);background:rgba(36,87,255,.06);}

/* CAPABILITY GRID */
.ds-capability-grid{border-top:1px solid var(--ds-border);border-left:1px solid var(--ds-border);}
.ds-capability-card{border-right:1px solid var(--ds-border);border-bottom:1px solid var(--ds-border);padding:2.2rem 1.8rem;background:var(--ds-bg);transition:background .2s;}
.ds-capability-card:hover{background:var(--ds-bg-alt);}
.ds-capability-index{color:var(--ds-orange);font-size:.8rem;display:block;margin-bottom:2rem;font-weight:600;}
.ds-capability-card h3{font-size:1.05rem;margin-bottom:.7rem;}
.ds-capability-card p{color:var(--ds-muted);font-size:.9rem;margin:0;}

/* STAT BAND */
.ds-stat-band{padding:5rem 0;border-top:1px solid var(--ds-border);border-bottom:1px solid var(--ds-border);}
.ds-stat-band .col-md-4{text-align:center;}
.ds-stat-num{display:block;font-size:clamp(2.4rem,5vw,3.2rem);font-weight:700;color:var(--ds-blue);letter-spacing:-0.02em;}
.ds-stat-label{color:var(--ds-muted);font-size:.76rem;letter-spacing:.08em;}

/* PLAN TEASER */
.ds-plan-teaser-grid{border-top:1px solid var(--ds-border);border-left:1px solid var(--ds-border);}
.ds-plan-teaser{border-right:1px solid var(--ds-border);border-bottom:1px solid var(--ds-border);padding:2.8rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;min-height:220px;background:var(--ds-bg);transition:background .2s;}
.ds-plan-teaser:hover{background:var(--ds-bg-alt);}
.ds-plan-teaser h3{font-size:1.5rem;margin-bottom:.7rem;}
.ds-plan-teaser p{color:var(--ds-muted);margin:0;}
.ds-link-arrow{color:var(--ds-orange);font-size:.85rem;font-weight:600;}
.ds-link-arrow:hover{color:var(--ds-blue);}

/* CLOSING CTA */
.ds-closing{padding:7rem 0;text-align:center;background:radial-gradient(ellipse 60% 100% at 50% 100%,rgba(255,106,43,.08),transparent);}
.ds-closing h2{font-size:clamp(2rem,4vw,2.7rem);margin-bottom:.8rem;}
.ds-closing p{color:var(--ds-muted);margin-bottom:2rem;font-size:1.05rem;}

/* FOOTER */
.ds-footer{padding:4.5rem 0 1.5rem;border-top:1px solid var(--ds-border);}
.ds-footer-tag{color:var(--ds-muted);margin-top:1rem;font-size:.88rem;max-width:280px;}
.ds-footer h4{font-size:.76rem;letter-spacing:.06em;color:var(--ds-red);margin-bottom:1.1rem;font-weight:600;}
.ds-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem;}
.ds-footer-links a{color:var(--ds-text);font-size:.9rem;}
.ds-footer-links a:hover{color:var(--ds-blue);}
.ds-footer-bottom{border-top:1px solid var(--ds-border);margin-top:3rem;padding-top:1.5rem;color:var(--ds-muted);font-size:.78rem;text-align:center;}

@media (max-width:991px){
  .ds-btn-solid,.ds-btn-line{margin:.4rem .4rem 0 0;display:inline-block;}
  .ds-hero{padding:6rem 0 4rem;min-height:auto;}
  .ds-capability-grid,.ds-plan-teaser-grid{border-left:none;}
}

/* ===== GRAND OPENING PROMO POPUP ===== */
.ds-promo-backdrop{position:fixed;inset:0;background:rgba(15,23,42,0.55);backdrop-filter:blur(3px);z-index:200;display:none;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .25s ease;}
.ds-promo-backdrop.is-visible{display:flex;opacity:1;}
.ds-promo-modal{position:relative;background:#fff;border-radius:16px;padding:2.4rem 2.2rem;max-width:420px;width:100%;box-shadow:0 30px 70px rgba(15,23,42,.35);transform:translateY(14px) scale(.97);transition:transform .25s ease;text-align:center;}
.ds-promo-backdrop.is-visible .ds-promo-modal{transform:translateY(0) scale(1);}
.ds-promo-close{position:absolute;top:.9rem;right:1rem;background:none;border:none;font-size:1.6rem;line-height:1;color:var(--ds-muted);cursor:pointer;padding:.2rem .5rem;}
.ds-promo-close:hover{color:var(--ds-text);}
.ds-promo-eyebrow{color:var(--ds-blue);font-size:.76rem;letter-spacing:.08em;font-weight:600;margin-bottom:.7rem;}
.ds-promo-modal h2{font-size:1.4rem;margin-bottom:.8rem;}
.ds-promo-body{color:var(--ds-muted);font-size:.94rem;margin-bottom:1.6rem;}
.ds-promo-cta{margin-bottom:.8rem;}
.ds-promo-dismiss{background:none;border:none;color:var(--ds-muted);font-size:.85rem;cursor:pointer;padding:.3rem;}
.ds-promo-dismiss:hover{color:var(--ds-text);text-decoration:underline;}

@media (max-width:480px){
  .ds-promo-modal{padding:2rem 1.5rem;}
}
