/* ============================================================
   VM6 NETWORKS — CORE  (part 1 of style.css)
   Base, layout, header, navigation, mobile sheet, hero slider.
   Requires vm6-tokens.css (or the token block prepended).
   ============================================================ */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--topbar-h) + 12px)}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:64px 64px;background-attachment:fixed;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--accent-text);text-decoration:none;transition:color var(--t-fast) var(--ease)}
a:hover{color:var(--accent)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.18;color:var(--text-strong);margin:0 0 .6em}
h1{font-size:clamp(2rem,4.4vw,3.1rem);letter-spacing:-.03em}
h2{font-size:clamp(1.55rem,3vw,2.2rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
h4{font-size:1.1rem}
h5{font-size:1rem}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
strong,b{color:var(--text-strong);font-weight:600}
hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}
code{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:.12em .4em;color:var(--accent-text)}
pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;overflow:auto}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.mono{font-family:var(--font-mono)}
.text-muted,.text-secondary{color:var(--muted)!important}
.text-primary,.text-info{color:var(--accent-text)!important}
.text-success{color:var(--signal)!important}
.text-warning{color:var(--warn)!important}
.text-danger{color:var(--danger)!important}
.text-white,.text-light{color:var(--text-strong)!important}
.bg-dark,.bg-black,.bg-body-tertiary{background:var(--surface)!important;color:var(--text)}
.lead{font-size:1.09rem;color:var(--muted);font-weight:400}
.small,small{font-size:.86rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--accent);color:var(--on-accent);padding:11px 18px;border-radius:0 0 var(--r) 0;font-weight:600}
.skip-link:focus{left:0;color:var(--on-accent)}

/* ---------------- top utility bar ---------------- */
.top-header{
  background:var(--bg-2);border-bottom:1px solid var(--line-soft);
  font-size:.82rem;position:relative;z-index:95;
}
.top-header-content{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:var(--topbar-h)}
.top-links-left,.top-links-right{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.top-link{color:var(--muted);display:inline-flex;align-items:center;gap:7px;font-size:.82rem}
.top-link:hover{color:var(--accent)}
.top-link i{font-size:.78rem;opacity:.9}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--signal);display:inline-block;box-shadow:0 0 0 3px var(--signal-soft)}
@media(max-width:768px){
  .top-links-left{display:none}
  .top-header-content{justify-content:center}
  .top-links-right{gap:14px;font-size:.78rem}
}

/* ---------------- header / navbar ---------------- */
.site-header{
  position:sticky;top:0;z-index:90;
  background:var(--bg);
  background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(140%) blur(12px);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header .container{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;
  min-height:var(--header-h);
}
.navbar-brand{display:inline-flex;align-items:center;justify-self:start;padding:6px 0;color:var(--text-strong)}
.primary-nav{display:flex;justify-content:center;min-width:0}
.navbar-brand svg{display:block;height:36px;width:auto}
.navbar-brand:hover{color:var(--text-strong)}

.main-nav{display:flex;align-items:center;justify-content:center;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.main-nav>li{position:relative}
.main-nav>li>a{
  display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:var(--r-sm);
  font-size:.93rem;font-weight:500;color:var(--text);white-space:nowrap;
}
.main-nav>li>a>i{font-size:.86rem;color:var(--muted);transition:color var(--t-fast) var(--ease)}
.main-nav>li:hover>a>i,.main-nav>li.is-current>a>i{color:var(--accent)}
.main-nav>li>a:hover,.main-nav>li:hover>a,.main-nav>li:focus-within>a{background:var(--accent-soft);color:var(--accent-text)}
.main-nav>li.is-current>a{color:var(--accent-text)}
.main-nav>li.is-current>a::after{content:"";display:block;height:2px;border-radius:2px;background:var(--accent);margin-top:5px}


.nav-menu{
  position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-6px);min-width:274px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);padding:8px;margin:0;list-style:none;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),visibility var(--t-fast);
}
.main-nav>li:hover>.nav-menu,.main-nav>li:focus-within>.nav-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.main-nav>li:last-child>.nav-menu,.main-nav>li:nth-last-child(2)>.nav-menu{left:auto;right:0;transform:translate(0,-6px)}
.main-nav>li:last-child:hover>.nav-menu,.main-nav>li:nth-last-child(2):hover>.nav-menu,
.main-nav>li:last-child:focus-within>.nav-menu,.main-nav>li:nth-last-child(2):focus-within>.nav-menu{transform:translate(0,0)}
.nav-menu a{display:flex;align-items:flex-start;gap:11px;padding:9px 11px;border-radius:var(--r-sm);color:var(--text);font-size:.91rem;font-weight:500}
.nav-menu a>i{flex:none;width:17px;text-align:center;margin-top:3px;color:var(--accent-text);font-size:.92rem}
.nav-menu a .nm-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.nav-menu a small{color:var(--muted);font-size:.76rem;font-weight:400;font-family:var(--font-mono)}
.nav-menu a:hover{background:var(--surface-2);color:var(--accent-text)}
.nav-menu hr{margin:6px 4px;border-color:var(--line-soft)}

.header-actions{display:flex;align-items:center;gap:8px;justify-self:end}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:.93rem;line-height:1.2;
  padding:11px 18px;border-radius:var(--r-sm);border:1px solid transparent;
  cursor:pointer;transition:all var(--t-fast) var(--ease);text-align:center;white-space:nowrap;
}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-primary:hover,.btn-primary:focus{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-accent);transform:translateY(-1px);box-shadow:0 10px 22px -12px var(--accent)}
.btn-outline,.btn-outline-primary,.btn-outline-light,.btn-secondary,.btn-outline-secondary{background:transparent;border-color:var(--line);color:var(--text)}
.btn-outline:hover,.btn-outline-primary:hover,.btn-outline-light:hover,.btn-secondary:hover,.btn-outline-secondary:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}
.btn-success{background:var(--signal);border-color:var(--signal);color:#04150C}
.btn-lg{padding:14px 26px;font-size:1rem;border-radius:var(--r)}
.btn-sm{padding:8px 14px;font-size:.85rem}
.btn-block,.w-100{width:100%}

.icon-btn{
  width:40px;height:40px;flex:none;display:grid;place-items:center;
  border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;
  color:var(--text);cursor:pointer;transition:all var(--t-fast) var(--ease);
}
.icon-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}
[data-theme="dark"] .icon-sun{display:block}
[data-theme="dark"] .icon-moon{display:none}
[data-theme="light"] .icon-sun{display:none}
[data-theme="light"] .icon-moon{display:block}
.nav-toggle{display:none}
@media(max-width:1180px){
  .main-nav>li>a{padding:9px 10px;font-size:.9rem}
  .navbar-brand svg{height:32px}
}
@media(max-width:1080px){
  .primary-nav,.header-actions .btn-nav{display:none}
  .site-header .container{grid-template-columns:1fr auto}
  .nav-toggle{display:grid}
}

/* ---------------- mobile sheet ---------------- */
.nav-sheet{position:fixed;inset:0;z-index:130;visibility:hidden}
.nav-sheet[aria-hidden="false"]{visibility:visible}
.nav-sheet__scrim{position:absolute;inset:0;background:var(--overlay);opacity:0;transition:opacity var(--t) var(--ease)}
.nav-sheet[aria-hidden="false"] .nav-sheet__scrim{opacity:1}
.nav-sheet__panel{
  position:absolute;top:0;right:0;height:100%;width:min(420px,88vw);
  background:var(--bg-2);border-left:1px solid var(--line);
  transform:translateX(100%);transition:transform .28s var(--ease);
  display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;
  padding-bottom:env(safe-area-inset-bottom);
}
.nav-sheet[aria-hidden="false"] .nav-sheet__panel{transform:none}
.nav-sheet__top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--bg-2);z-index:2;
}
.nav-sheet__top svg{height:30px;width:auto}
.nav-sheet__body{padding:10px 14px 30px}
.nav-acc{border-bottom:1px solid var(--line-soft)}
.nav-acc>a,.nav-acc>button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 8px;background:none;border:0;color:var(--text);
  font:600 1rem/1.25 var(--font-body);text-align:left;cursor:pointer;
}
.nav-acc>a:hover,.nav-acc>button:hover{color:var(--accent-text)}
.nav-acc svg{flex:none;color:var(--muted);transition:transform var(--t-fast) var(--ease)}
.nav-acc[data-open="true"]>button{color:var(--accent-text)}
.nav-acc[data-open="true"]>button svg{transform:rotate(180deg);color:var(--accent)}
.nav-acc__panel{display:none;padding:0 4px 12px}
.nav-acc[data-open="true"] .nav-acc__panel{display:block}
.nav-acc__panel a{display:flex;align-items:center;gap:11px;padding:11px 14px;color:var(--muted);font-size:.94rem;border-left:2px solid var(--line);font-weight:500}
.nav-acc__panel a>i{flex:none;width:17px;text-align:center;color:var(--accent-text);font-size:.9rem}
.nav-acc>a>i{margin-right:10px;color:var(--accent-text);width:17px;text-align:center}
.nav-acc__panel a:hover{color:var(--accent-text);border-left-color:var(--accent);background:var(--surface)}
.nav-sheet__cta{display:grid;gap:10px;padding:20px 8px 0}
.nav-sheet__meta{display:flex;gap:14px;flex-wrap:wrap;padding:20px 8px 0;font-size:.82rem;color:var(--muted)}

/* ---------------- containers & grid helpers ---------------- */
.container,.container-fluid{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:20px}
.container-fluid{max-width:none}
.section{padding:var(--section-y) 0}
.section-tight{padding:calc(var(--section-y) * .6) 0}
.section-alt{background:var(--bg-2);border-block:1px solid var(--line)}
.section-eyebrow{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent-text);margin-bottom:12px;
}
.section-heading,.section-title{font-size:clamp(1.55rem,3vw,2.2rem);margin-bottom:14px}
.section-sub{color:var(--muted);font-size:1.03rem;max-width:64ch}
.section-sub.mx-auto{text-align:center}
.text-center .section-sub{margin-inline:auto}

/* ---------------- hero slider ---------------- */
.hero-slider{position:relative;overflow:hidden;padding:0}
.hero-slider::before{
  content:"";position:absolute;top:-180px;left:50%;width:900px;height:460px;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at center,var(--accent-soft),transparent 68%);
}
.hero-track{position:relative}
.hero-slide{
  display:none;padding:54px 0 52px;
}
.hero-slide.is-active{display:block;animation:heroIn .5s var(--ease) both}
@keyframes heroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-slide__inner{
  display:grid;grid-template-columns:1.03fr .97fr;gap:48px;align-items:center;position:relative;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;padding:6px 13px;
  border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);
  font-family:var(--font-mono);font-size:.71rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
}
.hero-badge .status-dot{margin-right:2px}
.hero-slide .h1,.hero-slide .h2.hero-title{font-size:clamp(2rem,4.3vw,3.25rem);margin:18px 0 16px}
.hero-slide .h1 em,.hero-title em{font-style:normal;color:var(--accent-text)}
.hero-lead{color:var(--muted);font-size:1.07rem;max-width:54ch;margin-bottom:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:26px}
.hero-price{font-family:var(--font-mono);font-size:.84rem;color:var(--muted)}
.hero-price b{color:var(--text-strong);font-size:1.05rem}
.hero-figure{position:relative}
.hero-figure svg{width:100%;height:auto;filter:drop-shadow(0 24px 48px rgba(0,0,0,.28))}
[data-theme="light"] .hero-figure svg{filter:drop-shadow(0 20px 40px rgba(16,24,40,.14))}

.hero-controls{
  display:flex;align-items:center;gap:14px;
  padding:0 0 26px;position:relative;
}
.hero-dots{display:flex;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.hero-dots button{
  display:flex;align-items:center;gap:9px;padding:8px 14px;cursor:pointer;
  background:transparent;border:1px solid var(--line);border-radius:var(--r-pill);
  color:var(--muted);font:500 .8rem/1 var(--font-body);transition:all var(--t-fast) var(--ease);
}
.hero-dots button:hover{border-color:var(--accent-line);color:var(--text)}
.hero-dots button[aria-selected="true"]{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}
.hero-dots .n{font-family:var(--font-mono);font-size:.7rem;opacity:.7}
.hero-arrows{display:flex;gap:8px;margin-left:auto}
.hero-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line-soft);border-radius:2px;overflow:hidden}
.hero-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--signal))}
.hero-slider.is-playing .hero-progress i{animation:heroBar 7s linear forwards}
@keyframes heroBar{from{width:0}to{width:100%}}

@media(max-width:960px){
  .hero-slide__inner{grid-template-columns:1fr;gap:32px}
  .hero-slide{padding:38px 0 34px}
  .hero-figure{order:2}
  .hero-dots button span.label{display:none}
  .hero-dots button{padding:9px 12px}
}

/* ---------------- trust strip ---------------- */
.trust-strip{background:var(--bg-2);border-block:1px solid var(--line)}
.trust-strip .container{display:flex;flex-wrap:wrap;gap:10px;padding-block:16px;justify-content:center}
.trust-item{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;
  border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);
  font-size:.84rem;color:var(--muted);font-weight:500;
}
.trust-item i{color:var(--accent-text)}

/* ---------------- footer ---------------- */
.footer{background:var(--bg-2);border-top:1px solid var(--line);padding:58px 0 26px;margin-top:0}
/* Column headings: a short accent rule that fades into a hairline
   across the rest of the column. */
.footer .h5{
  position:relative;display:block;
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin:0 0 20px;padding-bottom:11px;
}
.footer .h5::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,
    var(--accent) 0,
    var(--accent) 26px,
    var(--accent-line) 26px,
    var(--accent-line) 40px,
    var(--line-soft) 40px,
    var(--line-soft) 100%);
}
.footer .footer-brand+p{margin-top:0}
.footer p{color:var(--muted);font-size:.93rem}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer-links a{color:var(--muted);font-size:.92rem}
.footer-links a:hover{color:var(--accent-text)}
.footer-brand svg{height:38px;width:auto;margin-bottom:14px}
.footer-legal{font-family:var(--font-mono);font-size:.76rem;color:var(--muted-2);margin-top:16px}
.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.social-links a{
  width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--surface);color:var(--muted);
  transition:all var(--t-fast) var(--ease);
}
.social-links a:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.social-links svg{width:17px;height:17px;fill:currentColor}
.footer-bottom{
  margin-top:42px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.85rem;color:var(--muted);
}
.footer-bottom a{color:var(--muted)}
.footer-bottom a:hover{color:var(--accent-text)}
.payment-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted-2);font-size:.78rem;font-family:var(--font-mono)}

/* back to top */
.to-top{
  position:fixed;right:18px;bottom:18px;z-index:80;width:44px;height:44px;
  display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);
  background:var(--surface);color:var(--text);cursor:pointer;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:all var(--t) var(--ease);box-shadow:var(--shadow);
}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top:hover{border-color:var(--accent);color:var(--accent-text)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}


/* ============================================================
   VM6 NETWORKS — LAYOUT  (part 3 of style.css)
   Grid and utilities. Replaces the Bootstrap 5 stylesheet: the
   pages use Bootstrap's class names, so the names are matched
   exactly, but only the subset the site needs is generated.
   ============================================================ */

.row{
  --gutter-x:1.5rem;--gutter-y:0;
  display:flex;flex-wrap:wrap;
  margin-top:calc(-1 * var(--gutter-y));
  margin-right:calc(-.5 * var(--gutter-x));
  margin-left:calc(-.5 * var(--gutter-x));
}
.row>*{
  flex-shrink:0;width:100%;max-width:100%;
  padding-right:calc(var(--gutter-x) * .5);
  padding-left:calc(var(--gutter-x) * .5);
  margin-top:var(--gutter-y);
}
.col{flex:1 0 0%}
.col-auto{flex:0 0 auto;width:auto}
.row-cols-1>*{width:100%}
.row-cols-2>*{width:50%}
.row-cols-3>*{width:33.333333%}
.row-cols-4>*{width:25%}

.col-1{flex:0 0 auto;width:8.333333%}
.col-2{flex:0 0 auto;width:16.666667%}
.col-3{flex:0 0 auto;width:25.0%}
.col-4{flex:0 0 auto;width:33.333333%}
.col-5{flex:0 0 auto;width:41.666667%}
.col-6{flex:0 0 auto;width:50.0%}
.col-7{flex:0 0 auto;width:58.333333%}
.col-8{flex:0 0 auto;width:66.666667%}
.col-9{flex:0 0 auto;width:75.0%}
.col-10{flex:0 0 auto;width:83.333333%}
.col-11{flex:0 0 auto;width:91.666667%}
.col-12{flex:0 0 auto;width:100.0%}

.g-0,.gx-0{--gutter-x:0}
.g-0,.gy-0{--gutter-y:0}
.g-1,.gx-1{--gutter-x:.25rem}
.g-1,.gy-1{--gutter-y:.25rem}
.g-2,.gx-2{--gutter-x:.5rem}
.g-2,.gy-2{--gutter-y:.5rem}
.g-3,.gx-3{--gutter-x:1rem}
.g-3,.gy-3{--gutter-y:1rem}
.g-4,.gx-4{--gutter-x:1.5rem}
.g-4,.gy-4{--gutter-y:1.5rem}
.g-5,.gx-5{--gutter-x:3rem}
.g-5,.gy-5{--gutter-y:3rem}

@media(min-width:576px){
  .col-sm-1{flex:0 0 auto;width:8.333333%}
  .col-sm-2{flex:0 0 auto;width:16.666667%}
  .col-sm-3{flex:0 0 auto;width:25.0%}
  .col-sm-4{flex:0 0 auto;width:33.333333%}
  .col-sm-5{flex:0 0 auto;width:41.666667%}
  .col-sm-6{flex:0 0 auto;width:50.0%}
  .col-sm-7{flex:0 0 auto;width:58.333333%}
  .col-sm-8{flex:0 0 auto;width:66.666667%}
  .col-sm-9{flex:0 0 auto;width:75.0%}
  .col-sm-10{flex:0 0 auto;width:83.333333%}
  .col-sm-11{flex:0 0 auto;width:91.666667%}
  .col-sm-12{flex:0 0 auto;width:100.0%}
  .col-sm{flex:1 0 0%}
  .col-sm-auto{flex:0 0 auto;width:auto}
  .g-sm-0,.gx-sm-0{--gutter-x:0}
  .g-sm-0,.gy-sm-0{--gutter-y:0}
  .g-sm-1,.gx-sm-1{--gutter-x:.25rem}
  .g-sm-1,.gy-sm-1{--gutter-y:.25rem}
  .g-sm-2,.gx-sm-2{--gutter-x:.5rem}
  .g-sm-2,.gy-sm-2{--gutter-y:.5rem}
  .g-sm-3,.gx-sm-3{--gutter-x:1rem}
  .g-sm-3,.gy-sm-3{--gutter-y:1rem}
  .g-sm-4,.gx-sm-4{--gutter-x:1.5rem}
  .g-sm-4,.gy-sm-4{--gutter-y:1.5rem}
  .g-sm-5,.gx-sm-5{--gutter-x:3rem}
  .g-sm-5,.gy-sm-5{--gutter-y:3rem}
}
@media(min-width:768px){
  .col-md-1{flex:0 0 auto;width:8.333333%}
  .col-md-2{flex:0 0 auto;width:16.666667%}
  .col-md-3{flex:0 0 auto;width:25.0%}
  .col-md-4{flex:0 0 auto;width:33.333333%}
  .col-md-5{flex:0 0 auto;width:41.666667%}
  .col-md-6{flex:0 0 auto;width:50.0%}
  .col-md-7{flex:0 0 auto;width:58.333333%}
  .col-md-8{flex:0 0 auto;width:66.666667%}
  .col-md-9{flex:0 0 auto;width:75.0%}
  .col-md-10{flex:0 0 auto;width:83.333333%}
  .col-md-11{flex:0 0 auto;width:91.666667%}
  .col-md-12{flex:0 0 auto;width:100.0%}
  .col-md{flex:1 0 0%}
  .col-md-auto{flex:0 0 auto;width:auto}
  .g-md-0,.gx-md-0{--gutter-x:0}
  .g-md-0,.gy-md-0{--gutter-y:0}
  .g-md-1,.gx-md-1{--gutter-x:.25rem}
  .g-md-1,.gy-md-1{--gutter-y:.25rem}
  .g-md-2,.gx-md-2{--gutter-x:.5rem}
  .g-md-2,.gy-md-2{--gutter-y:.5rem}
  .g-md-3,.gx-md-3{--gutter-x:1rem}
  .g-md-3,.gy-md-3{--gutter-y:1rem}
  .g-md-4,.gx-md-4{--gutter-x:1.5rem}
  .g-md-4,.gy-md-4{--gutter-y:1.5rem}
  .g-md-5,.gx-md-5{--gutter-x:3rem}
  .g-md-5,.gy-md-5{--gutter-y:3rem}
}
@media(min-width:992px){
  .col-lg-1{flex:0 0 auto;width:8.333333%}
  .col-lg-2{flex:0 0 auto;width:16.666667%}
  .col-lg-3{flex:0 0 auto;width:25.0%}
  .col-lg-4{flex:0 0 auto;width:33.333333%}
  .col-lg-5{flex:0 0 auto;width:41.666667%}
  .col-lg-6{flex:0 0 auto;width:50.0%}
  .col-lg-7{flex:0 0 auto;width:58.333333%}
  .col-lg-8{flex:0 0 auto;width:66.666667%}
  .col-lg-9{flex:0 0 auto;width:75.0%}
  .col-lg-10{flex:0 0 auto;width:83.333333%}
  .col-lg-11{flex:0 0 auto;width:91.666667%}
  .col-lg-12{flex:0 0 auto;width:100.0%}
  .col-lg{flex:1 0 0%}
  .col-lg-auto{flex:0 0 auto;width:auto}
  .g-lg-0,.gx-lg-0{--gutter-x:0}
  .g-lg-0,.gy-lg-0{--gutter-y:0}
  .g-lg-1,.gx-lg-1{--gutter-x:.25rem}
  .g-lg-1,.gy-lg-1{--gutter-y:.25rem}
  .g-lg-2,.gx-lg-2{--gutter-x:.5rem}
  .g-lg-2,.gy-lg-2{--gutter-y:.5rem}
  .g-lg-3,.gx-lg-3{--gutter-x:1rem}
  .g-lg-3,.gy-lg-3{--gutter-y:1rem}
  .g-lg-4,.gx-lg-4{--gutter-x:1.5rem}
  .g-lg-4,.gy-lg-4{--gutter-y:1.5rem}
  .g-lg-5,.gx-lg-5{--gutter-x:3rem}
  .g-lg-5,.gy-lg-5{--gutter-y:3rem}
}
@media(min-width:1200px){
  .col-xl-1{flex:0 0 auto;width:8.333333%}
  .col-xl-2{flex:0 0 auto;width:16.666667%}
  .col-xl-3{flex:0 0 auto;width:25.0%}
  .col-xl-4{flex:0 0 auto;width:33.333333%}
  .col-xl-5{flex:0 0 auto;width:41.666667%}
  .col-xl-6{flex:0 0 auto;width:50.0%}
  .col-xl-7{flex:0 0 auto;width:58.333333%}
  .col-xl-8{flex:0 0 auto;width:66.666667%}
  .col-xl-9{flex:0 0 auto;width:75.0%}
  .col-xl-10{flex:0 0 auto;width:83.333333%}
  .col-xl-11{flex:0 0 auto;width:91.666667%}
  .col-xl-12{flex:0 0 auto;width:100.0%}
  .col-xl{flex:1 0 0%}
  .col-xl-auto{flex:0 0 auto;width:auto}
  .g-xl-0,.gx-xl-0{--gutter-x:0}
  .g-xl-0,.gy-xl-0{--gutter-y:0}
  .g-xl-1,.gx-xl-1{--gutter-x:.25rem}
  .g-xl-1,.gy-xl-1{--gutter-y:.25rem}
  .g-xl-2,.gx-xl-2{--gutter-x:.5rem}
  .g-xl-2,.gy-xl-2{--gutter-y:.5rem}
  .g-xl-3,.gx-xl-3{--gutter-x:1rem}
  .g-xl-3,.gy-xl-3{--gutter-y:1rem}
  .g-xl-4,.gx-xl-4{--gutter-x:1.5rem}
  .g-xl-4,.gy-xl-4{--gutter-y:1.5rem}
  .g-xl-5,.gx-xl-5{--gutter-x:3rem}
  .g-xl-5,.gy-xl-5{--gutter-y:3rem}
}
@media(min-width:1400px){
  .col-xxl-1{flex:0 0 auto;width:8.333333%}
  .col-xxl-2{flex:0 0 auto;width:16.666667%}
  .col-xxl-3{flex:0 0 auto;width:25.0%}
  .col-xxl-4{flex:0 0 auto;width:33.333333%}
  .col-xxl-5{flex:0 0 auto;width:41.666667%}
  .col-xxl-6{flex:0 0 auto;width:50.0%}
  .col-xxl-7{flex:0 0 auto;width:58.333333%}
  .col-xxl-8{flex:0 0 auto;width:66.666667%}
  .col-xxl-9{flex:0 0 auto;width:75.0%}
  .col-xxl-10{flex:0 0 auto;width:83.333333%}
  .col-xxl-11{flex:0 0 auto;width:91.666667%}
  .col-xxl-12{flex:0 0 auto;width:100.0%}
  .col-xxl{flex:1 0 0%}
  .col-xxl-auto{flex:0 0 auto;width:auto}
  .g-xxl-0,.gx-xxl-0{--gutter-x:0}
  .g-xxl-0,.gy-xxl-0{--gutter-y:0}
  .g-xxl-1,.gx-xxl-1{--gutter-x:.25rem}
  .g-xxl-1,.gy-xxl-1{--gutter-y:.25rem}
  .g-xxl-2,.gx-xxl-2{--gutter-x:.5rem}
  .g-xxl-2,.gy-xxl-2{--gutter-y:.5rem}
  .g-xxl-3,.gx-xxl-3{--gutter-x:1rem}
  .g-xxl-3,.gy-xxl-3{--gutter-y:1rem}
  .g-xxl-4,.gx-xxl-4{--gutter-x:1.5rem}
  .g-xxl-4,.gy-xxl-4{--gutter-y:1.5rem}
  .g-xxl-5,.gx-xxl-5{--gutter-x:3rem}
  .g-xxl-5,.gy-xxl-5{--gutter-y:3rem}
}

.m-0{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}
.p-0{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}
.m-1{margin-top:.25rem;margin-right:.25rem;margin-bottom:.25rem;margin-left:.25rem}
.p-1{padding-top:.25rem;padding-right:.25rem;padding-bottom:.25rem;padding-left:.25rem}
.m-2{margin-top:.5rem;margin-right:.5rem;margin-bottom:.5rem;margin-left:.5rem}
.p-2{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}
.m-3{margin-top:1rem;margin-right:1rem;margin-bottom:1rem;margin-left:1rem}
.p-3{padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem}
.m-4{margin-top:1.5rem;margin-right:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem}
.p-4{padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem}
.m-5{margin-top:3rem;margin-right:3rem;margin-bottom:3rem;margin-left:3rem}
.p-5{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}
.m-auto{margin-top:auto;margin-right:auto;margin-bottom:auto;margin-left:auto}
.mt-0{margin-top:0}
.pt-0{padding-top:0}
.mt-1{margin-top:.25rem}
.pt-1{padding-top:.25rem}
.mt-2{margin-top:.5rem}
.pt-2{padding-top:.5rem}
.mt-3{margin-top:1rem}
.pt-3{padding-top:1rem}
.mt-4{margin-top:1.5rem}
.pt-4{padding-top:1.5rem}
.mt-5{margin-top:3rem}
.pt-5{padding-top:3rem}
.mt-auto{margin-top:auto}
.mb-0{margin-bottom:0}
.pb-0{padding-bottom:0}
.mb-1{margin-bottom:.25rem}
.pb-1{padding-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.pb-2{padding-bottom:.5rem}
.mb-3{margin-bottom:1rem}
.pb-3{padding-bottom:1rem}
.mb-4{margin-bottom:1.5rem}
.pb-4{padding-bottom:1.5rem}
.mb-5{margin-bottom:3rem}
.pb-5{padding-bottom:3rem}
.mb-auto{margin-bottom:auto}
.ms-0{margin-left:0}
.ps-0{padding-left:0}
.ms-1{margin-left:.25rem}
.ps-1{padding-left:.25rem}
.ms-2{margin-left:.5rem}
.ps-2{padding-left:.5rem}
.ms-3{margin-left:1rem}
.ps-3{padding-left:1rem}
.ms-4{margin-left:1.5rem}
.ps-4{padding-left:1.5rem}
.ms-5{margin-left:3rem}
.ps-5{padding-left:3rem}
.ms-auto{margin-left:auto}
.me-0{margin-right:0}
.pe-0{padding-right:0}
.me-1{margin-right:.25rem}
.pe-1{padding-right:.25rem}
.me-2{margin-right:.5rem}
.pe-2{padding-right:.5rem}
.me-3{margin-right:1rem}
.pe-3{padding-right:1rem}
.me-4{margin-right:1.5rem}
.pe-4{padding-right:1.5rem}
.me-5{margin-right:3rem}
.pe-5{padding-right:3rem}
.me-auto{margin-right:auto}
.mx-0{margin-left:0;margin-right:0}
.px-0{padding-left:0;padding-right:0}
.mx-1{margin-left:.25rem;margin-right:.25rem}
.px-1{padding-left:.25rem;padding-right:.25rem}
.mx-2{margin-left:.5rem;margin-right:.5rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.mx-3{margin-left:1rem;margin-right:1rem}
.px-3{padding-left:1rem;padding-right:1rem}
.mx-4{margin-left:1.5rem;margin-right:1.5rem}
.px-4{padding-left:1.5rem;padding-right:1.5rem}
.mx-5{margin-left:3rem;margin-right:3rem}
.px-5{padding-left:3rem;padding-right:3rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-0{margin-top:0;margin-bottom:0}
.py-0{padding-top:0;padding-bottom:0}
.my-1{margin-top:.25rem;margin-bottom:.25rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.my-2{margin-top:.5rem;margin-bottom:.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.my-3{margin-top:1rem;margin-bottom:1rem}
.py-3{padding-top:1rem;padding-bottom:1rem}
.my-4{margin-top:1.5rem;margin-bottom:1.5rem}
.py-4{padding-top:1.5rem;padding-bottom:1.5rem}
.my-5{margin-top:3rem;margin-bottom:3rem}
.py-5{padding-top:3rem;padding-bottom:3rem}
.my-auto{margin-top:auto;margin-bottom:auto}

@media(min-width:576px){
  .m-sm-0{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}
  .p-sm-0{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}
  .m-sm-1{margin-top:.25rem;margin-right:.25rem;margin-bottom:.25rem;margin-left:.25rem}
  .p-sm-1{padding-top:.25rem;padding-right:.25rem;padding-bottom:.25rem;padding-left:.25rem}
  .m-sm-2{margin-top:.5rem;margin-right:.5rem;margin-bottom:.5rem;margin-left:.5rem}
  .p-sm-2{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}
  .m-sm-3{margin-top:1rem;margin-right:1rem;margin-bottom:1rem;margin-left:1rem}
  .p-sm-3{padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem}
  .m-sm-4{margin-top:1.5rem;margin-right:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem}
  .p-sm-4{padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem}
  .m-sm-5{margin-top:3rem;margin-right:3rem;margin-bottom:3rem;margin-left:3rem}
  .p-sm-5{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}
  .m-sm-auto{margin-top:auto;margin-right:auto;margin-bottom:auto;margin-left:auto}
  .mt-sm-0{margin-top:0}
  .pt-sm-0{padding-top:0}
  .mt-sm-1{margin-top:.25rem}
  .pt-sm-1{padding-top:.25rem}
  .mt-sm-2{margin-top:.5rem}
  .pt-sm-2{padding-top:.5rem}
  .mt-sm-3{margin-top:1rem}
  .pt-sm-3{padding-top:1rem}
  .mt-sm-4{margin-top:1.5rem}
  .pt-sm-4{padding-top:1.5rem}
  .mt-sm-5{margin-top:3rem}
  .pt-sm-5{padding-top:3rem}
  .mt-sm-auto{margin-top:auto}
  .mb-sm-0{margin-bottom:0}
  .pb-sm-0{padding-bottom:0}
  .mb-sm-1{margin-bottom:.25rem}
  .pb-sm-1{padding-bottom:.25rem}
  .mb-sm-2{margin-bottom:.5rem}
  .pb-sm-2{padding-bottom:.5rem}
  .mb-sm-3{margin-bottom:1rem}
  .pb-sm-3{padding-bottom:1rem}
  .mb-sm-4{margin-bottom:1.5rem}
  .pb-sm-4{padding-bottom:1.5rem}
  .mb-sm-5{margin-bottom:3rem}
  .pb-sm-5{padding-bottom:3rem}
  .mb-sm-auto{margin-bottom:auto}
  .ms-sm-0{margin-left:0}
  .ps-sm-0{padding-left:0}
  .ms-sm-1{margin-left:.25rem}
  .ps-sm-1{padding-left:.25rem}
  .ms-sm-2{margin-left:.5rem}
  .ps-sm-2{padding-left:.5rem}
  .ms-sm-3{margin-left:1rem}
  .ps-sm-3{padding-left:1rem}
  .ms-sm-4{margin-left:1.5rem}
  .ps-sm-4{padding-left:1.5rem}
  .ms-sm-5{margin-left:3rem}
  .ps-sm-5{padding-left:3rem}
  .ms-sm-auto{margin-left:auto}
  .me-sm-0{margin-right:0}
  .pe-sm-0{padding-right:0}
  .me-sm-1{margin-right:.25rem}
  .pe-sm-1{padding-right:.25rem}
  .me-sm-2{margin-right:.5rem}
  .pe-sm-2{padding-right:.5rem}
  .me-sm-3{margin-right:1rem}
  .pe-sm-3{padding-right:1rem}
  .me-sm-4{margin-right:1.5rem}
  .pe-sm-4{padding-right:1.5rem}
  .me-sm-5{margin-right:3rem}
  .pe-sm-5{padding-right:3rem}
  .me-sm-auto{margin-right:auto}
  .mx-sm-0{margin-left:0;margin-right:0}
  .px-sm-0{padding-left:0;padding-right:0}
  .mx-sm-1{margin-left:.25rem;margin-right:.25rem}
  .px-sm-1{padding-left:.25rem;padding-right:.25rem}
  .mx-sm-2{margin-left:.5rem;margin-right:.5rem}
  .px-sm-2{padding-left:.5rem;padding-right:.5rem}
  .mx-sm-3{margin-left:1rem;margin-right:1rem}
  .px-sm-3{padding-left:1rem;padding-right:1rem}
  .mx-sm-4{margin-left:1.5rem;margin-right:1.5rem}
  .px-sm-4{padding-left:1.5rem;padding-right:1.5rem}
  .mx-sm-5{margin-left:3rem;margin-right:3rem}
  .px-sm-5{padding-left:3rem;padding-right:3rem}
  .mx-sm-auto{margin-left:auto;margin-right:auto}
  .my-sm-0{margin-top:0;margin-bottom:0}
  .py-sm-0{padding-top:0;padding-bottom:0}
  .my-sm-1{margin-top:.25rem;margin-bottom:.25rem}
  .py-sm-1{padding-top:.25rem;padding-bottom:.25rem}
  .my-sm-2{margin-top:.5rem;margin-bottom:.5rem}
  .py-sm-2{padding-top:.5rem;padding-bottom:.5rem}
  .my-sm-3{margin-top:1rem;margin-bottom:1rem}
  .py-sm-3{padding-top:1rem;padding-bottom:1rem}
  .my-sm-4{margin-top:1.5rem;margin-bottom:1.5rem}
  .py-sm-4{padding-top:1.5rem;padding-bottom:1.5rem}
  .my-sm-5{margin-top:3rem;margin-bottom:3rem}
  .py-sm-5{padding-top:3rem;padding-bottom:3rem}
  .my-sm-auto{margin-top:auto;margin-bottom:auto}
}
@media(min-width:768px){
  .m-md-0{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}
  .p-md-0{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}
  .m-md-1{margin-top:.25rem;margin-right:.25rem;margin-bottom:.25rem;margin-left:.25rem}
  .p-md-1{padding-top:.25rem;padding-right:.25rem;padding-bottom:.25rem;padding-left:.25rem}
  .m-md-2{margin-top:.5rem;margin-right:.5rem;margin-bottom:.5rem;margin-left:.5rem}
  .p-md-2{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}
  .m-md-3{margin-top:1rem;margin-right:1rem;margin-bottom:1rem;margin-left:1rem}
  .p-md-3{padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem}
  .m-md-4{margin-top:1.5rem;margin-right:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem}
  .p-md-4{padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem}
  .m-md-5{margin-top:3rem;margin-right:3rem;margin-bottom:3rem;margin-left:3rem}
  .p-md-5{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}
  .m-md-auto{margin-top:auto;margin-right:auto;margin-bottom:auto;margin-left:auto}
  .mt-md-0{margin-top:0}
  .pt-md-0{padding-top:0}
  .mt-md-1{margin-top:.25rem}
  .pt-md-1{padding-top:.25rem}
  .mt-md-2{margin-top:.5rem}
  .pt-md-2{padding-top:.5rem}
  .mt-md-3{margin-top:1rem}
  .pt-md-3{padding-top:1rem}
  .mt-md-4{margin-top:1.5rem}
  .pt-md-4{padding-top:1.5rem}
  .mt-md-5{margin-top:3rem}
  .pt-md-5{padding-top:3rem}
  .mt-md-auto{margin-top:auto}
  .mb-md-0{margin-bottom:0}
  .pb-md-0{padding-bottom:0}
  .mb-md-1{margin-bottom:.25rem}
  .pb-md-1{padding-bottom:.25rem}
  .mb-md-2{margin-bottom:.5rem}
  .pb-md-2{padding-bottom:.5rem}
  .mb-md-3{margin-bottom:1rem}
  .pb-md-3{padding-bottom:1rem}
  .mb-md-4{margin-bottom:1.5rem}
  .pb-md-4{padding-bottom:1.5rem}
  .mb-md-5{margin-bottom:3rem}
  .pb-md-5{padding-bottom:3rem}
  .mb-md-auto{margin-bottom:auto}
  .ms-md-0{margin-left:0}
  .ps-md-0{padding-left:0}
  .ms-md-1{margin-left:.25rem}
  .ps-md-1{padding-left:.25rem}
  .ms-md-2{margin-left:.5rem}
  .ps-md-2{padding-left:.5rem}
  .ms-md-3{margin-left:1rem}
  .ps-md-3{padding-left:1rem}
  .ms-md-4{margin-left:1.5rem}
  .ps-md-4{padding-left:1.5rem}
  .ms-md-5{margin-left:3rem}
  .ps-md-5{padding-left:3rem}
  .ms-md-auto{margin-left:auto}
  .me-md-0{margin-right:0}
  .pe-md-0{padding-right:0}
  .me-md-1{margin-right:.25rem}
  .pe-md-1{padding-right:.25rem}
  .me-md-2{margin-right:.5rem}
  .pe-md-2{padding-right:.5rem}
  .me-md-3{margin-right:1rem}
  .pe-md-3{padding-right:1rem}
  .me-md-4{margin-right:1.5rem}
  .pe-md-4{padding-right:1.5rem}
  .me-md-5{margin-right:3rem}
  .pe-md-5{padding-right:3rem}
  .me-md-auto{margin-right:auto}
  .mx-md-0{margin-left:0;margin-right:0}
  .px-md-0{padding-left:0;padding-right:0}
  .mx-md-1{margin-left:.25rem;margin-right:.25rem}
  .px-md-1{padding-left:.25rem;padding-right:.25rem}
  .mx-md-2{margin-left:.5rem;margin-right:.5rem}
  .px-md-2{padding-left:.5rem;padding-right:.5rem}
  .mx-md-3{margin-left:1rem;margin-right:1rem}
  .px-md-3{padding-left:1rem;padding-right:1rem}
  .mx-md-4{margin-left:1.5rem;margin-right:1.5rem}
  .px-md-4{padding-left:1.5rem;padding-right:1.5rem}
  .mx-md-5{margin-left:3rem;margin-right:3rem}
  .px-md-5{padding-left:3rem;padding-right:3rem}
  .mx-md-auto{margin-left:auto;margin-right:auto}
  .my-md-0{margin-top:0;margin-bottom:0}
  .py-md-0{padding-top:0;padding-bottom:0}
  .my-md-1{margin-top:.25rem;margin-bottom:.25rem}
  .py-md-1{padding-top:.25rem;padding-bottom:.25rem}
  .my-md-2{margin-top:.5rem;margin-bottom:.5rem}
  .py-md-2{padding-top:.5rem;padding-bottom:.5rem}
  .my-md-3{margin-top:1rem;margin-bottom:1rem}
  .py-md-3{padding-top:1rem;padding-bottom:1rem}
  .my-md-4{margin-top:1.5rem;margin-bottom:1.5rem}
  .py-md-4{padding-top:1.5rem;padding-bottom:1.5rem}
  .my-md-5{margin-top:3rem;margin-bottom:3rem}
  .py-md-5{padding-top:3rem;padding-bottom:3rem}
  .my-md-auto{margin-top:auto;margin-bottom:auto}
}
@media(min-width:992px){
  .m-lg-0{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}
  .p-lg-0{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}
  .m-lg-1{margin-top:.25rem;margin-right:.25rem;margin-bottom:.25rem;margin-left:.25rem}
  .p-lg-1{padding-top:.25rem;padding-right:.25rem;padding-bottom:.25rem;padding-left:.25rem}
  .m-lg-2{margin-top:.5rem;margin-right:.5rem;margin-bottom:.5rem;margin-left:.5rem}
  .p-lg-2{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}
  .m-lg-3{margin-top:1rem;margin-right:1rem;margin-bottom:1rem;margin-left:1rem}
  .p-lg-3{padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem}
  .m-lg-4{margin-top:1.5rem;margin-right:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem}
  .p-lg-4{padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem}
  .m-lg-5{margin-top:3rem;margin-right:3rem;margin-bottom:3rem;margin-left:3rem}
  .p-lg-5{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}
  .m-lg-auto{margin-top:auto;margin-right:auto;margin-bottom:auto;margin-left:auto}
  .mt-lg-0{margin-top:0}
  .pt-lg-0{padding-top:0}
  .mt-lg-1{margin-top:.25rem}
  .pt-lg-1{padding-top:.25rem}
  .mt-lg-2{margin-top:.5rem}
  .pt-lg-2{padding-top:.5rem}
  .mt-lg-3{margin-top:1rem}
  .pt-lg-3{padding-top:1rem}
  .mt-lg-4{margin-top:1.5rem}
  .pt-lg-4{padding-top:1.5rem}
  .mt-lg-5{margin-top:3rem}
  .pt-lg-5{padding-top:3rem}
  .mt-lg-auto{margin-top:auto}
  .mb-lg-0{margin-bottom:0}
  .pb-lg-0{padding-bottom:0}
  .mb-lg-1{margin-bottom:.25rem}
  .pb-lg-1{padding-bottom:.25rem}
  .mb-lg-2{margin-bottom:.5rem}
  .pb-lg-2{padding-bottom:.5rem}
  .mb-lg-3{margin-bottom:1rem}
  .pb-lg-3{padding-bottom:1rem}
  .mb-lg-4{margin-bottom:1.5rem}
  .pb-lg-4{padding-bottom:1.5rem}
  .mb-lg-5{margin-bottom:3rem}
  .pb-lg-5{padding-bottom:3rem}
  .mb-lg-auto{margin-bottom:auto}
  .ms-lg-0{margin-left:0}
  .ps-lg-0{padding-left:0}
  .ms-lg-1{margin-left:.25rem}
  .ps-lg-1{padding-left:.25rem}
  .ms-lg-2{margin-left:.5rem}
  .ps-lg-2{padding-left:.5rem}
  .ms-lg-3{margin-left:1rem}
  .ps-lg-3{padding-left:1rem}
  .ms-lg-4{margin-left:1.5rem}
  .ps-lg-4{padding-left:1.5rem}
  .ms-lg-5{margin-left:3rem}
  .ps-lg-5{padding-left:3rem}
  .ms-lg-auto{margin-left:auto}
  .me-lg-0{margin-right:0}
  .pe-lg-0{padding-right:0}
  .me-lg-1{margin-right:.25rem}
  .pe-lg-1{padding-right:.25rem}
  .me-lg-2{margin-right:.5rem}
  .pe-lg-2{padding-right:.5rem}
  .me-lg-3{margin-right:1rem}
  .pe-lg-3{padding-right:1rem}
  .me-lg-4{margin-right:1.5rem}
  .pe-lg-4{padding-right:1.5rem}
  .me-lg-5{margin-right:3rem}
  .pe-lg-5{padding-right:3rem}
  .me-lg-auto{margin-right:auto}
  .mx-lg-0{margin-left:0;margin-right:0}
  .px-lg-0{padding-left:0;padding-right:0}
  .mx-lg-1{margin-left:.25rem;margin-right:.25rem}
  .px-lg-1{padding-left:.25rem;padding-right:.25rem}
  .mx-lg-2{margin-left:.5rem;margin-right:.5rem}
  .px-lg-2{padding-left:.5rem;padding-right:.5rem}
  .mx-lg-3{margin-left:1rem;margin-right:1rem}
  .px-lg-3{padding-left:1rem;padding-right:1rem}
  .mx-lg-4{margin-left:1.5rem;margin-right:1.5rem}
  .px-lg-4{padding-left:1.5rem;padding-right:1.5rem}
  .mx-lg-5{margin-left:3rem;margin-right:3rem}
  .px-lg-5{padding-left:3rem;padding-right:3rem}
  .mx-lg-auto{margin-left:auto;margin-right:auto}
  .my-lg-0{margin-top:0;margin-bottom:0}
  .py-lg-0{padding-top:0;padding-bottom:0}
  .my-lg-1{margin-top:.25rem;margin-bottom:.25rem}
  .py-lg-1{padding-top:.25rem;padding-bottom:.25rem}
  .my-lg-2{margin-top:.5rem;margin-bottom:.5rem}
  .py-lg-2{padding-top:.5rem;padding-bottom:.5rem}
  .my-lg-3{margin-top:1rem;margin-bottom:1rem}
  .py-lg-3{padding-top:1rem;padding-bottom:1rem}
  .my-lg-4{margin-top:1.5rem;margin-bottom:1.5rem}
  .py-lg-4{padding-top:1.5rem;padding-bottom:1.5rem}
  .my-lg-5{margin-top:3rem;margin-bottom:3rem}
  .py-lg-5{padding-top:3rem;padding-bottom:3rem}
  .my-lg-auto{margin-top:auto;margin-bottom:auto}
}
@media(min-width:1200px){
  .m-xl-0{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}
  .p-xl-0{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}
  .m-xl-1{margin-top:.25rem;margin-right:.25rem;margin-bottom:.25rem;margin-left:.25rem}
  .p-xl-1{padding-top:.25rem;padding-right:.25rem;padding-bottom:.25rem;padding-left:.25rem}
  .m-xl-2{margin-top:.5rem;margin-right:.5rem;margin-bottom:.5rem;margin-left:.5rem}
  .p-xl-2{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}
  .m-xl-3{margin-top:1rem;margin-right:1rem;margin-bottom:1rem;margin-left:1rem}
  .p-xl-3{padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem}
  .m-xl-4{margin-top:1.5rem;margin-right:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem}
  .p-xl-4{padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem}
  .m-xl-5{margin-top:3rem;margin-right:3rem;margin-bottom:3rem;margin-left:3rem}
  .p-xl-5{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}
  .m-xl-auto{margin-top:auto;margin-right:auto;margin-bottom:auto;margin-left:auto}
  .mt-xl-0{margin-top:0}
  .pt-xl-0{padding-top:0}
  .mt-xl-1{margin-top:.25rem}
  .pt-xl-1{padding-top:.25rem}
  .mt-xl-2{margin-top:.5rem}
  .pt-xl-2{padding-top:.5rem}
  .mt-xl-3{margin-top:1rem}
  .pt-xl-3{padding-top:1rem}
  .mt-xl-4{margin-top:1.5rem}
  .pt-xl-4{padding-top:1.5rem}
  .mt-xl-5{margin-top:3rem}
  .pt-xl-5{padding-top:3rem}
  .mt-xl-auto{margin-top:auto}
  .mb-xl-0{margin-bottom:0}
  .pb-xl-0{padding-bottom:0}
  .mb-xl-1{margin-bottom:.25rem}
  .pb-xl-1{padding-bottom:.25rem}
  .mb-xl-2{margin-bottom:.5rem}
  .pb-xl-2{padding-bottom:.5rem}
  .mb-xl-3{margin-bottom:1rem}
  .pb-xl-3{padding-bottom:1rem}
  .mb-xl-4{margin-bottom:1.5rem}
  .pb-xl-4{padding-bottom:1.5rem}
  .mb-xl-5{margin-bottom:3rem}
  .pb-xl-5{padding-bottom:3rem}
  .mb-xl-auto{margin-bottom:auto}
  .ms-xl-0{margin-left:0}
  .ps-xl-0{padding-left:0}
  .ms-xl-1{margin-left:.25rem}
  .ps-xl-1{padding-left:.25rem}
  .ms-xl-2{margin-left:.5rem}
  .ps-xl-2{padding-left:.5rem}
  .ms-xl-3{margin-left:1rem}
  .ps-xl-3{padding-left:1rem}
  .ms-xl-4{margin-left:1.5rem}
  .ps-xl-4{padding-left:1.5rem}
  .ms-xl-5{margin-left:3rem}
  .ps-xl-5{padding-left:3rem}
  .ms-xl-auto{margin-left:auto}
  .me-xl-0{margin-right:0}
  .pe-xl-0{padding-right:0}
  .me-xl-1{margin-right:.25rem}
  .pe-xl-1{padding-right:.25rem}
  .me-xl-2{margin-right:.5rem}
  .pe-xl-2{padding-right:.5rem}
  .me-xl-3{margin-right:1rem}
  .pe-xl-3{padding-right:1rem}
  .me-xl-4{margin-right:1.5rem}
  .pe-xl-4{padding-right:1.5rem}
  .me-xl-5{margin-right:3rem}
  .pe-xl-5{padding-right:3rem}
  .me-xl-auto{margin-right:auto}
  .mx-xl-0{margin-left:0;margin-right:0}
  .px-xl-0{padding-left:0;padding-right:0}
  .mx-xl-1{margin-left:.25rem;margin-right:.25rem}
  .px-xl-1{padding-left:.25rem;padding-right:.25rem}
  .mx-xl-2{margin-left:.5rem;margin-right:.5rem}
  .px-xl-2{padding-left:.5rem;padding-right:.5rem}
  .mx-xl-3{margin-left:1rem;margin-right:1rem}
  .px-xl-3{padding-left:1rem;padding-right:1rem}
  .mx-xl-4{margin-left:1.5rem;margin-right:1.5rem}
  .px-xl-4{padding-left:1.5rem;padding-right:1.5rem}
  .mx-xl-5{margin-left:3rem;margin-right:3rem}
  .px-xl-5{padding-left:3rem;padding-right:3rem}
  .mx-xl-auto{margin-left:auto;margin-right:auto}
  .my-xl-0{margin-top:0;margin-bottom:0}
  .py-xl-0{padding-top:0;padding-bottom:0}
  .my-xl-1{margin-top:.25rem;margin-bottom:.25rem}
  .py-xl-1{padding-top:.25rem;padding-bottom:.25rem}
  .my-xl-2{margin-top:.5rem;margin-bottom:.5rem}
  .py-xl-2{padding-top:.5rem;padding-bottom:.5rem}
  .my-xl-3{margin-top:1rem;margin-bottom:1rem}
  .py-xl-3{padding-top:1rem;padding-bottom:1rem}
  .my-xl-4{margin-top:1.5rem;margin-bottom:1.5rem}
  .py-xl-4{padding-top:1.5rem;padding-bottom:1.5rem}
  .my-xl-5{margin-top:3rem;margin-bottom:3rem}
  .py-xl-5{padding-top:3rem;padding-bottom:3rem}
  .my-xl-auto{margin-top:auto;margin-bottom:auto}
}

.d-none{display:none!important}
.d-inline{display:inline!important}
.d-inline-block{display:inline-block!important}
.d-block{display:block!important}
.d-grid{display:grid!important}
.d-flex{display:flex!important}
.d-inline-flex{display:inline-flex!important}
@media(min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}
@media(min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}
@media(min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}
@media(min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}

.flex-row{flex-direction:row!important}
.flex-column{flex-direction:column!important}
.flex-wrap{flex-wrap:wrap!important}
.flex-nowrap{flex-wrap:nowrap!important}
.flex-fill{flex:1 1 auto!important}
.flex-grow-1{flex-grow:1!important}
.align-items-start{align-items:flex-start!important}
.align-items-center{align-items:center!important}
.align-items-end{align-items:flex-end!important}
.align-items-stretch{align-items:stretch!important}
.align-items-baseline{align-items:baseline!important}
.align-self-center{align-self:center!important}
.align-self-start{align-self:flex-start!important}
.justify-content-start{justify-content:flex-start!important}
.justify-content-center{justify-content:center!important}
.justify-content-end{justify-content:flex-end!important}
.justify-content-between{justify-content:space-between!important}
.justify-content-around{justify-content:space-around!important}
.justify-content-evenly{justify-content:space-evenly!important}
.text-start{text-align:left!important}
.text-center{text-align:center!important}
.text-end{text-align:right!important}
.text-nowrap{white-space:nowrap!important}
.text-uppercase{text-transform:uppercase!important}
.text-decoration-none{text-decoration:none!important}
.fw-light{font-weight:300!important}
.fw-normal{font-weight:400!important}
.fw-medium{font-weight:500!important}
.fw-semibold{font-weight:600!important}
.fw-bold{font-weight:700!important}
.fst-italic{font-style:italic!important}
.lh-1{line-height:1!important}
.lh-sm{line-height:1.3!important}
.lh-base{line-height:1.6!important}
.w-100{width:100%!important}
.w-75{width:75%!important}
.w-50{width:50%!important}
.w-auto{width:auto!important}
.h-100{height:100%!important}
.mw-100{max-width:100%!important}
.position-relative{position:relative!important}
.position-absolute{position:absolute!important}
.position-sticky{position:sticky!important}
.overflow-hidden{overflow:hidden!important}
.overflow-auto{overflow:auto!important}
.d-grid{display:grid!important}
.gap-0{gap:0!important}
.gap-1{gap:.25rem!important}
.gap-2{gap:.5rem!important}
.gap-3{gap:1rem!important}
.gap-4{gap:1.5rem!important}
.gap-5{gap:3rem!important}
.rounded-0{border-radius:0!important}
.rounded-circle{border-radius:50%!important}
.rounded-pill{border-radius:var(--r-pill)!important}
.border-0{border:0!important}
.border-secondary{border-color:var(--line)!important}
.img-fluid{max-width:100%;height:auto}
.list-unstyled{list-style:none;padding-left:0}
.list-inline{list-style:none;padding-left:0}
.list-inline-item{display:inline-block}
.float-end{float:right!important}
.float-start{float:left!important}
.clearfix::after{display:block;clear:both;content:""}
.opacity-75{opacity:.75!important}
.user-select-none{user-select:none}

@media(min-width:576px){
  .text-sm-start{text-align:left!important}
  .text-sm-center{text-align:center!important}
  .text-sm-end{text-align:right!important}
  .justify-content-sm-start{justify-content:flex-start!important}
  .justify-content-sm-center{justify-content:center!important}
  .justify-content-sm-end{justify-content:flex-end!important}
  .justify-content-sm-between{justify-content:space-between!important}
  .align-items-sm-center{align-items:center!important}
  .align-items-sm-start{align-items:flex-start!important}
  .flex-sm-row{flex-direction:row!important}
  .flex-sm-column{flex-direction:column!important}
  .order-sm-1{order:1!important}
  .order-sm-2{order:2!important}
  .order-sm-3{order:3!important}
  .w-sm-auto{width:auto!important}
  .d-sm-inline-flex{display:inline-flex!important}
}
@media(min-width:768px){
  .text-md-start{text-align:left!important}
  .text-md-center{text-align:center!important}
  .text-md-end{text-align:right!important}
  .justify-content-md-start{justify-content:flex-start!important}
  .justify-content-md-center{justify-content:center!important}
  .justify-content-md-end{justify-content:flex-end!important}
  .justify-content-md-between{justify-content:space-between!important}
  .align-items-md-center{align-items:center!important}
  .align-items-md-start{align-items:flex-start!important}
  .flex-md-row{flex-direction:row!important}
  .flex-md-column{flex-direction:column!important}
  .order-md-1{order:1!important}
  .order-md-2{order:2!important}
  .order-md-3{order:3!important}
  .w-md-auto{width:auto!important}
  .d-md-inline-flex{display:inline-flex!important}
}
@media(min-width:992px){
  .text-lg-start{text-align:left!important}
  .text-lg-center{text-align:center!important}
  .text-lg-end{text-align:right!important}
  .justify-content-lg-start{justify-content:flex-start!important}
  .justify-content-lg-center{justify-content:center!important}
  .justify-content-lg-end{justify-content:flex-end!important}
  .justify-content-lg-between{justify-content:space-between!important}
  .align-items-lg-center{align-items:center!important}
  .align-items-lg-start{align-items:flex-start!important}
  .flex-lg-row{flex-direction:row!important}
  .flex-lg-column{flex-direction:column!important}
  .order-lg-1{order:1!important}
  .order-lg-2{order:2!important}
  .order-lg-3{order:3!important}
  .w-lg-auto{width:auto!important}
  .d-lg-inline-flex{display:inline-flex!important}
}
@media(min-width:1200px){
  .text-xl-start{text-align:left!important}
  .text-xl-center{text-align:center!important}
  .text-xl-end{text-align:right!important}
  .justify-content-xl-start{justify-content:flex-start!important}
  .justify-content-xl-center{justify-content:center!important}
  .justify-content-xl-end{justify-content:flex-end!important}
  .justify-content-xl-between{justify-content:space-between!important}
  .align-items-xl-center{align-items:center!important}
  .align-items-xl-start{align-items:flex-start!important}
  .flex-xl-row{flex-direction:row!important}
  .flex-xl-column{flex-direction:column!important}
  .order-xl-1{order:1!important}
  .order-xl-2{order:2!important}
  .order-xl-3{order:3!important}
  .w-xl-auto{width:auto!important}
  .d-xl-inline-flex{display:inline-flex!important}
}

/* collapse + breadcrumbs + nav bits the pages still reference */
.collapse:not(.show){display:none}
.collapsing{height:0;overflow:hidden;transition:height .25s var(--ease)}
.breadcrumb{
  display:flex;flex-wrap:wrap;list-style:none;margin:0 0 18px;padding:0;
  font-size:.85rem;color:var(--muted);font-family:var(--font-mono);
}
.breadcrumb-item+.breadcrumb-item::before{content:"/";padding:0 8px;color:var(--muted-2)}
.breadcrumb-item a{color:var(--muted)}
.breadcrumb-item a:hover{color:var(--accent-text)}
.breadcrumb-item.active{color:var(--text)}
.nav-item{list-style:none}
.nav-link{color:var(--text);padding:8px 12px;display:inline-block}
.nav-link:hover{color:var(--accent-text)}
.footerarealink{color:var(--muted)}
.footerarealink:hover{color:var(--accent-text)}
.accepted-payment{display:flex;gap:10px;flex-wrap:wrap;align-items:center;opacity:.8}
.unlimited{color:var(--signal);font-weight:600}
.desktop{display:block}
.mobile{display:none}
@media(max-width:768px){.desktop{display:none}.mobile{display:block}}

/* ---------------------------------------------------------------
   ILLUSTRATION SIZING
   The inline SVGs carry a viewBox, so without a width they would
   stretch to whatever the container allows. Cap them.
   --------------------------------------------------------------- */
svg{max-width:100%}
.hero-figure svg{width:100%;max-width:520px;max-height:440px;margin-inline:auto;display:block}
.feat-card svg:not([width]),
.feature-card svg:not([width]),
.info-card svg:not([width]),
.card svg:not([width]){width:100%;max-width:440px;max-height:340px;margin-inline:auto;display:block}
main svg[viewBox]:not([width]):not([height]):not(.caret):not(.icon-sun):not(.icon-moon){
  max-width:100%;max-height:460px;
}
.feat-icon svg,.feature-icon svg,.policy-icon svg,.ico svg,
.icon-btn svg,.social-links svg,.review-star svg,.tp-star svg,
.review-tp-logo svg,.top-link svg,.btn svg{max-height:none;width:auto}
.navbar-brand svg{height:36px;width:auto;max-width:none}
.nav-sheet__top svg{height:30px;width:auto}
.footer-brand svg{height:38px;width:auto}
img{max-width:100%;height:auto}


/* ============================================================
   VM6 NETWORKS — COMPONENTS  (part 2 of style.css)
   Every legacy class from the old site, re-expressed in tokens
   so all 29 pages theme correctly in dark and light.
   ============================================================ */

/* ---------------- page heroes (legacy variants) ---------------- */
.hero,.vps-hero,.cpanel-hero,.dedicated-hero,.legal-hero,.page-hero{
  position:relative;padding:56px 0 52px;background:transparent;overflow:hidden;
}
.hero::before,.vps-hero::before,.cpanel-hero::before,.dedicated-hero::before,.page-hero::before{
  content:"";position:absolute;top:-190px;left:50%;width:900px;height:460px;transform:translateX(-50%);
  background:radial-gradient(ellipse at center,var(--accent-soft),transparent 68%);pointer-events:none;
}
.legal-hero{padding:48px 0 36px;border-bottom:1px solid var(--line)}
.hero-content{position:relative;z-index:1}
.hero .h1,.vps-hero .h1,.cpanel-hero .h1,.dedicated-hero .h1,.legal-hero .h1{margin-bottom:16px}
.hero p,.vps-hero p,.cpanel-hero p,.dedicated-hero p,.legal-hero p{color:var(--muted)}
.hero .lead{max-width:60ch}
.vps-panel-img{border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow)}

/* ---------------- cards ---------------- */
.feat-card,.feature-card,.info-card,.app-card,.blog-card,.policy-card,.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px;height:100%;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);
  color:var(--text);
}
.feat-card:hover,.feature-card:hover,.info-card:hover,.app-card:hover,.blog-card:hover,.policy-card:hover{
  border-color:var(--accent-line);transform:translateY(-3px);box-shadow:var(--shadow);
}
.feat-card .h4,.feature-card .h4,.info-card .h4,.app-card .h4,.policy-card .h4,.feat-card .h3,.feature-card .h3{margin-bottom:9px;font-size:1.08rem}
.feat-card p,.feature-card p,.info-card p,.app-card p,.policy-card p{color:var(--muted);font-size:.94rem;margin-bottom:0}
.feat-icon,.feature-icon,.policy-icon,.ico{
  width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:var(--r);
  background:var(--accent-soft);color:var(--accent-text);font-size:1.05rem;margin-bottom:16px;
  border:1px solid var(--accent-line);
}
.card-body{padding:0}
.card-title{color:var(--text-strong)}
.card-text{color:var(--muted)}
.highlight-box{
  background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-lg);
  padding:22px 24px;color:var(--text);
}
.highlight-box .h3,.highlight-box .h4{margin-bottom:8px}
.story-section,.management-section,.terms-section,.legal-content,.policy-content{color:var(--text)}
.terms-section,.policy-item{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px;margin-bottom:20px;
}
.terms-section .h2,.terms-section .h3{margin-bottom:12px}
.terms-section p,.terms-section li,.legal-content p,.legal-content li,.policy-content p{color:var(--muted)}
.legal-content .h2,.legal-content .h3{margin-top:2rem}
.last-updated{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.78rem;
  color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 14px;background:var(--surface);
}
.toc,.right-sidebar,.useful-links{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;
}
.toc ul,.useful-links ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.toc a,.useful-links a{color:var(--muted);font-size:.92rem}
.toc a:hover,.useful-links a:hover{color:var(--accent-text)}

/* ---------------- pricing ---------------- */
.pricing-card,.vps-plan-card,.hosting-plan-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px 26px;height:100%;display:flex;flex-direction:column;position:relative;
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);
}
.pricing-card:hover,.vps-plan-card:hover,.hosting-plan-card:hover{
  border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow);
}
.pricing-card.featured,.vps-plan-card.featured,.hosting-plan-card.featured,.pricing-card.popular,.vps-plan-card.popular{
  border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft),var(--shadow);
}
.plan-name{
  font-family:var(--font-display);font-size:1.12rem;font-weight:700;color:var(--text-strong);
  letter-spacing:-.01em;margin-bottom:4px;
}
.plan-price,.price{
  font-family:var(--font-display);font-size:2.4rem;font-weight:700;letter-spacing:-.03em;
  color:var(--text-strong);line-height:1.05;
}
.plan-price small,.price small{font-size:.9rem;color:var(--muted);font-weight:400;font-family:var(--font-body)}
.plan-period,.price-period{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.price-highlight{color:var(--accent-text);font-weight:600}
.spec-list,.plan-spec,.feature-list{list-style:none;margin:0 0 20px;padding:18px 0 0;border-top:1px solid var(--line-soft);display:grid;gap:11px}
.spec-list li,.plan-spec li,.feature-list li{display:flex;justify-content:space-between;gap:14px;align-items:baseline;font-size:.92rem}
.feature-list li{justify-content:flex-start;gap:10px;color:var(--muted)}
.spec-label{color:var(--muted)}
.spec-value{color:var(--text-strong);font-family:var(--font-mono);font-size:.88rem;font-weight:500;text-align:right}
.pricing-card .btn,.vps-plan-card .btn,.hosting-plan-card .btn{margin-top:auto;width:100%}
.tag,.location-badge,.cpanel-badge,.domain-included{
  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);
  background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-text);
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
}
.tag.popular,.tag.featured{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.tech-badge{
  display:inline-flex;align-items:center;gap:7px;padding:7px 13px;margin:0 6px 8px 0;
  border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);
  font-size:.83rem;color:var(--muted);font-weight:500;
}
.tech-badge i{color:var(--accent-text)}
.checkmark,.feature-checkmark,.check-yes{color:var(--signal)}
.cross,.feature-cross,.check-no{color:var(--danger)}

/* ---------------- stats ---------------- */
.hosting-stats,.vps-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.stat-item{background:var(--surface);padding:22px 18px;text-align:center}
.stat-number{font-family:var(--font-display);font-size:1.9rem;font-weight:700;letter-spacing:-.03em;color:var(--accent-text);display:block;line-height:1.1}
.stat-label{font-size:.8rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-mono)}

/* ---------------- tables ---------------- */
.comparison-table,.pricing-table,.sla-table,.management-table,table.table{
  width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;color:var(--text);font-size:.93rem;
}
.comparison-table th,.pricing-table th,.sla-table th,.management-table th,table.table th{
  background:var(--surface-2);color:var(--text-strong);font-family:var(--font-mono);
  font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);
}
.comparison-table td,.pricing-table td,.sla-table td,.management-table td,table.table td{
  padding:14px 16px;border-bottom:1px solid var(--line-soft);color:var(--muted);vertical-align:middle;
}
.comparison-table tr:last-child td,.pricing-table tr:last-child td,.sla-table tr:last-child td,.management-table tr:last-child td,table.table tr:last-child td{border-bottom:0}
.comparison-table tbody tr:hover td,.pricing-table tbody tr:hover td,table.table tbody tr:hover td{background:var(--surface-2)}
.server-name-cell,.spec-cell{color:var(--text-strong);font-weight:600}
.price-cell,.setup-cell{font-family:var(--font-mono);color:var(--accent-text);font-weight:600;white-space:nowrap}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table>:not(caption)>*>*{background:transparent;color:inherit;box-shadow:none}

/* ---------------- reviews ---------------- */
.review-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px;height:100%;display:flex;flex-direction:column;gap:12px;
}
.review-card:hover{border-color:var(--accent-line)}
.review-card-top{display:flex;align-items:center;gap:12px}
.reviewer-avatar{
  width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;
  color:#fff;font-weight:700;font-family:var(--font-display);font-size:.9rem;letter-spacing:-.02em;
}
.reviewer-info{min-width:0}
.reviewer-name{font-weight:600;color:var(--text-strong);font-size:.94rem}
.reviewer-meta{font-size:.78rem;color:var(--muted)}
.review-tp-logo{margin-left:auto;color:var(--signal);display:inline-flex}
.review-tp-logo svg{width:19px;height:19px;fill:currentColor}
.review-stars-row{display:flex;gap:3px}
.review-star,.tp-star{width:17px;height:17px;background:var(--signal);display:inline-grid;place-items:center;border-radius:2px}
.review-star svg,.tp-star svg{width:13px;height:13px;fill:#fff}
.review-title{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-strong)}
.review-body{color:var(--muted);font-size:.92rem;margin:0}
.review-date{font-family:var(--font-mono);font-size:.74rem;color:var(--muted-2);margin-top:auto}

/* ---------------- accordions (FAQ) ---------------- */
.accordion{--bs-accordion-bg:transparent;display:grid;gap:10px}
.accordion-item{
  background:var(--surface)!important;border:1px solid var(--line)!important;
  border-radius:var(--r-lg)!important;overflow:hidden;color:var(--text);
}
.accordion-header{margin:0}
.accordion-button{
  background:transparent!important;color:var(--text-strong)!important;
  font-family:var(--font-display);font-weight:600;font-size:1rem;
  padding:17px 20px;box-shadow:none!important;width:100%;border:0;text-align:left;
  display:flex;align-items:center;gap:10px;cursor:pointer;
}
.accordion-button:hover{color:var(--accent-text)!important}
.accordion-button:not(.collapsed){color:var(--accent-text)!important;background:var(--accent-soft)!important}
.accordion-button::after{
  background:none!important;content:"+";font-family:var(--font-mono);font-size:1.25rem;
  color:var(--accent);margin-left:auto;transform:none!important;width:auto;height:auto;line-height:1;
}
.accordion-button:not(.collapsed)::after{content:"\2212"}
.accordion-body{padding:0 20px 20px;color:var(--muted);font-size:.95rem}
.accordion-body strong{color:var(--text-strong)}
.accordion-collapse{border:0}
.accordion-collapse:not(.show){display:none}
.accordion-collapse.show{display:block}

/* native details fallback */
details.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:10px}
details.faq-item>summary{cursor:pointer;list-style:none;padding:17px 20px;font-family:var(--font-display);font-weight:600;display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--text-strong)}
details.faq-item>summary::-webkit-details-marker{display:none}
details.faq-item>summary::after{content:"+";color:var(--accent);font-family:var(--font-mono);font-size:1.2rem}
details.faq-item[open]>summary::after{content:"\2212"}
details.faq-item>*:not(summary){padding:0 20px 20px;color:var(--muted)}

/* ---------------- misc legacy ---------------- */
.social-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.social-item{
  display:flex;align-items:center;gap:12px;padding:15px 17px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);font-weight:500;
}
.social-item:hover{border-color:var(--accent);color:var(--accent-text)}
.social-item i{font-size:1.15rem;color:var(--accent-text)}
.company-info,.company-details,.contact-info{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;
}
.contact-item{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line-soft);color:var(--muted)}
.contact-item:last-child{border-bottom:0}
.contact-item i{color:var(--accent-text);margin-top:4px}
.shot-dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:6px;background:var(--line)}
.num{font-family:var(--font-mono);color:var(--accent-text);font-weight:600}
.meta{font-size:.82rem;color:var(--muted);font-family:var(--font-mono)}
.blog-image{border-radius:var(--r) var(--r) 0 0;overflow:hidden;margin:-26px -26px 18px}
.blog-title{font-size:1.1rem;margin-bottom:8px}
.blog-excerpt{color:var(--muted);font-size:.93rem}
.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.policy-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.fade-in{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.fade-in.is-in{opacity:1;transform:none}

/* ---------------- forms ---------------- */
.form-control,.form-select,input[type=text],input[type=email],input[type=search],input[type=tel],input[type=number],textarea,select{
  background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--text)!important;
  border-radius:var(--r-sm)!important;padding:11px 14px;font-family:var(--font-body);font-size:.95rem;width:100%;
}
.form-control:focus,.form-select:focus,textarea:focus,select:focus,input:focus{
  border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important;outline:none;
}
.form-control::placeholder,textarea::placeholder{color:var(--muted-2)}
.form-label,label{color:var(--text);font-weight:500;font-size:.9rem;margin-bottom:6px;display:inline-block}

/* ---------------- bootstrap surface overrides ---------------- */
.badge{background:var(--accent-soft)!important;color:var(--accent-text)!important;border:1px solid var(--accent-line);font-weight:600;border-radius:var(--r-pill);padding:.4em .8em}
.badge.bg-success{background:var(--signal-soft)!important;color:var(--signal)!important;border-color:var(--signal)}
.badge.bg-warning{background:var(--warn-soft)!important;color:var(--warn)!important;border-color:var(--warn)}
.badge.bg-danger{background:var(--danger-soft)!important;color:var(--danger)!important;border-color:var(--danger)}
.alert{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text)}
.alert-info,.alert-primary{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}
.alert-success{background:var(--signal-soft);border-color:var(--signal);color:var(--text)}
.alert-warning{background:var(--warn-soft);border-color:var(--warn);color:var(--text)}
.dropdown-menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:8px}
.dropdown-item{color:var(--text);border-radius:var(--r-sm);padding:9px 12px;font-size:.92rem;display:flex;align-items:center;gap:9px}
.dropdown-item:hover,.dropdown-item:focus{background:var(--surface-2);color:var(--accent-text)}
.dropdown-item i{color:var(--accent-text);width:16px;text-align:center}
.dropdown-divider{border-color:var(--line-soft)}
.modal-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text)}
.list-group-item{background:var(--surface);border-color:var(--line);color:var(--text)}
.border,.border-top,.border-bottom,.border-start,.border-end{border-color:var(--line)!important}
.rounded,.rounded-3{border-radius:var(--r)!important}
.shadow,.shadow-sm,.shadow-lg{box-shadow:var(--shadow)!important}
.blockquote,blockquote{border-left:3px solid var(--accent);padding-left:18px;color:var(--muted);font-style:normal}

/* ---------------- responsive tail ---------------- */
@media(max-width:992px){
  :root{--section-y:56px}
  .hero,.vps-hero,.cpanel-hero,.dedicated-hero,.page-hero{padding:40px 0 36px}
}
@media(max-width:576px){
  body{font-size:15.5px}
  .container,.container-fluid{padding-inline:16px}
  .plan-price,.price{font-size:2.1rem}
  .feat-card,.feature-card,.pricing-card,.vps-plan-card,.hosting-plan-card,.terms-section{padding:20px}
  .footer{padding:44px 0 22px}
  .social-links a{width:38px;height:38px}
}

/* ---------------- print ---------------- */
@media print{
  .top-header,.site-header,.nav-sheet,.to-top,.hero-controls,.footer .social-links{display:none!important}
  body{background:#fff;color:#000}
}

/* ---------------- odds and ends still referenced by old markup ---------------- */
.text-right{text-align:right}
.btn-light{background:var(--surface-2);border-color:var(--line);color:var(--text)}
.btn-light:hover{border-color:var(--accent);color:var(--accent-text)}
.divider{height:1px;background:var(--line);margin:26px 0;border:0}
.faq-list{display:grid;gap:10px}
.hosting-plans,.vps-plans,.policy-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.table-borderless td,.table-borderless th{border:0!important}
.table-active td,tr.table-active{background:var(--surface-2)!important}
.content-header{margin-bottom:24px}
.content-header .h1,.content-header .h2{margin-bottom:10px}
.mdhide{display:none}
@media(min-width:992px){.mdhide{display:block}}
.link{color:var(--accent-text)}
.nav{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.header-area,.sticky-menu,.navbar,.navbar-expand-lg,.navbar-light{background:transparent}
.navbar-toggler,.custom-toggle{display:none}
.logo img,.logo svg{max-height:44px;width:auto}
.sales,.account,.clientlinks,.menu{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.a-shield{color:var(--signal)}
.faq-question{cursor:pointer;width:100%;text-align:left;background:none;border:0;color:var(--text);font:600 1rem/1.3 var(--font-body);padding:16px 0}
.faq-answer{color:var(--muted);padding-bottom:16px}


/* ---------------- keep the theme on top of Bootstrap's defaults ---------------- */
body{background:var(--bg)!important;color:var(--text)!important}
.container,.container-fluid,.container-lg,.container-md,.container-xl{
  max-width:var(--maxw);padding-inline:20px;
}
.container-fluid{max-width:none}
a{color:var(--accent-text);text-decoration:none}
a:hover{color:var(--accent)}
h1,h2,h3,h4,h5,h6{color:var(--text-strong);font-family:var(--font-display)}
.btn{--bs-btn-color:var(--text);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;
     --bs-btn-hover-color:var(--text);box-shadow:none}
.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);
     --bs-btn-color:var(--on-accent);--bs-btn-hover-bg:var(--brand-600);
     --bs-btn-hover-border-color:var(--brand-600);--bs-btn-hover-color:var(--on-accent)}
.card{--bs-card-bg:var(--surface);--bs-card-border-color:var(--line);--bs-card-color:var(--text)}
.table{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--line-soft);
     --bs-table-striped-color:var(--text);--bs-table-striped-bg:var(--surface-2);
     --bs-table-hover-color:var(--text);--bs-table-hover-bg:var(--surface-2)}
.accordion{--bs-accordion-bg:var(--surface);--bs-accordion-color:var(--text);
     --bs-accordion-border-color:var(--line);--bs-accordion-btn-color:var(--text-strong);
     --bs-accordion-btn-bg:transparent;--bs-accordion-active-color:var(--accent-text);
     --bs-accordion-active-bg:var(--accent-soft);--bs-accordion-btn-focus-box-shadow:none}
.dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-border-color:var(--line);
     --bs-dropdown-link-color:var(--text);--bs-dropdown-link-hover-bg:var(--surface-2);
     --bs-dropdown-link-hover-color:var(--accent-text)}
.form-control,.form-select{--bs-body-bg:var(--surface);--bs-border-color:var(--line)}
.badge{--bs-badge-color:var(--accent-text)}
.breadcrumb{--bs-breadcrumb-divider-color:var(--muted-2);--bs-breadcrumb-item-active-color:var(--text)}
hr{--bs-border-color:var(--line);opacity:1}

/* ============================================================
   FIXES FOR LEGACY PAGE CSS
   The old pages were built around a fixed navbar and a wider
   container. These reconcile them with the new shell.
   ============================================================ */

/* The old navbar was fixed, so heroes pushed themselves down by
   120px. The new header is sticky and in flow — remove the gap. */
.vps-hero,.hero,.cpanel-hero,.dedicated-hero,.legal-hero,.page-hero,
.student-hero,.managed-hero,.forex-hero,.game-hero,.reseller-hero,
.affiliate-hero,.promo-hero,.web-hero{margin-top:0!important}

/* Hero headings were sized for a full-bleed layout; rein them in. */
.vps-hero .h1,.hero .h1,.cpanel-hero .h1,.dedicated-hero .h1,.page-hero .h1,
.student-hero .h1,.managed-hero .h1{
  font-size:clamp(1.9rem,3.4vw,2.9rem)!important;line-height:1.14;letter-spacing:-.025em;
}
.legal-hero .h1{font-size:clamp(1.8rem,3vw,2.5rem)!important}
.vps-hero .lead,.hero .lead{max-width:60ch}


/* ============================================================
   SIDE PANELS
   One component for every boxed aside. Markup already on the
   pages:

     <div class="sidebar-box">
       <div class="box-header"><.h4><i class="fas fa-link"></i>Title</.h4></div>
       <div class="box-content"> … or <ul class="useful-links"> … </div>
     </div>

   Reuse the same three classes in the WordPress and WHMCS
   themes and the sidebars will match across all three.
   ============================================================ */
.right-sidebar,.sidebar{
  display:grid;gap:18px;align-content:start;
  position:sticky;top:calc(var(--header-h) + 16px);min-width:0;
}
@media(max-width:991px){.right-sidebar,.sidebar{position:static;margin-top:32px}}

.sidebar-box,.side-panel,.info-card.panel{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);padding:0;min-width:0;
}
.sidebar-box:hover{border-color:var(--line)}

.sidebar-box .box-header,.side-panel__head{
  margin:0;padding:13px 16px;background:var(--surface-2);
  border-bottom:1px solid var(--line);
}
.sidebar-box .box-header .h2,.sidebar-box .box-header .h3,
.sidebar-box .box-header .h4,.sidebar-box .box-header .h5,.side-panel__head{
  display:flex;align-items:center;gap:9px;margin:0;
  font-family:var(--font-mono);font-size:.73rem;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);line-height:1.4;
}
.sidebar-box .box-header i,.side-panel__head i{color:var(--accent-text);font-size:.86rem}

.sidebar-box .box-content,.side-panel__body{
  padding:14px 16px;background:transparent;border:0;border-radius:0;color:var(--text);
}
.sidebar-box .box-content p{font-size:.9rem;color:var(--muted);margin-bottom:10px}
.sidebar-box .box-content p:last-child{margin-bottom:0}
.sidebar-box .box-content>ul{margin:-6px -8px}

/* the side menu link lists */
ul.useful-links,ul.sidebar-links,.toc ul,.side-panel ul{
  list-style:none;margin:0;padding:0;display:grid;gap:2px;
}
ul.useful-links li,ul.sidebar-links li,.toc ul li,.side-panel ul li{margin:0}
ul.useful-links a,ul.sidebar-links a,.toc ul a,.side-panel ul a{
  display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);
  color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.35;
  border-left:2px solid transparent;transition:all var(--t-fast) var(--ease);
}
ul.useful-links a:hover,ul.sidebar-links a:hover,.toc ul a:hover,.side-panel ul a:hover{
  background:var(--surface-2);color:var(--accent-text);border-left-color:var(--accent);
  transform:translateX(2px);
}
ul.useful-links a i,ul.sidebar-links a i,.toc ul a i,.side-panel ul a i{
  flex:none;width:16px;text-align:center;color:var(--accent-text);font-size:.85rem;opacity:.85;
}

/* company / contact detail panels */
.company-info,.company-details,.contact-info{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:16px 18px;min-width:0;
}
.company-info .h2,.company-info .h3,.company-info .h4,
.contact-info .h2,.contact-info .h3,.contact-info .h4,
.company-details .h3,.company-details .h4{
  font-family:var(--font-mono);font-size:.73rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin:0 0 12px;line-height:1.4;
}
.company-info p,.contact-info p,.company-details p{
  font-size:.92rem;color:var(--text);margin:0 0 10px;line-height:1.5;
}
.company-info strong,.contact-info strong{display:block;color:var(--muted);font-size:.78rem;
  font-weight:500;letter-spacing:.04em;margin-bottom:2px}
.contact-item{display:flex;gap:11px;align-items:flex-start;padding:10px 0;
  border-bottom:1px solid var(--line-soft);color:var(--text);font-size:.92rem}
.contact-item:last-child{border-bottom:0}
.contact-item i{color:var(--accent-text);margin-top:4px;flex:none;width:16px;text-align:center}

/* long addresses and company numbers must not wrap one word per line */
.right-sidebar,.sidebar,.sidebar-box,.company-info,.contact-info,.company-details{
  overflow-wrap:break-word;hyphens:none;
}
.right-sidebar .h2,.sidebar-box .h2{font-size:1rem;line-height:1.35}

/* a sidebar column narrower than this is unreadable — give it room */
@media(min-width:992px){
  .col-lg-3:has(.right-sidebar),.col-lg-3:has(.sidebar-box){min-width:280px}
}
.icon-btn.cart-btn{position:relative;text-decoration:none}
.icon-btn.cart-btn .badge{
  position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;
  display:grid;place-items:center;border-radius:var(--r-pill);
  background:var(--accent);color:var(--on-accent);
  font-family:var(--font-mono);font-size:10.5px;line-height:1;border:2px solid var(--bg);
}
.icon-btn.cart-btn .badge[hidden]{display:none}
.icon-btn.cart-btn[data-count="0"] .badge{background:var(--surface-3);color:var(--muted)}
@media(max-width:1080px){.header-actions .cart-btn{display:grid}}
/* ============================================================================
   FIX: pricing card spec rows on uk-reseller-hosting / uk-web-hosting
   ----------------------------------------------------------------------------
   Those pages define their own .plan-spec component, but this stylesheet also
   had generic .plan-spec / .ico / .meta rules. Same specificity, and this file
   loads after the page's <style> block, so the generic rules won — flipping
   display:flex to display:grid (icon stacked above the text) and adding
   padding-top:18px, margin-bottom:20px and a border to every row.

   This restores the component's intended values. Because it sits at the end of
   the file it wins on source order, so no page markup needs touching.
   ============================================================================ */
.plan-spec{
  display:flex;align-items:center;gap:.65rem;
  list-style:none;margin:0;padding:0;border-top:0;
}
.plan-spec .ico{
  width:34px;height:34px;flex:0 0 34px;border-radius:9px;
  background:rgba(var(--brand-rgb),.13);border:0;margin:0;
  display:flex;align-items:center;justify-content:center;
}
.plan-spec .ico i{color:var(--accent-text);font-size:.85rem}
.plan-spec .meta{
  display:flex;flex-direction:column;line-height:1.2;
  font-family:var(--font-body);font-size:inherit;color:inherit;
}
.plan-spec .meta b{color:var(--text-strong);font-size:.92rem;font-weight:600}
.plan-spec .meta span{
  color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;
}
.plan-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .9rem}
.plan-spec-grid .plan-spec:last-child:nth-child(odd){grid-column:1 / -1}

/* ============================================================================
   Hardcoded dark backgrounds → tokens
   ----------------------------------------------------------------------------
   These components were written with literal rgb values — rgba(30,41,59) and
   rgba(15,23,42), i.e. #1e293b and #0f172a. They stay dark in light mode while
   the text switches to dark, giving dark-on-dark. 55 rules across 17 pages use
   the same six class names, so they're fixed here rather than page by page.

   These must sit in style.css AFTER any page <style> block, or use the
   specificity below to win regardless of order.
   ============================================================================ */
.usecase-card,
body .usecase-card{
  background:linear-gradient(180deg,var(--surface),var(--surface-2))!important;
  border:1px solid var(--line)!important;
}
.usecase-card .h3{color:var(--text-strong)!important}
.usecase-card p{color:var(--muted)!important}

.tech-badge,body .tech-badge{
  background:var(--surface-2)!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
}
.tech-badge i{color:var(--accent-text)!important}

.cta-band,body .cta-band{
  background:linear-gradient(180deg,var(--surface),var(--bg-2))!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
}

.cpu-callout,body .cpu-callout{
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
}

.glow-note,body .glow-note{
  background:var(--surface-2)!important;
  border:1px solid var(--accent-line)!important;
  color:var(--text)!important;
}

.why-card,body .why-card{
  background:linear-gradient(180deg,var(--surface),var(--surface-2))!important;
  border:1px solid var(--line)!important;
}
.why-card .h3{color:var(--text-strong)!important}
.why-card p{color:var(--muted)!important}

.slider-arrow,body .slider-arrow{
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
}
.slider-arrow:hover{border-color:var(--accent)!important;color:var(--accent-text)!important}

/* heading level classes ----------------------------------------------------
   Headings are renumbered so the document outline never skips a level. These
   classes carry the ORIGINAL visual size, so nothing moves on screen. A class
   outranks a tag selector, so these win wherever they are applied. */
.h1{font-size:clamp(2rem,4.4vw,3.1rem);letter-spacing:-.03em}
.h2{font-size:clamp(1.55rem,3vw,2.2rem)}
.h3{font-size:clamp(1.2rem,2vw,1.5rem)}
.h4{font-size:1.1rem}
.h5{font-size:1rem}
.h6{font-size:.95rem}
