
:root{
  --bg:#050309;
  --surface:rgba(13,8,22,.86);
  --surface-2:rgba(23,12,40,.76);
  --purple:#8b3dff;
  --purple-2:#b76dff;
  --purple-3:#e0c4ff;
  --white:#f8f6fb;
  --muted:#c8bfd1;
  --line:rgba(190,123,255,.25);
  --warning:#ffcc66;
  --shadow:0 24px 90px rgba(0,0,0,.48);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--white);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.68;
  background:
    linear-gradient(180deg,rgba(3,1,7,.55),rgba(3,1,7,.92)),
    url("assets/tech-background.jpg") center top/cover fixed;
}
a{color:var(--purple-3)}
img{max-width:100%;display:block}
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(4,2,8,.86);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line)
}
.nav{
  width:min(1280px,100%);margin:auto;padding:.9rem 1.25rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem
}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;font-weight:850}
.brand img{width:38px;height:38px}
.nav-links{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.nav-links a{
  text-decoration:none;color:#d9d1df;padding:.55rem .75rem;border-radius:999px;font-size:.92rem
}
.nav-links a:hover,.nav-links a.active{background:rgba(139,61,255,.14);color:#fff}
.hero{
  width:min(1280px,100%);margin:auto;padding:7rem 1.25rem 5rem;
  display:grid;grid-template-columns:1.12fr .88fr;gap:3.5rem;align-items:center
}
.eyebrow{
  display:inline-flex;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;
  color:var(--purple-3);background:rgba(139,61,255,.09);font-size:.76rem;font-weight:900;
  letter-spacing:.13em;text-transform:uppercase
}
h1{font-size:clamp(3.4rem,7vw,6.6rem);line-height:.92;letter-spacing:-.06em;margin:1.2rem 0}
.gradient{
  background:linear-gradient(90deg,#fff,#d7b3ff,#9147ff);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.hero p{font-size:1.15rem;color:var(--muted);max-width:760px}
.hero-panel{
  padding:1.4rem;border-radius:28px;border:1px solid rgba(183,109,255,.55);
  background:linear-gradient(145deg,rgba(28,12,49,.92),rgba(7,4,12,.94));
  box-shadow:var(--shadow)
}
.hero-panel h2{font-size:1.6rem;margin:.4rem 0}
.quick-links{display:grid;gap:.9rem;margin-top:1.3rem}
.quick-card{
  display:block;padding:1.15rem;border-radius:17px;text-decoration:none;color:#fff;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.10)
}
.quick-card:hover{border-color:var(--purple-2);transform:translateY(-2px)}
.quick-card strong{display:block;color:var(--purple-3);font-size:1.05rem}
.container{width:min(1180px,100%);margin:auto;padding:3rem 1.25rem 6rem}
.page-hero{padding:5rem 0 2rem}
.page-hero h1{font-size:clamp(2.8rem,6vw,5rem)}
.page-hero p{color:var(--muted);max-width:800px}
.section-card{
  margin-top:1.4rem;padding:clamp(1.2rem,3vw,2.25rem);
  border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(14,8,24,.92),rgba(6,4,10,.9));
  box-shadow:0 18px 60px rgba(0,0,0,.32);backdrop-filter:blur(14px)
}
.section-card>h2{
  margin:.1rem 0 1.4rem;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em
}
.section-card h3{margin:2.4rem 0 .7rem;color:var(--purple-3);font-size:1.55rem}
.section-card h4{margin:1.7rem 0 .5rem;color:#fff}
.section-card p{color:var(--muted)}
.instruction-image{
  margin:1.25rem 0 2rem;padding:.8rem;border-radius:18px;
  background:#fff;border:1px solid rgba(255,255,255,.15);overflow:hidden
}
.instruction-image img{margin:auto;border-radius:10px}
.callout{
  margin:1rem 0;padding:1rem 1.1rem;border-radius:15px;border-left:4px solid var(--purple-2);
  background:rgba(139,61,255,.10)
}
.callout-warning{border-left-color:var(--warning);background:rgba(255,204,102,.08);color:#fff}
.step-row{
  display:grid;grid-template-columns:44px 1fr;gap:.8rem;align-items:start;
  margin:1rem 0;padding:1rem;border-radius:16px;background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08)
}
.step-row p{margin:0}
.step-number{
  width:38px;height:38px;display:grid;place-items:center;border-radius:12px;
  font-weight:900;background:linear-gradient(135deg,#7131d7,#b45eff)
}
.bullet-line{padding-left:1.25rem;position:relative}
.bullet-line::before{content:"";position:absolute;left:.2rem;top:.72rem;width:7px;height:7px;border-radius:50%;background:var(--purple-2)}
.subnav{
  display:flex;gap:.7rem;flex-wrap:wrap;margin:1.2rem 0 2rem
}
.subnav a{
  text-decoration:none;padding:.65rem .9rem;border-radius:999px;color:#fff;
  border:1px solid var(--line);background:rgba(139,61,255,.09)
}
.back-top{display:inline-flex;margin-top:1rem;text-decoration:none;font-weight:750}
.table-wrap{overflow:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;background:rgba(255,255,255,.03)}
td{border:1px solid var(--line);padding:.7rem;color:var(--muted)}
footer{padding:2rem 1.2rem;text-align:center;color:#9f96aa;border-top:1px solid rgba(255,255,255,.06)}
@media(max-width:850px){
  .hero{grid-template-columns:1fr;padding-top:4rem}
  .nav-links a{display:none}
  .nav-links a:last-child{display:block}
}
@media(max-width:560px){
  body{background-attachment:scroll}
  h1{font-size:3.3rem}
  .step-row{grid-template-columns:38px 1fr}
  .container{padding-left:.85rem;padding-right:.85rem}
  .section-card{padding:1rem}
}


/* Separate source documents inside the Send as section */
.section-intro{
  max-width:780px;
  margin-top:-.6rem;
  margin-bottom:1.4rem;
}
.document-switcher{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:1.2rem 0 2rem;
}
.document-switcher a{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:.85rem;
  align-items:center;
  padding:1rem;
  border-radius:17px;
  text-decoration:none;
  color:#fff;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.11);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.document-switcher a:hover{
  transform:translateY(-2px);
  border-color:var(--purple-2);
  background:rgba(139,61,255,.10);
}
.document-switcher strong,
.document-switcher small{display:block}
.document-switcher strong{color:var(--purple-3);font-size:1.02rem}
.document-switcher small{margin-top:.15rem;color:var(--muted)}
.document-number{
  width:44px;height:44px;border-radius:13px;
  display:grid;place-items:center;
  font-weight:900;
  background:linear-gradient(135deg,#6f2bd2,#b45eff);
  box-shadow:0 8px 24px rgba(118,43,220,.3);
}
.document-panel{
  margin:1.4rem 0;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(190,123,255,.26);
  background:rgba(6,4,11,.55);
}
.document-panel-mailbox{
  box-shadow:inset 4px 0 0 #8b3dff,0 18px 55px rgba(0,0,0,.22);
}
.document-panel-group{
  box-shadow:inset 4px 0 0 #d09cff,0 18px 55px rgba(0,0,0,.22);
}
.document-header{
  padding:1.4rem 1.4rem 1.15rem;
  background:
    radial-gradient(circle at 90% 0,rgba(139,61,255,.18),transparent 38%),
    linear-gradient(135deg,rgba(41,18,70,.72),rgba(12,7,20,.72));
  border-bottom:1px solid rgba(190,123,255,.22);
}
.document-header h3{
  margin:.25rem 0 .45rem;
  font-size:1.75rem;
  color:#fff;
}
.document-header p{
  max-width:840px;
  margin:0;
}
.document-kicker{
  display:inline-flex;
  padding:.3rem .6rem;
  border-radius:999px;
  color:var(--purple-3);
  background:rgba(139,61,255,.14);
  border:1px solid rgba(190,123,255,.28);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.document-content{
  padding:1.2rem 1.4rem 1.5rem;
}
.document-content>h3:first-child{margin-top:.4rem}
.document-divider{
  display:flex;
  align-items:center;
  gap:1rem;
  margin:2rem 0;
  color:#a99eb2;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.document-divider::before,
.document-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(190,123,255,.45),transparent);
}
@media(max-width:700px){
  .document-switcher{grid-template-columns:1fr}
  .document-content,.document-header{padding-left:1rem;padding-right:1rem}
}


/* OpenVPN guide additions */
.quick-links .quick-card:nth-child(3){
  border-color:rgba(183,109,255,.42);
  background:
    radial-gradient(circle at 92% 12%,rgba(139,61,255,.15),transparent 34%),
    rgba(255,255,255,.035);
}
.quick-links .quick-card:nth-child(3):hover{
  border-color:var(--purple-2);
}
#installation > h2:first-child{
  margin-top:.1rem;
}
#troubleshooting{
  scroll-margin-top:100px;
  margin-top:3.2rem;
  padding-top:1.1rem;
  border-top:1px solid rgba(190,123,255,.20);
}


/* Company logo header */
.brand-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
  padding:.1rem 0;
}
.brand-logo img{
  display:block;
  height:52px;
  width:auto;
  max-width:min(520px, 42vw);
  object-fit:contain;
}
@media(max-width:900px){
  .brand-logo img{
    height:42px;
    max-width:52vw;
  }
}
@media(max-width:560px){
  .brand-logo img{
    height:34px;
    max-width:60vw;
  }
}


/* Tools and services page */
.guide-tabs{
  gap:.8rem;
}
.guide-tabs a{
  min-width:110px;
  text-align:center;
}
.guide-tabs .active-tab{
  border-color:var(--purple-2);
  background:rgba(139,61,255,.16);
}
.tab-section{
  scroll-margin-top:100px;
  margin-top:1.6rem;
}
.tab-section-header{
  margin:-.35rem 0 1.25rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(190,123,255,.18);
}
.tab-section-header h2{
  margin:.35rem 0 0;
  font-size:clamp(2rem,4vw,3rem);
}
.tab-section > h2{
  display:none;
}
#slack .callout-warning,
#pulseway .callout-warning,
#vpn .callout-warning{
  margin:1rem 0;
}
.quick-links .quick-card:nth-child(4){
  border-color:rgba(183,109,255,.42);
  background:
    radial-gradient(circle at 92% 12%,rgba(139,61,255,.15),transparent 34%),
    rgba(255,255,255,.035);
}
@media(max-width:620px){
  .guide-tabs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .guide-tabs a{
    min-width:0;
    padding:.65rem .5rem;
  }
}
