:root{
  --bg:#06080d;
  --bg-2:#0a0f16;
  --panel:#0d131c;
  --panel-2:#121a24;
  --soft:#182331;
  --text:#f4f7fb;
  --muted:#9ea9b9;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --accent:#ff7a00;
  --accent-2:#ff9d3d;
  --accent-soft:rgba(255,122,0,.14);
  --success:#19c37d;
  --telegram:#2aabee;
  --shadow:0 18px 50px rgba(0,0,0,.38);
  --radius:24px;
  --radius-sm:16px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font:500 16px/1.65 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at top center, rgba(255,122,0,.12), transparent 28%),
    radial-gradient(circle at 10% 30%, rgba(255,255,255,.04), transparent 22%),
    linear-gradient(180deg, #05070b 0%, #09101a 100%);
  letter-spacing:.01em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.38), transparent 70%);
}

a{color:inherit;text-decoration:none;transition:.22s ease}
img{max-width:100%;display:block}
button,input,select{font:inherit}

.wrap,
.w{
  width:min(calc(100% - 28px), var(--max));
  margin:0 auto;
  padding:20px 0 44px;
}

header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  position:sticky;
  top:0;
  z-index:50;
  width:min(calc(100% - 28px), var(--max));
  margin:0 auto;
  padding:18px 0 16px;
  backdrop-filter:blur(16px);
  background:linear-gradient(180deg, rgba(5,7,11,.9), rgba(5,7,11,.72));
  border-bottom:1px solid var(--line);
}

.brand{display:flex;align-items:center;gap:14px;min-width:0}
.logo{
  width:48px;height:48px;border-radius:16px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 35%),
    linear-gradient(135deg, #ff6200 0%, #ff8f1f 48%, #ffb15b 100%);
  box-shadow:0 12px 26px rgba(255,122,0,.24), inset 0 1px 0 rgba(255,255,255,.18);
}
.brand h1{margin:0;font:700 20px/1.05 Oswald,Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.brand p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35}

.search-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
input,select{
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  border-radius:14px;
  padding:12px 14px;
  outline:none;
}
input{width:min(320px,100%)}
input:focus,select:focus{border-color:rgba(255,122,0,.55); box-shadow:0 0 0 4px rgba(255,122,0,.1)}

.hero,
.grid{
  display:grid;
  gap:18px;
}
.hero{grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr); margin-top:20px}
.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); margin-top:18px}

.card,
.c,
.catalog-card,
.related ul li a{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(17,24,35,.92), rgba(10,14,21,.96));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card::before,
.c::before,
.catalog-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
}
.card,
.c{padding:24px}
.catalog-card{padding:20px;display:flex;flex-direction:column;gap:8px;min-height:100%}
.catalog-card:hover,
.related ul li a:hover,
.c:hover,
.card:hover{transform:translateY(-2px);border-color:var(--line-2)}

.hero > .card:first-child{
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:30px;
  background:
    radial-gradient(circle at top right, rgba(255,122,0,.16), transparent 32%),
    linear-gradient(180deg, rgba(15,22,33,.94), rgba(9,13,19,.98));
}

h1,h2,h3{margin:0 0 10px}
h1,
.hero h2{
  font-family:Oswald,Inter,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.02;
  letter-spacing:.03em;
}
.hero h2{
font-size:clamp(32px,5vw,60px)
}

h1{
font-size:clamp(28px,3vw,42px)
}

.card h1 + p:first-of-type{
font-size:18px;
color:#d7e0eb;
}

h2,.section-title{font-size:clamp(22px,2.6vw,32px);font-family:Oswald,Inter,sans-serif;text-transform:uppercase;letter-spacing:.03em}
h3{font-size:20px;font-weight:700}
p,li{color:#d7e0eb}
.note,
.card p:last-child.note,
footer,
.brand p,
.catalog-card p,
.link{color:var(--muted)}
.note{font-size:14px;line-height:1.7}

.hero h2::after,
.card > h1::after,
.section-title::after,
.c > h2::after{
  content:"";
  display:block;
  width:92px;
  height:4px;
  margin-top:12px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--accent), var(--accent-2));
  box-shadow:0 0 24px rgba(255,122,0,.28);
}

.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.pill,
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,122,0,.18);
  background:var(--accent-soft);
  color:#ffd7af;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.badge{margin-bottom:8px;width:max-content}

.contact-stack,
.btns,
.cta{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
}
.btns,.cta{flex-wrap:wrap;flex-direction:row}
.btn,
.cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:14px 18px;
  border:1px solid transparent;
  border-radius:16px;
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
}
.btn img{width:18px;height:18px;filter:brightness(0) invert(1)}
.btn-line,
.btn.line{background:linear-gradient(135deg,#0fbf63,#11d36d)}
.btn-wa,
.btn.wa{background:linear-gradient(135deg,#10a37f,#21c59a)}
.btn-tg,
.cta a:last-child{background:linear-gradient(135deg,#1f8dd6,#2aabee)}
.cta a:first-child{background:linear-gradient(135deg,#0fbf63,#11d36d)}
.cta a:nth-child(2){background:linear-gradient(135deg,#10a37f,#21c59a)}
.btn:hover,
.cta a:hover{transform:translateY(-2px) scale(1.01);filter:brightness(1.05)}

.toplink,
body > a[href$='index.html'],
body > a[href$='hgh-peptides.html'],
.wrap > a:first-child:not(.btn):not(.catalog-card):not(.brand){
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:6px 0 16px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:#c5d0dd;
}
.toplink:hover,
.wrap > a:first-child:not(.btn):not(.catalog-card):not(.brand):hover{background:rgba(255,255,255,.06);color:#fff}

.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px}
.catalog-card .icon{font-size:28px;line-height:1;margin-bottom:2px}
.catalog-card h3{margin-bottom:2px}
.catalog-card .link{margin-top:auto;font-weight:700;color:#ffd7af}
.catalog-card:hover .link{color:#fff2e0}

ul{padding-left:18px;margin:12px 0 0}
li{margin:0 0 8px}
.related ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.related ul li{margin:0}
.related ul li a{display:block;padding:16px 18px;font-weight:700}
.related ul li a::after{content:"↗";float:right;color:#ffcf9c}

footer{
  margin-top:28px;
  padding:22px 0 8px;
  border-top:1px solid var(--line);
  font-size:13px;
}

/* legacy layout helpers */
.w > h1:first-child,
body > h1:first-child{
  width:min(calc(100% - 28px), var(--max));
  margin:26px auto 12px;
}
.w > p:first-of-type,
body > h1:first-child + p{
  width:min(calc(100% - 28px), var(--max));
  margin:0 auto 18px;
  color:var(--muted);
}
body > .grid{
  width:min(calc(100% - 28px), var(--max));
  margin:18px auto 40px;
}
.c{margin-bottom:18px}

/* better spacing on compact pages */
.w .btn + .btn{margin-left:10px}

/* subtle separators for long info blocks */
.card + .card,
.c + .c,
.grid + .card,
.grid + .c{margin-top:18px}

@media (max-width: 980px){
  header{position:static;padding-top:16px}
  .hero{grid-template-columns:1fr}
}

@media (max-width: 720px){
  .wrap,.w{width:min(calc(100% - 20px), var(--max));padding-top:14px}
  header{width:min(calc(100% - 20px), var(--max));flex-direction:column;align-items:stretch}
  .search-row{justify-content:stretch}
  input,select{width:100%}
  .card,.c{padding:20px}
  .hero > .card:first-child{padding:22px;min-height:unset}
  .btn,
  .cta a,
  .btns a{width:100%}
  .btns,.cta,.contact-stack{flex-direction:column}
  .related ul,
  .catalog-grid,
  .grid{grid-template-columns:1fr}
}
