*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f7f6f2;
  --surface:#ffffff;
  --border:#e5e2d9;
  --ink:#1a1916;
  --ink2:#5a574f;
  --accent:#1a1916;
  --green:#16a34a;
  --yellow:#f59e0b;
  --red:#dc2626;
  --blue:#2563eb;
  --radius:6px;
}
html{scroll-behavior:smooth}

/* ── BASE SYSTEM FONTS ── */
body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  line-height:1.65;
  letter-spacing:0.01em;
}

/* ── NAV ── */
nav{background:var(--ink);color:#fff;padding:0 5%;display:flex;align-items:center;height:58px;position:sticky;top:0;z-index:100}
.nav-logo{
  font-family:inherit;
  font-weight:800;
  font-size:1.2rem;
  letter-spacing:-0.015em;
  margin-right:auto;
  color: #f59e0b;
  text-decoration: none;
}
.nav-logo span{color:#f59e0b}
.nav-links{display:flex;gap:2rem}
.nav-links a{
  color:rgba(255,255,255,0.65);
  text-decoration:none;
  font-size:0.85rem;
  font-weight:500;
  letter-spacing:0.02em;
  transition:color 0.15s;
}
.nav-links a:hover{color:#fff}

/* ── HERO ── */
.hero{background:var(--ink);color:#fff;padding:5rem 5% 4rem;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%, #2a2720 0%, transparent 70%);pointer-events:none}
.hero-label{
  font-size:0.7rem;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:#ffffff;
  margin-bottom:1rem;
  font-weight:600;
}
.hero h1{
  font-family:inherit;
  font-weight:800;
  font-size:clamp(2.4rem,6vw,4.5rem);
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:1.2rem;
}
.hero h1 span{color:#f59e0b}
.hero p{
  font-size:1.05rem;
  color:rgba(255,255,255,0.6);
  max-width:520px;
  margin:0 auto 2.5rem;
  font-weight:400;
  letter-spacing:0.015em;
}
.hero-cta{
  display:inline-block;
  background:#f59e0b;
  color:#000;
  font-family:inherit;
  font-weight:700;
  font-size:0.95rem;
  padding:0.85rem 2.5rem;
  text-decoration:none;
  border-radius:4px;
  letter-spacing:0.02em;
  transition:all 0.15s;
}
.hero-cta:hover{background:#fff;transform:translateY(-2px)}

/* ── SECTIONS ── */
section{padding:4rem 5%}
.section-label{
  font-size:0.65rem;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--yellow);
  font-weight:600;
  margin-bottom:0.6rem;
}
.section-title{
  font-family:inherit;
  font-size:clamp(1.6rem,3.5vw,2.4rem);
  font-weight:800;
  letter-spacing:-0.015em;
  margin-bottom:1rem;
  line-height:1.15;
}
.section-sub{
  color:var(--ink2);
  font-size:0.8rem;
  margin-bottom:2.5rem;
  font-weight:400;
  letter-spacing:0.01em;
}

/* ── AD SLOTS ── */
.ad-slot{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:1rem;text-align:center;margin:2rem 0;overflow:hidden}
.ad-slot-label{font-size:0.6rem;letter-spacing:0.2em;color:#bbb;text-transform:uppercase;margin-bottom:0.5rem}
.ad-slot ins{display:block}

/* ── QR TOOL ── */
#generator{background:var(--surface);border-top:3px solid var(--accent)}
.tool-wrap{display:flex;gap:2rem;flex-wrap:wrap;max-width:900px;margin:0 auto}
.tool-left{flex:1;min-width:260px}
.tool-right{flex:1;min-width:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;min-height:280px}
label.field-label{display:block;font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink2);margin-bottom:5px;font-weight:500}
textarea,select,input[type=text]{width:100%;background:var(--bg);border:1.5px solid var(--border);color:var(--ink);font-family:inherit;font-size:0.95rem;padding:0.75rem;border-radius:var(--radius);outline:none;transition:border-color 0.2s;font-weight:400;letter-spacing:0.01em}
textarea:focus,select:focus,input:focus{border-color:var(--accent)}
textarea{resize:vertical;min-height:100px}
.opts-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.opt-group{flex:1;min-width:110px}
.color-row{display:flex;gap:0.8rem;margin-top:1rem}
.color-item label{display:block;font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink2);margin-bottom:4px;font-weight:500}
input[type=color]{width:48px;height:36px;border:1.5px solid var(--border);padding:2px;cursor:pointer;border-radius:4px;background:none}
.gen-btn{width:100%;background:var(--ink);color:#fff;border:none;font-family:inherit;font-weight:700;font-size:1rem;padding:0.9rem;border-radius:var(--radius);cursor:pointer;letter-spacing:0.03em;margin-top:1.2rem;transition:all 0.15s}
.gen-btn:hover{background:#333;transform:translateY(-2px)}
.qr-placeholder{color:var(--ink2);font-size:0.8rem}
.qr-placeholder .qr-icon{font-size:3rem;opacity:0.15;margin-bottom:0.5rem}
.qr-frame{background:#fff;padding:1rem;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,0.1)}
.dl-btn{background:transparent;color:var(--ink);border:1.5px solid var(--border);font-family:inherit;font-size:0.78rem;padding:0.55rem 1.2rem;cursor:pointer;border-radius:var(--radius);transition:all 0.15s;letter-spacing:0.05em;font-weight:500}
.dl-btn:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.error-msg{color:var(--red);font-size:0.78rem;margin-top:6px;display:none}
.char-cnt{text-align:right;font-size:0.65rem;color:#aaa;margin-top:3px}

/* ── HOW TO ── */
#how-to{background:var(--bg)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}
.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;position:relative}
.step-num{font-family:inherit;font-size:3rem;font-weight:800;color:var(--border);line-height:1;margin-bottom:0.5rem}
.step h3{font-family:inherit;font-weight:700;font-size:1rem;margin-bottom:0.4rem}
.step p{font-weight:400;font-size:0.85rem;color:var(--ink2);letter-spacing:0.01em}
.step-badge{position:absolute;top:1rem;right:1rem;background:var(--yellow);color:#000;font-size:0.6rem;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:0.1em;text-transform:uppercase}

/* ── BENEFITS ── */
#benefits{background:var(--ink);color:#fff}
#benefits .section-title{color:#fff}
#benefits .section-sub{color:rgba(255,255,255,0.55)}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.benefit-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius);padding:1.5rem;transition:border-color 0.2s}
.benefit-card:hover{border-color:rgba(245,158,11,0.4)}
.benefit-icon{font-size:1.8rem;margin-bottom:0.8rem}
.benefit-card h3{font-family:inherit;font-weight:700;font-size:1rem;margin-bottom:0.4rem;color:#fff}
.benefit-card p{font-weight:400;font-size:0.83rem;color:rgba(255,255,255,0.5);line-height:1.6;letter-spacing:0.01em}

/* ── USES ── */
#uses{background:var(--bg)}
.uses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.use-item{display:flex;align-items:flex-start;gap:0.8rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem}
.use-dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);flex-shrink:0;margin-top:6px}
.use-item h4{font-family:inherit;font-weight:700;font-size:0.9rem;margin-bottom:0.2rem}
.use-item p{font-weight:400;font-size:0.8rem;color:var(--ink2);letter-spacing:0.01em}

/* ── FAQ ── */
#faq{background:var(--surface)}
.faq-item{border-bottom:1px solid var(--border);padding:1.2rem 0}
.faq-q{font-family:'Outfit',sans-serif;font-weight:700;font-size:0.95rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-q::after{content:'+';font-size:1.4rem;color:var(--ink2);font-weight:300;flex-shrink:0}
.faq-item.open .faq-q::after{content:'−'}
.faq-a{font-size:0.88rem;color:var(--ink2);line-height:1.7;max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.2s}
.faq-item.open .faq-a{max-height:300px;padding-top:0.8rem}

/* Optional: if you want to restrict max-width for mobile only */
@media(max-width:600px){
  .faq-list{
    max-width:700px;
  }
}

/* ── FOOTER ── */
footer{background:var(--ink);color:rgba(255,255,255,0.45);text-align:center;padding:2.5rem 5%;font-size:0.8rem}
.footer-brand{font-family:inherit;font-size:1rem;font-weight:700;color:#fff;margin-bottom:0.3rem}
.footer-brand span{color:#f59e0b}
.footer-tagline{font-weight:400;font-size:0.75rem;margin-bottom:1.2rem;color:rgba(255,255,255,0.3);letter-spacing:0.01em}
.footer-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.footer-links a{font-weight:500;color:#f59e0b;text-decoration:none;font-size:0.75rem;transition:color 0.15s;letter-spacing:0.01em}
.footer-links a:hover{color:rgba(255,255,255,0.4)}
.footer-copy{font-weight:400;font-size:0.7rem;color:rgb(255 255 255);letter-spacing:0.01em}

/* ── ADMIN hidden link ── */
/* No visible admin link — accessed via /#admin only */

@media(max-width:600px){
  nav .nav-links{display:none}
  .tool-right{min-height:200px}
}