:root{
  --ink:#111111;
  --muted:#6b6b6b;
  --cream:#F4F2EC;
  --cream-2:#EDEBF7;
  --lime:#CBFA3A;
  --lime-ink:#17240a;
  --dark:#141414;
  --dark-2:#1D1D1D;
  --dark-3:#232323;
  --orange:#FF5A1F;
  --white:#FFFFFF;
  --hero-base:#0A0A0A;
  --radius-lg:20px;
  --radius-md:14px;
  --display:'Plus Jakarta Sans', sans-serif;
  --body:'Inter', sans-serif;
  --maxw:1220px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
}
/* base background matches hero so there is never a white sliver behind the floating header */
html{background:var(--hero-base);}
body{background:transparent;}
body{font-family:var(--body); color:var(--ink); line-height:1.6;}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
h1,h2,h3{font-family:var(--display); font-weight:800; letter-spacing:-.01em; color:var(--ink);}
:focus-visible{outline:2px solid var(--orange); outline-offset:3px;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}

.btn{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--display); font-weight:700;
  font-size:14.5px; padding:14px 22px; border-radius:10px; transition:transform .15s ease, box-shadow .15s ease, opacity .15s;
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn-lime{background:var(--lime); color:var(--lime-ink); box-shadow:0 0 0 rgba(203,250,58,0);}
.btn-lime:hover{box-shadow:0 10px 24px -8px rgba(203,250,58,.55);}
.btn-dark-outline{background:rgba(255,255,255,.06); color:#fff; border:1px solid rgba(255,255,255,.25);}
.btn-dark-outline:hover{border-color:var(--lime); color:var(--lime);}
.btn-outline-light{background:transparent; color:var(--ink); border:1.5px solid rgba(0,0,0,.18);}
.btn-outline-light:hover{border-color:var(--orange); color:var(--orange);}
.btn-dark-solid{background:#000; color:#fff; animation:whiteHaloPulseBtn 2.4s ease-out infinite;}
@keyframes whiteHaloPulseBtn{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.35);}
  70%{box-shadow:0 0 0 10px rgba(255,255,255,0);}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0);}
}
@media (prefers-reduced-motion:reduce){ .btn-dark-solid{animation:none;} }

/* ================= PAGE GLOW (full-bleed gradient behind header+hero, scrolls with the page but doesn't trap the sticky header) ================= */
.page-glow{
  position:absolute; top:0; left:0; right:0; height:1100px; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 22%, rgba(255,120,40,.42), transparent 55%),
    linear-gradient(100deg, #8a2f0d 0%, #522410 20%, #241318 40%, #14101c 56%, #16132f 76%, #1b1a38 100%);
}
.page-glow::after{
  content:''; position:absolute; inset:0; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* colour themes — editable from the panel (Hero → Aspect / culoare) */
.page-glow.theme-blue{
  background:
    radial-gradient(ellipse at 18% 22%, rgba(47,130,255,.42), transparent 55%),
    linear-gradient(100deg, #0d3a8a 0%, #10245c 20%, #131b24 40%, #10141c 56%, #131632 76%, #1a1b38 100%);
}
.page-glow.theme-green{
  background:
    radial-gradient(ellipse at 18% 22%, rgba(34,197,94,.42), transparent 55%),
    linear-gradient(100deg, #0d5a30 0%, #103a2e 20%, #131f1c 40%, #10171a 56%, #0f2b2c 76%, #123333 100%);
}
.page-glow.theme-purple{
  background:
    radial-gradient(ellipse at 18% 22%, rgba(168,85,247,.42), transparent 55%),
    linear-gradient(100deg, #5b2394 0%, #38195c 20%, #221325 40%, #17111c 56%, #1f1330 76%, #241a3d 100%);
}
.page-glow.theme-red{
  background:
    radial-gradient(ellipse at 18% 22%, rgba(255,59,59,.42), transparent 55%),
    linear-gradient(100deg, #8a1616 0%, #521010 20%, #241414 40%, #181111 56%, #241414 76%, #2e1616 100%);
}
.page-glow.theme-mono{
  background:
    radial-gradient(ellipse at 18% 22%, rgba(156,163,175,.32), transparent 55%),
    linear-gradient(100deg, #3a3a3a 0%, #2a2a2a 20%, #1c1c1c 40%, #141414 56%, #1a1a1a 76%, #232323 100%);
}
/* optional subtle animated drift, toggled from the panel */
.page-glow.animated{background-size:140% 140%; animation:glowDrift 16s ease-in-out infinite;}
@keyframes glowDrift{
  0%{background-position:0% 0%;}
  50%{background-position:20% 12%;}
  100%{background-position:0% 0%;}
}
@media (prefers-reduced-motion:reduce){ .page-glow.animated{animation:none;} }

/* ================= HEADER ================= */
.site-header{position:sticky; top:0; z-index:100; padding:14px 20px 0; background:transparent;}
.nav-shell{
  max-width:var(--maxw); margin:0 auto; background:rgba(20,20,20,.72);
  backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.12);
  border-radius:16px; display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px;
}
.logo{display:flex; align-items:center; gap:10px; font-family:var(--display); font-weight:800; font-size:19px; color:#fff;}
.logo .mark{
  width:34px; height:34px; border-radius:9px; background:conic-gradient(from 180deg, var(--orange), #ffb43a, var(--orange));
  display:flex; align-items:center; justify-content:center; color:#1a0700; font-weight:800; overflow:hidden;
}
.logo .mark img{width:100%; height:100%; object-fit:cover;}
.logo .mark.full-logo{
  width:auto; background:none; border-radius:0; overflow:visible;
}
.logo .mark.full-logo img{width:auto; height:100%; object-fit:contain;}
nav ul{display:flex; align-items:center; gap:30px;}
nav a.navlink{font-size:14px; color:#d8d8d8; transition:color .15s;}
nav a.navlink:hover{color:#fff;}
.menu-toggle{display:none; background:none; color:#fff; font-size:20px;}

/* ================= HERO ================= */
.hero{
  position:relative; z-index:1; padding:60px 0 90px; background:transparent;
}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center;}
.pill{
  display:inline-flex; align-items:center; gap:8px; background:rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.18);
  color:#fff; font-size:13px; font-weight:600; padding:9px 18px; border-radius:999px; margin-bottom:26px;
}
.pill-glow{animation:whiteHaloPulse 2.4s ease-out infinite;}
@keyframes whiteHaloPulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.4);}
  70%{box-shadow:0 0 0 14px rgba(255,255,255,0);}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0);}
}
@media (prefers-reduced-motion:reduce){ .pill-glow{animation:none;} }
.hero h1{font-size:clamp(32px,4.6vw,50px); line-height:1.12; color:#fff; margin-bottom:20px; text-align:left;}
.hero h1 .hl{color:var(--orange);}
.hero p.lead{font-size:16.5px; color:#c7c7c7; max-width:520px; margin:0 0 32px; text-align:left;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.hero-visual{position:relative;}
.hero-visual .frame{
  position:relative; border-radius:22px; overflow:hidden; border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(160deg,#241a12,#0c0a08); aspect-ratio:4/3.1;
}
.hero-visual .frame img{width:100%; height:100%; object-fit:cover;}
.hero-visual .frame.frame-full{
  aspect-ratio:auto; background:none; border:none;
}
.hero-visual .frame.frame-full img{width:100%; height:auto; object-fit:contain;}
.frame-placeholder{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center; text-align:center;
  color:#8a8a8a; font-family:var(--display); font-weight:600; font-size:13.5px; padding:24px;
}
.frame-placeholder-dark{background:linear-gradient(150deg,#232323,#0a0a0a);}
.story-image{border-radius:22px; overflow:hidden; aspect-ratio:4/3.3; box-shadow:0 30px 60px -30px rgba(0,0,0,.35); border:1px solid rgba(0,0,0,.06);}
.story-image img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-visual .badge-float{
  position:absolute; bottom:-18px; left:-18px; background:var(--lime); color:var(--lime-ink);
  padding:14px 18px; border-radius:14px; font-family:var(--display); font-weight:800; font-size:13px;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.5);
}

.wa-float{
  position:fixed; right:22px; bottom:22px; width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; z-index:90;
  box-shadow:0 8px 20px rgba(0,0,0,.3); transition:transform .2s;
}
.wa-float:hover{transform:scale(1.08);}

/* ================= OFFER ================= */
.offer{padding:100px 0; background:#fff;}
.offer-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:60px; align-items:center;}
.collage{position:relative; height:420px;}
.collage-photo{position:absolute; border-radius:18px; overflow:hidden; box-shadow:0 20px 40px -20px rgba(0,0,0,.25);}
.collage-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.collage-photo-1{top:0; left:0; width:76%; height:80%; z-index:1;}
.collage-photo-2{bottom:0; right:0; width:50%; height:50%; z-index:2; border:5px solid #fff;}
.collage-placeholder{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center; text-align:center;
  background:linear-gradient(150deg,#232323,#0a0a0a); color:#8a8a8a; font-family:var(--display); font-weight:600;
  font-size:13.5px; padding:20px;
}
.collage-placeholder-accent{background:var(--lime); color:var(--lime-ink); font-size:34px;}
.offer-text .eyebrow{font-family:var(--display); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--orange); margin-bottom:14px; display:block;}
.offer-text h2{font-size:clamp(28px,3.6vw,40px); line-height:1.16; margin-bottom:20px;}
.offer-text h2 .mark-hl{background:linear-gradient(transparent 62%, var(--lime) 62%);}
.offer-text p{color:var(--muted); font-size:15.5px; max-width:480px; margin-bottom:26px;}
.trust-strip{display:flex; align-items:center; gap:14px; margin-top:0; padding-top:0; border-top:none;}
.trust-strip .stars{color:#f5b400; font-size:18px; letter-spacing:2px;}
.trust-copy{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; font-size:13.5px; color:var(--muted);}
.trust-copy b{font-family:var(--display); font-size:18px; color:var(--ink);}

/* row that frames the trust-strip with two small Trustpilot badges */
.trust-strip-row{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  margin-top:32px; padding-top:26px; border-top:1px solid rgba(0,0,0,.08);
}
.tp-badge{
  display:inline-flex; align-items:center; gap:6px; flex-shrink:0;
  background:#fff; border:1px solid rgba(0,0,0,.1); border-radius:8px;
  padding:7px 12px; font-family:var(--display); font-weight:700; font-size:12px; color:#191919;
  box-shadow:0 8px 18px -12px rgba(0,0,0,.25); transition:transform .18s ease, box-shadow .18s ease;
}
.tp-badge:hover{transform:translateY(-2px); box-shadow:0 12px 22px -12px rgba(0,0,0,.32);}
.tp-badge .tp-score{color:#00b67a; font-weight:800;}
@media (max-width:640px){
  .trust-strip-row{justify-content:center; text-align:center;}
}

/* ================= BENEFITS ROW ================= */
.benefits-row{padding:0 0 70px; background:#fff;}
.benefits-row .wrap{display:grid; grid-template-columns:.8fr 2.2fr; gap:40px; align-items:start;}
.benefits-row h2{font-size:clamp(24px,2.8vw,30px); line-height:1.2; margin-bottom:22px;}
.benefit-items{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.benefit-items > div{padding:18px; margin:-18px; border-radius:16px; transition:background .25s ease, transform .25s ease;}
.benefit-items > div:hover{background:var(--cream); transform:translateY(-4px);}
.icon-ring{width:68px; height:68px; border-radius:50%; border:2px solid var(--lime); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--orange); font-size:28px; transition:background .25s ease, color .25s ease, transform .25s ease;}
.benefit-items > div:hover .icon-ring{background:var(--orange); border-color:var(--orange); color:#fff; transform:scale(1.08);}
.benefit-items h3{font-size:17px; margin-bottom:8px;}
.benefit-items p{font-size:14px; color:var(--muted);}

/* ================= PORTFOLIO ================= */
.portfolio{background:var(--cream); padding:90px 0;}
.portfolio .head{max-width:760px; margin-bottom:50px;}
.portfolio h2{font-size:clamp(30px,4vw,44px); line-height:1.12; margin-bottom:18px;}
.portfolio .head p{color:var(--muted); font-size:15.5px;}
.port-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px;}
.port-card{
  display:block; background:#fff; border-radius:var(--radius-lg); overflow:hidden; border:1px solid rgba(0,0,0,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; text-decoration:none; color:inherit; cursor:default;
}
a.port-card{cursor:pointer;}
.port-card:hover{
  transform:translateY(-7px); box-shadow:0 22px 40px -18px rgba(0,0,0,.28); border-color:rgba(0,0,0,.03);
}
.portfolio-more{display:flex; justify-content:center; margin-top:40px;}
.port-thumb{aspect-ratio:16/10; position:relative; padding:6px; border-radius:var(--radius-lg) var(--radius-lg) 0 0; overflow:hidden;}
.port-thumb-inner{
  width:100%; height:100%; border-radius:14px; display:flex; align-items:flex-end; padding:18px; color:#fff;
  font-family:var(--display); font-weight:700; font-size:15px; overflow:hidden; position:relative;
  transition:transform .35s ease;
}
.port-thumb-inner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.port-thumb-inner span.thumb-label{position:relative; z-index:1;}
.port-card:hover .port-thumb-inner{transform:scale(1.06);}
.port-card:hover .arrow-chip{transform:translate(3px,-3px) rotate(8deg); background:var(--orange); color:#fff;}
.p-auto{background:linear-gradient(160deg,#5a2a10,#0c0603 70%);}
.p-med{background:linear-gradient(160deg,#6a4fd6,#1a1440 70%);}
.p-clean{background:linear-gradient(160deg,#1b4fd1,#050818 70%);}
.p-bake{background:linear-gradient(160deg,#c76a1f,#241004 70%);}
.p-cabin{background:linear-gradient(160deg,#245c3f,#04140b 70%);}
.p-kom{background:linear-gradient(160deg,#3a7a3f,#0a1c0c 70%);}
.port-body{padding:22px 24px 26px; display:flex; justify-content:space-between; align-items:flex-start; gap:14px;}
.port-body h3{font-size:19px; margin-bottom:6px;}
.port-body p{font-size:13.5px; color:var(--muted);}
.arrow-chip{flex-shrink:0; width:40px; height:40px; border-radius:10px; background:var(--lime); display:flex; align-items:center; justify-content:center; color:var(--lime-ink); font-size:17px; transition:transform .25s ease, background .25s ease, color .25s ease;}

/* ================= IDEAL FOR YOU ================= */
.ideal{background:var(--dark); padding:90px 0; color:#fff;}
.ideal-head{display:flex; align-items:center; gap:16px; margin-bottom:40px; border-bottom:1px dashed rgba(255,255,255,.2); padding-bottom:26px;}
.dot{width:14px; height:14px; border-radius:50%; background:var(--orange); flex-shrink:0;}
.dot.pulse-dot{position:relative;}
.dot.pulse-dot::after{
  content:''; position:absolute; inset:0; border-radius:50%; background:var(--orange);
  animation:dotPulse 1.8s ease-out infinite;
}
@keyframes dotPulse{
  0%{transform:scale(1); opacity:.7;}
  100%{transform:scale(2.6); opacity:0;}
}
@media (prefers-reduced-motion:reduce){ .dot.pulse-dot::after{animation:none;} }
.ideal-head h2{color:#fff; font-size:clamp(26px,3.4vw,36px);}

.ideal-item{border-bottom:1px dashed rgba(255,255,255,.16);}
.ideal-item:last-child{border-bottom:none;}
.ideal-toggle{
  width:100%; display:flex; align-items:center; gap:16px; padding:26px 0; text-align:left; color:#fff; cursor:pointer;
}
.ideal-toggle .spark{color:var(--lime); font-size:16px; flex-shrink:0;}
.ideal-toggle h3{color:#fff; font-size:clamp(17px,2.1vw,21px); line-height:1.3; flex:1; margin:0;}
.ideal-chevron{
  width:32px; height:32px; border-radius:9px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px; color:#fff;
  transition:transform .2s ease, background .2s ease;
}
.ideal-item.open .ideal-chevron{transform:rotate(45deg); background:var(--lime); color:var(--lime-ink); border-color:transparent;}
.ideal-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.ideal-body-inner{padding-bottom:34px;}
.ideal-body-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center;}
.ideal-body-grid p{color:#b8b8b8; font-size:14.5px; max-width:460px; margin-bottom:16px;}
.tags{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px;}
.tag{font-family:var(--display); font-size:11.5px; font-weight:700; letter-spacing:.03em; border:1px solid rgba(255,255,255,.25); color:#e6e6e6; padding:8px 14px; border-radius:999px;}
.ideal-thumb{aspect-ratio:16/9; border-radius:16px; background:linear-gradient(150deg,#3a3a3a,#0e0e0e);}
.btn-sm{padding:11px 18px; font-size:13px;}
@media (max-width:700px){
  .ideal-body-grid{grid-template-columns:1fr;}
  .ideal-thumb{order:-1; aspect-ratio:16/8;}
}

/* ================= PRICING ================= */
.pricing{padding:100px 0; background:#fff;}
.pricing .head{max-width:700px; margin-bottom:50px;}
.pricing h2{font-size:clamp(30px,4vw,44px); line-height:1.14; margin-bottom:16px;}
.pricing .head p{color:var(--muted); font-size:15.5px;}
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start;}
.plan{
  border:1px solid rgba(0,0,0,.1); border-radius:var(--radius-lg); padding:32px 28px; display:flex; flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.plan:hover{transform:translateY(-8px); box-shadow:0 26px 44px -20px rgba(0,0,0,.22); border-color:rgba(0,0,0,.18);}
.plan.pop:hover{box-shadow:0 26px 44px -18px rgba(203,250,58,.35);}
.plan.pop{border:2px solid var(--ink); position:relative; padding-top:36px;}
.plan-title{display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap;}
.plan-title h3{font-size:20px; letter-spacing:.02em;}
.badge-pop{background:var(--lime); color:var(--lime-ink); font-size:11.5px; font-weight:700; padding:5px 10px; border-radius:999px;}
.plan .desc{color:var(--muted); font-size:14px; margin-bottom:22px; min-height:44px;}
.plan .price{font-family:var(--display); font-weight:800; font-size:38px; margin-bottom:24px;}
.plan ul{display:flex; flex-direction:column; gap:14px; margin-bottom:28px; flex:1;}
.plan li{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:#333;}
.check{color:#2fae4e; flex-shrink:0; font-weight:700;}
.plan .btn{justify-content:center; width:100%;}

/* ---- Hosting pricing carousel (scoped to #hosting-preturi only) ---- */
#hosting-preturi.hplan-section{background:#fff;}
#hosting-preturi.hplan-section .head h2{color:var(--ink);}
#hosting-preturi.hplan-section .head p{color:var(--muted);}
#hosting-preturi .plans-carousel{position:relative; margin:0 -6px;}
#hosting-preturi .plans{
  display:flex; grid-template-columns:none; gap:24px; align-items:stretch;
  justify-content:center; justify-content:safe center;
  overflow-x:auto; scroll-snap-type:x proximity; scroll-behavior:smooth;
  padding:6px 6px 18px; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; scrollbar-color:rgba(0,0,0,.25) transparent;
}
#hosting-preturi .plans::-webkit-scrollbar{height:6px;}
#hosting-preturi .plans::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2); border-radius:99px;}
#hosting-preturi .plans::-webkit-scrollbar-track{background:transparent;}
#hosting-preturi .hplan{flex:0 0 300px; scroll-snap-align:start;}
#hosting-preturi .plans-arrow{
  display:flex; align-items:center; justify-content:center;
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:44px; height:44px; border-radius:50%; border:1px solid rgba(0,0,0,.12);
  background:#fff; box-shadow:0 12px 26px -12px rgba(0,0,0,.25); cursor:pointer;
  font-size:20px; line-height:1; color:var(--ink); transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
#hosting-preturi .plans-arrow:hover{transform:translateY(-50%) scale(1.08); box-shadow:0 16px 30px -12px rgba(0,0,0,.32);}
#hosting-preturi .plans-arrow-prev{left:-14px;}
#hosting-preturi .plans-arrow-next{right:-14px;}
#hosting-preturi .plans-arrow[hidden]{display:none;}
@media (max-width:700px){
  #hosting-preturi .plans-arrow{width:36px; height:36px; font-size:17px;}
  #hosting-preturi .plans-arrow-prev{left:2px;}
  #hosting-preturi .plans-arrow-next{right:2px;}
  #hosting-preturi .hplan{flex-basis:84vw;}
}

/* ---- Terminal-style hosting plan card ---- */
.hplan{
  background:#111214; border:1px solid rgba(255,90,31,.28); border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hplan:hover{transform:translateY(-6px); box-shadow:0 30px 50px -26px rgba(255,90,31,.35);}
.hplan.pop{border-color:var(--orange); box-shadow:0 0 0 1px rgba(255,90,31,.4);}
.hplan-window{
  display:flex; align-items:center; gap:10px; padding:12px 16px; background:#000;
  border-bottom:1px solid rgba(255,90,31,.22); font-size:12px; color:#8a8a8a;
}
.hplan-dots{display:flex; gap:6px; flex-shrink:0;}
.hplan-dots i{width:9px; height:9px; border-radius:50%; display:block;}
.hplan-dots i:nth-child(1){background:#ff5f57;}
.hplan-dots i:nth-child(2){background:#febc2e;}
.hplan-dots i:nth-child(3){background:#28c840;}
.hplan-path{flex:1; font-family:'Courier New', monospace; color:#c8c8c8;}
.hplan-online{display:flex; align-items:center; gap:6px; flex-shrink:0; color:#8a8a8a;}
.hplan-online i{width:7px; height:7px; border-radius:50%; background:#28c840; display:block; box-shadow:0 0 6px #28c840;}
.hplan-body{padding:24px 22px 26px; display:flex; flex-direction:column; flex:1; position:relative;}
.hplan-toplabel{
  position:absolute; top:20px; right:20px; background:var(--orange); color:#fff; font-family:var(--display);
  font-weight:800; font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; padding:6px 12px; border-radius:999px;
}
.hplan-badge-row{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.hplan-shield{
  width:34px; height:34px; border-radius:9px; background:rgba(40,200,80,.14); color:#28c840;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.hplan-badge-title{font-family:var(--display); font-weight:700; font-size:13.5px; color:#fff;}
.hplan-badge-sub{font-size:11px; color:#7a7a7a; margin-top:1px;}
.hplan-body h3{color:#fff; font-family:var(--display); font-weight:800; font-size:21px; margin-bottom:8px;}
.hplan-desc{color:#9a9a9a; font-size:13.5px; margin-bottom:20px; min-height:38px;}
.hplan-period{color:#7a7a7a; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:4px;}
.hplan-price{font-family:var(--display); font-weight:800; font-size:36px; color:var(--orange); margin-bottom:16px;}
.hplan-highlight{
  display:inline-flex; align-items:center; gap:7px; align-self:flex-start;
  background:rgba(255,90,31,.14); border:1px solid rgba(255,90,31,.4); color:var(--orange);
  font-family:var(--display); font-weight:700; font-size:12.5px; padding:9px 14px; border-radius:8px; margin-bottom:20px;
}
.hplan-specs{display:flex; flex-direction:column; gap:12px; margin-bottom:18px;}
.hplan-specs li{display:flex; align-items:center; gap:10px; font-size:13.5px; color:#c8c8c8;}
.hplan-specs b{color:#fff;}
.hplan-spec-ic{
  width:26px; height:26px; border-radius:6px; background:rgba(255,255,255,.06); color:#9a9a9a;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.hplan-features{display:flex; flex-direction:column; gap:12px; margin:18px 0 24px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); flex:1;}
.hplan-features li{display:flex; gap:9px; align-items:flex-start; font-size:13.5px; color:#d8d8d8;}
.hplan-features .check{color:#28c840; flex-shrink:0; font-weight:700;}
.hplan-btn{
  display:flex; align-items:center; justify-content:center; width:100%; margin-top:auto;
  background:var(--orange); color:#fff; font-family:var(--display); font-weight:800; font-size:14.5px;
  padding:14px; border-radius:10px; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.hplan-btn:hover{transform:translateY(-2px); box-shadow:0 12px 26px -10px rgba(255,90,31,.55); background:#ff6e35;}


/* ================= ALL PLANS INCLUDE ================= */
/* ================= PARTNERS ================= */
.partners{background:var(--dark); padding:70px 0;}
.partners h2{color:#fff; text-align:center; font-size:clamp(22px,2.8vw,30px); margin-bottom:40px;}
.partners h2 .hl{color:var(--amber, #FFC24B);}
.partners-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:20px;}
.partner-card{
  background:#c9c9c9; border-radius:12px; aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  padding:20px; transition:transform .2s ease, background .2s ease;
}
.partner-card:hover{transform:translateY(-4px); background:#d6d6d6;}
.partner-card img{max-width:100%; max-height:100%; object-fit:contain; filter:grayscale(20%);}
.partner-card span{font-family:var(--display); font-weight:700; color:#555; font-size:14px; text-align:center;}

/* ================= HOSTING: EXPLAIN SECTION ================= */
.host-explain{background:var(--dark); padding:90px 0; color:#fff;}
.host-explain-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center;}
.host-explain h2{color:#fff; font-size:clamp(30px,4vw,44px); margin-bottom:20px;}
.host-explain p{color:#b3b3b3; font-size:16px; line-height:1.7; margin-bottom:30px; max-width:480px;}
.btn-accent-red{background:#e02424; color:#fff; border-radius:999px; padding:16px 30px;}
.btn-accent-red:hover{background:#c91e1e;}
.host-panel-mock{border-radius:16px; overflow:hidden; box-shadow:0 30px 60px -25px rgba(0,0,0,.6);}

/* ================= HOSTING: INCLUDES GRID (reuses .inc-card) ================= */
.inc-grid-3col{grid-template-columns:repeat(3,1fr);}

/* ================= HOSTING: ANTI-DDOS ================= */
.ddos{
  padding:100px 0; color:#fff; position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 75% 30%, rgba(79,209,255,.16), transparent 55%),
    linear-gradient(160deg, #0b0f1a 0%, #0a0d16 100%);
}
.ddos-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center;}
.ddos h2{color:#fff; font-size:clamp(28px,3.6vw,40px); line-height:1.18; margin-bottom:20px;}
.ddos h2 .ddos-hl{background:linear-gradient(90deg,#4fd1ff,#8a5cff); -webkit-background-clip:text; background-clip:text; color:transparent;}
.ddos p{color:#9aa4b8; font-size:15.5px; max-width:480px; margin-bottom:34px; line-height:1.7;}
.ddos-stats{display:flex; gap:16px; flex-wrap:wrap;}
.ddos-stat{
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:14px;
  padding:18px 20px; flex:1; min-width:150px;
}
.ddos-stat h4{color:#fff; font-family:var(--display); font-size:17px; margin-bottom:6px;}
.ddos-stat h4 span{font-size:13px; color:#9aa4b8; font-family:var(--body); font-weight:400;}
.ddos-stat p{color:#8a93a6; font-size:12.5px; margin:0;}
.ddos-stat .dot{width:8px; height:8px; border-radius:50%; margin-bottom:10px;}
.dot-cyan{background:#4fd1ff;}
.dot-purple{background:#8a5cff;}
.dot-green{background:#CBFA3A;}
.ddos-shield{display:flex; align-items:center; justify-content:center; position:relative;}

/* animated "radar" pulse rings behind the shield */
.ddos-pulse{
  position:absolute; top:50%; left:50%; width:66%; aspect-ratio:1/1; border-radius:50%;
  border:1px solid rgba(79,209,255,.55);
  transform:translate(-50%,-50%) scale(.5); opacity:0;
  animation:ddosPulse 3.6s ease-out infinite; pointer-events:none; z-index:0;
}
.ddos-pulse-2{animation-delay:1.2s;}
.ddos-pulse-3{animation-delay:2.4s;}
@keyframes ddosPulse{
  0%{transform:translate(-50%,-50%) scale(.5); opacity:.6;}
  75%{opacity:.12;}
  100%{transform:translate(-50%,-50%) scale(1.15); opacity:0;}
}
/* slow light sweep across the whole anti-ddos section */
.ddos::after{
  content:''; position:absolute; left:0; right:0; top:-160px; height:160px;
  background:linear-gradient(180deg, transparent, rgba(79,209,255,.09), transparent);
  animation:ddosSweep 7s linear infinite; pointer-events:none;
}
@keyframes ddosSweep{
  0%{top:-160px;}
  100%{top:100%;}
}
@media (prefers-reduced-motion:reduce){
  .ddos-pulse, .ddos::after{animation:none; display:none;}
}

.includes{background:var(--cream-2); padding:80px 0;}
.includes h2{text-align:center; font-size:clamp(24px,3vw,30px); margin-bottom:44px;}
.inc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.inc-card{
  background:#fff; border-radius:var(--radius-md); padding:28px; border:1px solid rgba(0,0,0,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.inc-card:hover{transform:translateY(-6px); box-shadow:0 18px 32px -16px rgba(0,0,0,.18); border-color:rgba(0,0,0,.02);}
.inc-card .ic{margin-bottom:20px; color:var(--ink); font-size:32px; line-height:1; transition:color .22s ease, transform .22s ease;}
.inc-card:hover .ic{color:var(--orange); transform:scale(1.1);}
.inc-card h4{font-family:var(--display); font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px;}
.inc-card p{font-size:13.5px; color:var(--muted);}

/* ================= FAQ ================= */
.faq-section{padding:100px 0 60px; background:#fff;}
.final-head{display:flex; justify-content:space-between; align-items:flex-start; gap:30px; margin-bottom:50px; flex-wrap:wrap;}
.final-head h2{font-size:clamp(28px,3.8vw,42px); max-width:620px; line-height:1.16; margin-bottom:14px;}
.final-head p{color:var(--muted); font-size:15px; max-width:520px;}
.faq-list{display:flex; flex-direction:column; gap:10px;}
.faq-item{background:var(--dark-2); border-radius:12px; overflow:hidden;}
.faq-q{width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 26px; color:#fff; font-family:var(--display); font-weight:700; font-size:15.5px; text-align:left;}
.faq-q .chip{width:34px; height:34px; border-radius:9px; background:var(--lime); color:var(--lime-ink); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .2s;}
.faq-item.open .chip{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding:0 26px 22px 26px; color:#b3b3b3; font-size:14px; max-width:640px;}

/* ================= CONTACT + FOOTER (merged into one continuous section) ================= */
.contact-footer{background:var(--dark); color:#fff; position:relative; overflow:hidden;}
.contact-footer::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 90% 0%, rgba(203,250,58,.12), transparent 45%);
}
.cf-main{padding:90px 0 60px; display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; position:relative;}
.cf-form-col{order:2;}
.cf-info-col{order:1; display:flex; flex-direction:column; gap:36px;}
.cf-form-col h2{color:#fff; font-size:clamp(26px,3.2vw,36px); margin-bottom:14px;}
.cf-form-col p{color:#b3b3b3; font-size:14.5px; margin-bottom:30px; max-width:440px;}
.cf-info-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.cf-nav-row{display:flex; justify-content:space-between; align-items:flex-start; gap:32px; flex-wrap:wrap;}
.cf-nav{flex-shrink:0;}
.cf-nav h4, .cf-info-col h4{
  color:#fff; font-family:var(--display); font-size:12px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px;
}
.cf-nav a{display:block; font-size:13.5px; color:#9a9a9a; margin-bottom:9px; transition:color .15s;}

.code-widget{
  flex:1 1 auto; min-width:260px; max-width:460px; background:#0d0d0d; border:1px solid rgba(255,255,255,.12);
  border-radius:12px; overflow:hidden; box-shadow:0 18px 36px -16px rgba(0,0,0,.55);
}
.code-widget-bar{height:32px; display:flex; align-items:center; gap:7px; padding:0 14px; background:#171717; border-bottom:1px solid rgba(255,255,255,.08);}
.code-widget-bar span{width:9px; height:9px; border-radius:50%; background:#3a3a3a;}
.code-widget-bar span:nth-child(1){background:#FF5A1F;}
.code-widget-bar span:nth-child(2){background:#CBFA3A;}
.code-widget-body{height:154px; overflow:hidden; position:relative;}
.code-widget-lines{padding:14px 18px 0; animation:codeScroll 9s linear infinite;}
.code-widget-lines p{
  margin:0 0 12px; font-family:var(--mono, 'Courier New', monospace); font-size:14px; color:#9a9a9a; white-space:nowrap;
}
.code-widget-lines p .ok{color:var(--lime); margin-right:5px;}
@keyframes codeScroll{
  0%{transform:translateY(0);}
  100%{transform:translateY(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .code-widget-lines{animation:none;}
}
.cf-nav a:hover{color:var(--lime);}

/* ================= FOOTER: SOCIAL ICONS ================= */
.cf-social{display:flex; align-items:center; gap:10px; margin-top:16px;}
.cf-social a{
  display:flex; align-items:center; justify-content:center; width:34px; height:34px;
  border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  color:#c8c8c8; transition:background .18s ease, color .18s ease, transform .18s ease;
}
.cf-social a:hover{background:var(--lime); color:var(--lime-ink); transform:translateY(-3px);}

/* ================= FOOTER: ANPC + PAYMENT BADGES ================= */
.cf-legal{
  border-top:1px solid rgba(255,255,255,.1); padding:26px 0;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:22px;
}
.cf-anpc, .cf-payments{display:flex; align-items:center; flex-wrap:wrap; gap:14px;}
.cf-anpc a{display:flex; border-radius:8px; transition:transform .18s ease, opacity .18s ease; opacity:.92;}
.cf-anpc a:hover{transform:translateY(-2px); opacity:1;}
.cf-anpc img{height:46px; width:auto; display:block; border-radius:8px;}
.cf-payments{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:10px 16px;
}
.cf-payments img{height:24px; width:auto; display:block; opacity:.95; transition:opacity .18s ease, transform .18s ease;}
.cf-payments img:hover{opacity:1; transform:translateY(-1px);}
@media (max-width:640px){
  .cf-legal{justify-content:center; text-align:center;}
  .cf-anpc, .cf-payments{justify-content:center;}
}

.cf-company{
  border-top:1px solid rgba(255,255,255,.08); padding:16px 0;
  text-align:center; font-size:12px; color:#767676; line-height:1.8;
}
.cf-company .sep{color:#5a5a5a; margin:0 8px; font-weight:400;}
.cf-bottom{
  border-top:1px solid rgba(255,255,255,.1); padding:22px 0 26px; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:10px; font-size:12px; color:#8a8a8a; position:relative;
}
.contact-box{display:contents;} /* legacy selector no-op safeguard */
.field{position:relative; margin-bottom:22px;}
.field input, .field textarea{
  width:100%; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16); color:#fff;
  padding:16px 16px 8px; font-family:var(--body); font-size:14.5px; border-radius:10px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.field textarea{resize:vertical; min-height:100px;}
.field label{
  position:absolute; left:16px; top:16px; font-size:14.5px; color:#9a9a9a; pointer-events:none;
  transition:all .18s ease;
}
.field input:hover, .field textarea:hover{
  border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.07);
}
.field input:focus, .field textarea:focus{
  outline:none; border-color:var(--lime); background:rgba(203,250,58,.06);
  box-shadow:0 0 0 4px rgba(203,250,58,.14);
}
.field{transition:transform .15s ease;}
.field:hover{transform:translateY(-1px);}
.field input:focus + label, .field textarea:focus + label,
.field input:not(:placeholder-shown) + label, .field textarea:not(:placeholder-shown) + label{
  top:6px; font-size:11px; color:var(--lime); letter-spacing:.03em;
}
.field input, .field textarea{padding-top:20px;}
.submit-row{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.form-note{font-size:12.5px; color:#787878;}
#formMsg{font-family:var(--display); font-size:13px; color:var(--lime); margin-top:4px; display:none;}
.contact-info{display:flex; flex-direction:column; justify-content:center; gap:26px; position:relative;}
.info-row .k{font-family:var(--display); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#8a8a8a;}
.info-row .v{font-size:16px; color:#fff; margin-top:6px;}

/* ================= FOOTER admin link ================= */
.admin-link{font-size:12px; color:#666; border:1px solid #333; padding:6px 12px; border-radius:999px; transition:color .15s, border-color .15s;}
.admin-link:hover{color:var(--lime); border-color:var(--lime);}

/* ================= RESPONSIVE ================= */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1;}
  .offer-grid{grid-template-columns:1fr;}
  .collage{height:320px;}
  .benefits-row .wrap{grid-template-columns:1fr;}
  .benefit-items{grid-template-columns:1fr 1fr;}
  .port-grid{grid-template-columns:1fr;}
  .plans{grid-template-columns:1fr; max-width:420px; margin:0 auto;}
  .inc-grid{grid-template-columns:1fr 1fr;}
  .host-explain-grid{grid-template-columns:1fr; gap:36px;}
  .host-explain p{max-width:100%;}
  .ddos-grid{grid-template-columns:1fr; gap:36px;}
  .ddos-shield{order:-1; max-width:280px; margin:0 auto;}
  .ddos p{max-width:100%;}
  .cf-main{grid-template-columns:1fr; padding:60px 0 40px; gap:40px;}
  .cf-info-grid{grid-template-columns:1fr;}
}
@media (max-width:680px){
  nav ul{
    position:fixed; inset:78px 14px auto 14px; background:#141414; border-radius:16px;
    flex-direction:column; align-items:flex-start; padding:22px; gap:18px; border:1px solid rgba(255,255,255,.12);
    transform:translateY(-14px); opacity:0; pointer-events:none; transition:all .2s;
  }
  nav ul.open{transform:translateY(0); opacity:1; pointer-events:auto;}
  .menu-toggle{display:block;}
  .benefit-items{grid-template-columns:1fr;}
  .inc-grid{grid-template-columns:1fr;}
  .final-head{flex-direction:column;}
}
