/* ============================================
   FckOffRKN — Unified Design System
   ============================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#0a0c10;
  --bg2:#111318;
  --bg3:#1a1d24;
  --border:#ffffff14;
  --accent:#e63946;
  --accent2:#ff6b6b;
  --blue:#4cc9f0;
  --green:#2ecc71;
  --yellow:#f9c74f;
  --text:#e2e8f0;
  --muted:#8892a4;
  --r:12px;

  /* Spacing scale */
  --gap-xs:8px;
  --gap-sm:12px;
  --gap-md:16px;
  --gap-lg:24px;
  --gap-xl:32px;
  --gap-2xl:48px;

  /* Typography scale */
  --fs-h1:32px;
  --fs-h2:24px;
  --fs-h3:18px;
  --fs-lead:17px;
  --fs-body:16px;
  --fs-sm:14px;
  --fs-xs:13px;
  --fs-tag:12px;

  /* Section padding */
  --section-pad:48px;
}

html{scroll-behavior:smooth}

body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:var(--fs-body);
  line-height:1.7;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}

/* ============================================
   TYPOGRAPHY — locked for all pages
   ============================================ */

h1{
  font-size:var(--fs-h1);
  font-weight:800;
  line-height:1.2;
  color:#fff;
  margin-bottom:var(--gap-md);
  letter-spacing:-.01em;
}
h1 em{color:var(--accent);font-style:normal}

h2{
  font-size:var(--fs-h2);
  font-weight:700;
  line-height:1.3;
  color:#fff;
  margin-bottom:var(--gap-sm);
  letter-spacing:-.005em;
}

h3{
  font-size:var(--fs-h3);
  font-weight:700;
  line-height:1.4;
  color:#fff;
  margin-bottom:var(--gap-xs);
}

p{
  font-size:var(--fs-body);
  line-height:1.7;
  color:var(--muted);
  margin-bottom:var(--gap-sm);
}
p:last-child{margin-bottom:0}

li{font-size:var(--fs-body);line-height:1.7}

.section-lead,.hero-sub{
  font-size:var(--fs-lead);
  line-height:1.65;
  color:var(--muted);
  margin-bottom:var(--gap-xl);
  max-width:680px;
}

@media(max-width:600px){
  :root{
    --fs-h1:26px;
    --fs-h2:20px;
    --fs-h3:17px;
    --fs-lead:16px;
    --section-pad:32px;
  }
}

/* ============================================
   LAYOUT
   ============================================ */

.wrap,
.nav-wrap{
  max-width:900px;
  margin:0 auto;
  padding:0 20px;
}

section{
  padding:var(--section-pad) 0;
}

/* Inline max-width overrides on inner blocks — normalize to wrap width */
.wrap > .card,
.wrap > .steps,
.wrap > .faq,
.wrap > .grid,
.wrap > .methods,
.wrap > .devices,
.wrap > .situation-grid{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.divider,hr.divider,hr{
  border:none;
  border-top:1px solid var(--border);
  margin:0;
}

/* ============================================
   NAV
   ============================================ */

nav{
  position:sticky;top:0;z-index:100;
  background:rgba(10,12,16,.85);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  padding:14px 0;
}
.nav-wrap{
  width:min(100% - 28px,900px);
  margin:0 auto;
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gap-md);
  min-height:42px;
  position:relative;
}
.nav-logo{
  font-size:17px;
  font-weight:800;
  color:#fff;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:var(--gap-xs);
  line-height:1;
}
.nav-logo:hover{text-decoration:none}
.nav-logo span{color:var(--accent)}

.nav-links{
  display:flex;
  gap:20px;
  align-items:center;
  flex-wrap:nowrap;
}
.nav-links a{
  color:var(--muted);
  font-size:var(--fs-sm);
  line-height:1.2;
}
.nav-links a:hover{color:#fff;text-decoration:none}

.nav-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--border);
  color:#fff;
  border-radius:10px;
  padding:8px 10px;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

@media(max-width:560px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav-links{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    min-width:220px;
    background:var(--bg2);
    border:1px solid var(--border);
    border-radius:12px;
    padding:10px;
    flex-direction:column;
    gap:10px;
    z-index:50;
    box-shadow:0 10px 30px rgba(0,0,0,.4);
  }
  .nav-inner.nav-open .nav-links{display:flex}
}

/* ============================================
   HERO
   ============================================ */

.hero{
  padding:64px 0 var(--section-pad);
  background:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(230,57,70,.12) 0%, transparent 70%);
  border-bottom:1px solid var(--border);
  text-align:center;
}
/* hero uses standard .wrap width (900px) for visual consistency with other sections */

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:var(--gap-xs);
  background:rgba(230,57,70,.15);
  border:1px solid rgba(230,57,70,.3);
  color:var(--accent2);
  font-size:var(--fs-xs);
  font-weight:600;
  padding:6px 14px;
  border-radius:100px;
  margin-bottom:var(--gap-lg);
}

.hero h1{margin-bottom:var(--gap-md)}

.hero-sub{
  margin:0 auto var(--gap-xl);
  max-width:640px;
}

.hero-cta,.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--accent);
  color:#fff;
  font-size:var(--fs-body);
  font-weight:700;
  padding:14px 28px;
  border-radius:var(--r);
  text-decoration:none;
  transition:background .2s,transform .15s;
  border:none;
  cursor:pointer;
}
.hero-cta:hover,.btn:hover{
  background:#c1121f;
  text-decoration:none;
  transform:translateY(-1px);
}

.btn-blue{
  background:rgba(76,201,240,.15);
  border:1px solid rgba(76,201,240,.3);
  color:var(--blue);
}
.btn-blue:hover{background:rgba(76,201,240,.25)}

.breadcrumb{
  font-size:var(--fs-xs);
  color:var(--muted);
  margin-bottom:var(--gap-md);
  text-align:left;
}
.breadcrumb a{color:var(--muted)}
.breadcrumb span{color:#fff}

.hero .breadcrumb{
  display:block;
  text-align:left;
  max-width:900px;
  margin:0 auto var(--gap-sm);
}

/* ============================================
   CARDS / GRIDS
   ============================================ */

.card{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:var(--gap-lg);
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:var(--gap-md);
  margin-top:var(--gap-md);
}

.tag{
  display:inline-block;
  font-size:var(--fs-tag);
  font-weight:600;
  padding:3px 10px;
  border-radius:100px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  margin-right:6px;
  margin-bottom:6px;
}

/* SITUATION GRID */
.situation{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.situation-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--gap-md);
  margin-top:var(--gap-xl);
}
.stat-card{
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:var(--gap-lg);
}
.stat-card__num{
  font-size:32px;
  font-weight:800;
  color:var(--accent);
  line-height:1.1;
}
.stat-card__label{
  font-size:var(--fs-sm);
  color:var(--muted);
  margin-top:var(--gap-xs);
  line-height:1.5;
}

/* METHODS */
.methods{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:var(--gap-md);
  margin-top:var(--gap-md);
}
.method-card{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:var(--gap-lg);
  position:relative;
  overflow:hidden;
}
.method-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
}
.method-card--green::before{background:var(--green)}
.method-card--blue::before{background:var(--blue)}
.method-card--yellow::before{background:var(--yellow)}

.method-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:var(--fs-tag);
  font-weight:600;
  padding:3px 10px;
  border-radius:100px;
  margin-bottom:var(--gap-sm);
}
.status-works{background:rgba(46,204,113,.15);color:var(--green)}
.status-partial{background:rgba(249,199,79,.15);color:var(--yellow)}
.status-broken{background:rgba(230,57,70,.15);color:var(--accent2)}
.status-ok{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(46,204,113,.1);
  border:1px solid rgba(46,204,113,.3);
  color:var(--green);
  font-size:var(--fs-tag);
  font-weight:600;
  padding:4px 10px;
  border-radius:100px;
  margin-bottom:var(--gap-sm);
}

/* ============================================
   STEPS
   ============================================ */

.steps{
  counter-reset:step;
  display:flex;
  flex-direction:column;
  gap:var(--gap-md);
  margin-top:var(--gap-md);
}
.step{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:20px var(--gap-lg);
  display:flex;
  gap:var(--gap-md);
  align-items:flex-start;
  counter-increment:step;
}
.step::before{
  content:counter(step);
  flex-shrink:0;
  width:32px;height:32px;
  background:rgba(76,201,240,.15);
  border:1px solid rgba(76,201,240,.3);
  color:var(--blue);
  font-weight:700;
  font-size:15px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.step-body strong{
  display:block;
  font-size:15px;
  font-weight:600;
  color:#fff;
  margin-bottom:6px;
}
.step-body p{
  font-size:var(--fs-sm);
  color:var(--muted);
  margin:0 0 var(--gap-xs);
  line-height:1.65;
}
.step-body p:last-child{margin-bottom:0}
.step-body a{font-size:var(--fs-sm)}

/* ============================================
   DEVICE TABS
   ============================================ */

.devices{margin-top:var(--gap-md)}
.dev-tabs{
  display:flex;
  gap:var(--gap-xs);
  flex-wrap:wrap;
  margin-bottom:var(--gap-lg);
}
.dev-tab{
  padding:8px var(--gap-md);
  border-radius:8px;
  font-size:var(--fs-sm);
  font-weight:600;
  cursor:pointer;
  border:1px solid var(--border);
  background:var(--bg2);
  color:var(--muted);
  transition:all .2s;
}
.dev-tab.active,.dev-tab:hover{
  background:var(--blue);
  color:#000;
  border-color:var(--blue);
}
.dev-content{display:none}
.dev-content.active{display:block}
.dev-steps{display:flex;flex-direction:column;gap:10px}
.dev-step{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:10px;
  padding:14px 18px;
  font-size:var(--fs-sm);
  color:var(--muted);
  display:flex;
  gap:var(--gap-sm);
  align-items:center;
  line-height:1.6;
}
.dev-step b{color:#fff;min-width:22px;font-size:var(--fs-xs)}

/* ============================================
   FAQ
   ============================================ */

.faq{
  display:flex;
  flex-direction:column;
  gap:var(--gap-sm);
  margin-top:var(--gap-md);
}
.faq-item{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}
.faq-q{
  width:100%;
  text-align:left;
  padding:18px 22px;
  background:none;
  border:none;
  cursor:pointer;
  font-size:15px;
  font-weight:600;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--gap-sm);
}
.faq-q .ico{
  color:var(--blue);
  font-size:20px;
  flex-shrink:0;
  transition:transform .2s;
}
.faq-item.open .faq-q .ico{transform:rotate(45deg)}
.faq-a{
  display:none;
  padding:0 22px 18px;
  font-size:var(--fs-sm);
  color:var(--muted);
  line-height:1.7;
}
.faq-item.open .faq-a{display:block}

/* ============================================
   ALERT / BANNER
   ============================================ */

.alert{
  background:rgba(230,57,70,.08);
  border:1px solid rgba(230,57,70,.25);
  border-radius:var(--r);
  padding:20px var(--gap-lg);
  font-size:var(--fs-sm);
  color:#ffb3b3;
  margin-bottom:var(--gap-xl);
  display:flex;
  gap:var(--gap-sm);
  line-height:1.65;
}
.alert::before{
  content:'⚠️';
  flex-shrink:0;
  font-size:18px;
}

.proxy-banner{
  background:linear-gradient(135deg,rgba(76,201,240,.12),rgba(76,201,240,.04));
  border:1px solid rgba(76,201,240,.25);
  border-radius:var(--r);
  padding:28px;
  display:flex;
  align-items:center;
  gap:var(--gap-lg);
  margin-top:var(--gap-xl);
}
.proxy-banner__text h3{margin-bottom:6px}
.proxy-banner__text p{font-size:var(--fs-sm);color:var(--muted);margin:0}
.proxy-banner__btn{
  flex-shrink:0;
  background:var(--blue);
  color:#000;
  font-weight:700;
  font-size:var(--fs-sm);
  padding:12px 22px;
  border-radius:9px;
  white-space:nowrap;
  transition:opacity .2s;
}
.proxy-banner__btn:hover{opacity:.85;text-decoration:none}
@media(max-width:560px){
  .proxy-banner{flex-direction:column}
  .proxy-banner__btn{width:100%;text-align:center}
}

/* ============================================
   FOOTER
   ============================================ */

footer{
  border-top:1px solid var(--border);
  padding:var(--gap-2xl) 0;
  text-align:center;
  font-size:var(--fs-xs);
  color:var(--muted);
}
footer p{
  font-size:var(--fs-xs);
  color:var(--muted);
  margin-bottom:var(--gap-xs);
}
footer p:last-child{margin-bottom:0}
footer a{color:var(--muted)}
