:root{
  --orange:#F7931E; --orange-d:#d97a0a; --orange-l:#ffb347;
  --black:#0d0d0d; --panel:#151515; --panel2:#1c1c1c; --line:#2c2c2c;
  --text:#f2f2f2; --muted:#a3a3a3; --gold:#d9a441;
  --radius:14px;
  --f-head:'Oswald','Barlow Condensed',Impact,sans-serif;
  --f-cond:'Barlow Condensed','Oswald',sans-serif;
  --f-body:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:linear-gradient(180deg,rgba(13,13,13,0) 0,rgba(13,13,13,.25) 380px,#0d0d0d 900px) no-repeat top/100% 1000px,url(../assets/img/bg-page.svg) no-repeat center top/1600px 1000px,var(--black);color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 18px}
h1,h2,h3{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.02em;line-height:1.1;font-weight:700}
.accent{color:var(--orange)}

/* ---------- top stripe + header ---------- */
.stripe{height:6px;background:repeating-linear-gradient(115deg,var(--orange) 0 18px,#0d0d0d 18px 30px)}
.site-header{position:relative;background:#0d0d0d url(../assets/img/bg-lowpoly.svg) right center/cover;border-bottom:3px solid var(--orange);isolation:isolate}
.site-header::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.95) 0%,rgba(13,13,13,.78) 55%,rgba(13,13,13,.25) 100%);z-index:-1}
.nav{display:flex;align-items:center;gap:14px;padding:14px 18px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand img{width:64px;height:64px;border-radius:50%;box-shadow:0 0 0 2px rgba(217,164,65,.6),0 6px 22px rgba(247,147,30,.35);flex:none}
.brand-text{min-width:0}
.brand-name{font-family:var(--f-head);font-weight:700;font-size:1.45rem;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}
.brand-name span{color:var(--orange)}
.brand-tag{font-family:var(--f-cond);font-weight:600;font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:5px}
.nav-right{margin-left:auto;display:none;gap:10px;align-items:center}
.pill{font-family:var(--f-cond);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;padding:8px 16px;border-radius:999px;border:1px solid var(--orange);color:var(--orange);background:rgba(13,13,13,.55);transition:.2s}
.pill:hover{background:var(--orange);color:#0d0d0d}
.pill.solid{background:var(--orange);color:#0d0d0d}

/* ---------- hero (home) ---------- */
.home-hero{position:relative;isolation:isolate;padding:34px 0 38px}
.home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,13,13,.94) 0%,rgba(13,13,13,.8) 45%,rgba(13,13,13,.1) 100%)}
.eyebrow{display:inline-flex;gap:8px;align-items:center;font-family:var(--f-cond);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;color:var(--orange)}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--orange);display:block}
.home-hero h1{font-size:clamp(2rem,7vw,3.4rem);margin:10px 0 10px;max-width:16ch}
.home-hero p{color:#cfcfcf;max-width:52ch}
.search{margin-top:22px;display:flex;max-width:620px;background:rgba(13,13,13,.9);border:2px solid #333;border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.search:focus-within{border-color:var(--orange);box-shadow:0 0 0 4px rgba(247,147,30,.18)}
.search svg{flex:none;width:22px;height:22px;margin:0 0 0 16px;align-self:center;fill:none;stroke:var(--orange);stroke-width:2.2;stroke-linecap:round}
.search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--text);font:500 1.05rem var(--f-body);padding:15px 14px}
.search input::placeholder{color:#7d7d7d}
.search button{background:var(--orange);color:#0d0d0d;border:0;font:700 1rem var(--f-cond);letter-spacing:.12em;text-transform:uppercase;padding:0 22px;cursor:pointer}
.search button:hover{background:var(--orange-l)}
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;font-family:var(--f-cond);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;color:#d8d8d8}
.trust li{list-style:none;display:flex;gap:8px;align-items:center}
.trust li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#27c46b;color:#fff;font-size:.8rem;font-weight:800}

/* ---------- sections / grid ---------- */
.section{padding:34px 0 50px;flex:1}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:20px;border-left:5px solid var(--orange);padding-left:14px}
.section-head h2{font-size:1.7rem}
.section-head small{color:var(--muted);font-family:var(--f-cond);letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.grid{display:grid;grid-template-columns:1fr;gap:20px}
.card{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:0 14px 34px rgba(247,147,30,.18)}
.card-img{position:relative;aspect-ratio:616/353;background:#000;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:1.35rem}
.card p{color:var(--muted);font-size:.95rem;line-height:1.45}
.card .meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:6px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-family:var(--f-cond);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;padding:3px 10px;border-radius:5px;background:#262626;color:#ddd;border:1px solid #363636}
.tag.o{background:rgba(247,147,30,.14);color:var(--orange);border-color:rgba(247,147,30,.5)}
.ribbon{position:absolute;top:12px;left:12px;z-index:2;background:var(--orange);color:#0d0d0d;font-family:var(--f-cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;padding:4px 12px 4px 10px;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-head);font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:10px;padding:12px 20px;border:2px solid var(--orange);background:var(--orange);color:#0d0d0d;cursor:pointer;transition:.2s;font-size:1rem}
.btn:hover{background:var(--orange-l);border-color:var(--orange-l);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--orange)}
.btn.ghost:hover{background:var(--orange);color:#0d0d0d}
.btn.sm{padding:8px 16px;font-size:.9rem}

/* placeholder cards */
.card.soon{opacity:.6;filter:grayscale(1);pointer-events:none}
.card.soon:hover{transform:none}
.card.soon .card-img{background:#161616 url(../assets/img/ph-grey.svg) center/cover;display:grid;place-items:center}
.card.soon .card-img span{font-family:var(--f-head);font-weight:700;font-size:1.6rem;letter-spacing:.14em;color:#6b6b6b;text-transform:uppercase;border:2px dashed #555;padding:6px 18px;border-radius:8px}
.card.soon .ribbon{background:#555;color:#ddd}
.bar{height:12px;border-radius:6px;background:#2a2a2a}
.bar.w1{width:70%}.bar.w2{width:90%}.bar.w3{width:45%}
.noresult{display:none;text-align:center;padding:40px 10px;color:var(--muted);font-family:var(--f-cond);letter-spacing:.1em;text-transform:uppercase;font-size:1.1rem;grid-column:1/-1}

/* support strip */
.help-strip{margin-top:40px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:22px;border-radius:var(--radius);background:linear-gradient(100deg,rgba(247,147,30,.18),rgba(13,13,13,.9) 70%),var(--panel);border:1px solid rgba(247,147,30,.45)}
.help-strip h3{font-size:1.35rem}
.help-strip p{color:#cfcfcf}

/* ---------- footer ---------- */
.site-footer{background:#080808 url(../assets/img/bg-lowpoly.svg) left center/cover;position:relative;isolation:isolate;border-top:3px solid var(--orange);margin-top:auto}
.site-footer::before{content:"";position:absolute;inset:0;background:rgba(8,8,8,.88);z-index:-1}
.foot{padding:32px 18px 26px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.foot .brand img{width:52px;height:52px}
.foot .brand-name{font-size:1.15rem}
.foot p{color:#bdbdbd}
.foot strong{color:var(--orange);font-weight:600}
.foot .copy{font-size:.85rem;color:#7d7d7d;border-top:1px solid #262626;padding-top:14px;width:100%}

/* ---------- product page ---------- */
.crumbs{font-family:var(--f-cond);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;color:var(--muted);padding:16px 0 0}
.crumbs a:hover{color:var(--orange)}
.crumbs b{color:var(--orange);font-weight:600}
.hero{position:relative;margin-top:14px;border-radius:18px;overflow:hidden;border:1px solid #333;isolation:isolate;min-height:300px;display:flex;align-items:flex-end}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,13,13,.97) 0%,rgba(13,13,13,.72) 45%,rgba(13,13,13,.15) 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:repeating-linear-gradient(115deg,var(--orange) 0 18px,#0d0d0d 18px 30px)}
.hero-inner{padding:90px 22px 30px;width:100%}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-cond);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.88rem;padding:5px 13px;border-radius:6px;background:rgba(13,13,13,.78);border:1px solid var(--orange);color:var(--orange)}
.badge.fill{background:var(--orange);color:#0d0d0d}
.hero h1{font-size:clamp(2.3rem,9vw,4.4rem);text-shadow:0 4px 24px rgba(0,0,0,.6)}
.hero h1 span{color:var(--orange)}
.hero .sub{font-family:var(--f-cond);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#e8e8e8;margin-top:8px;font-size:1rem}

.layout{display:grid;grid-template-columns:1fr;gap:24px;margin-top:26px;padding-bottom:50px}
.box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;position:relative}
.box+.box{margin-top:22px}
.box h2{font-size:1.45rem;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.box h2::before{content:"";width:6px;height:1.1em;background:var(--orange);display:block;transform:skew(-14deg)}
.box p{color:#cfcfcf}
.example{font-family:var(--f-cond);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#bbb;border:1px dashed #666;padding:2px 8px;border-radius:5px;margin-left:auto;white-space:nowrap}

.included{list-style:none;display:grid;gap:8px;grid-template-columns:1fr}
.included li{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--panel2);border:1px solid #2b2b2b;border-left:4px solid var(--orange);border-radius:8px;font-weight:500}
.included li:last-child:nth-child(odd){grid-column:1/-1}
.included li i{font-style:normal;font-family:var(--f-head);color:var(--orange);font-size:1.2rem;width:26px;text-align:center}

.reqs{display:grid;gap:14px;grid-template-columns:1fr}
.req{background:var(--panel2);border:1px solid #2b2b2b;border-radius:10px;padding:14px 16px}
.req h3{font-size:1.05rem;color:var(--orange);margin-bottom:8px;letter-spacing:.06em}
.req dl{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:.95rem}
.req dt{color:var(--muted)}
.req dd{color:#f0f0f0;font-weight:500}

.steps{list-style:none;counter-reset:s;display:grid;gap:12px}
.steps li{counter-increment:s;display:flex;gap:14px;align-items:flex-start;padding:2px 0}
.steps li::before{content:counter(s);flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--orange);color:#0d0d0d;font-family:var(--f-head);font-weight:700;font-size:1.2rem;transform:skewX(-8deg)}
.steps b{display:block;font-family:var(--f-cond);font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;line-height:1.3}
.steps span{color:var(--muted);font-size:.95rem;line-height:1.45;display:block}

.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gallery a{display:block;border-radius:10px;overflow:hidden;border:1px solid #333;aspect-ratio:16/9;background:#000;transition:border-color .2s,transform .2s}
.gallery a:hover{border-color:var(--orange);transform:scale(1.015)}
.gallery img{width:100%;height:100%;object-fit:cover}

/* download panel */
.dl{border:2px solid var(--orange);background:linear-gradient(160deg,rgba(247,147,30,.14),rgba(13,13,13,0) 55%),var(--panel);box-shadow:0 0 0 5px rgba(247,147,30,.08),0 18px 40px rgba(0,0,0,.5)}
.dl-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.dl-head img{width:54px;height:54px;border-radius:50%;box-shadow:0 0 0 2px rgba(217,164,65,.6)}
.dl-head h2{margin:0;font-size:1.5rem}
.dl-head h2::before{display:none}
.dl-head small{display:block;color:var(--muted);font-family:var(--f-cond);letter-spacing:.14em;text-transform:uppercase;font-weight:600;font-size:.82rem;margin-top:3px}
.dl-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.dl-facts div{background:rgba(0,0,0,.4);border:1px solid #2e2e2e;border-radius:8px;padding:8px 12px}
.dl-facts small{display:block;color:var(--muted);font-family:var(--f-cond);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:600}
.dl-facts strong{font-family:var(--f-head);font-weight:600;letter-spacing:.04em;font-size:1.05rem}
.dl-btn{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:12px;background:var(--orange);color:#0d0d0d;border:0;font-family:var(--f-head);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:1.12rem;line-height:1.15;cursor:pointer;position:relative;overflow:hidden;transition:.2s;box-shadow:0 8px 22px rgba(247,147,30,.35)}
.dl-btn+.dl-btn{margin-top:12px}
.dl-btn::after{content:"";position:absolute;top:0;right:-30px;width:90px;height:100%;background:rgba(0,0,0,.12);transform:skewX(-20deg)}
.dl-btn:hover{background:var(--orange-l);transform:translateY(-2px);box-shadow:0 12px 28px rgba(247,147,30,.5)}
.dl-btn svg{flex:none;width:26px;height:26px;fill:none;stroke:#0d0d0d;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.dl-btn small{display:block;font-family:var(--f-cond);font-weight:600;letter-spacing:.12em;font-size:.78rem;opacity:.75;margin-top:3px}
.dl-btn.alt{background:#1a1a1a;color:var(--orange);border:2px solid var(--orange);box-shadow:none}
.dl-btn.alt svg{stroke:var(--orange)}
.dl-btn.alt::after{background:rgba(247,147,30,.08)}
.dl-btn.alt:hover{background:var(--orange);color:#0d0d0d}
.dl-btn.alt:hover svg{stroke:#0d0d0d}
.dummy{display:block;text-align:center;margin-top:12px;font-family:var(--f-cond);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8a8a}

.notice{display:flex;gap:14px;margin-top:18px;padding:14px 16px;border-radius:10px;background:rgba(220,60,40,.1);border:1px solid rgba(255,110,80,.55)}
.notice svg{flex:none;width:26px;height:26px;fill:none;stroke:#ff8466;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.notice strong{display:block;font-family:var(--f-cond);letter-spacing:.1em;text-transform:uppercase;color:#ff9a80;font-size:1.05rem;line-height:1.3}
.notice span{color:#d9cfcb;font-size:.92rem;line-height:1.45;display:block;margin-top:2px}
.help{display:flex;gap:14px;margin-top:14px;align-items:center;padding:14px 16px;border-radius:10px;background:#1a1a1a;border:1px solid #333}
.help svg{flex:none;width:30px;height:30px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.help b{font-family:var(--f-cond);letter-spacing:.08em;text-transform:uppercase;font-size:1.05rem;line-height:1.3;display:block}
.help span{color:var(--muted);font-size:.9rem;line-height:1.4;display:block}

.back{display:inline-flex;margin-top:20px}
.side{order:-1}

/* ---------- breakpoints ---------- */
@media (min-width:560px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .included{grid-template-columns:1fr 1fr}
    .help-strip{flex-direction:row;align-items:center;justify-content:space-between}
  .foot{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
  .foot .copy{order:3}
  .reqs{grid-template-columns:1fr 1fr}
}
@media (min-width:860px){
  .nav-right{display:flex}
  .brand img{width:76px;height:76px}
  .brand-name{font-size:1.9rem}
  .brand-tag{font-size:1.05rem}
  .grid{grid-template-columns:repeat(3,1fr);gap:24px}
  .home-hero{padding:56px 0 62px}
  .hero{min-height:440px}
  .hero-inner{padding:150px 40px 40px}
  .layout{grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
  .side{position:sticky;top:18px;order:0}
  .box{padding:26px 28px}
}
@media (min-width:1100px){
  .grid{grid-template-columns:repeat(4,1fr)}
  .layout{grid-template-columns:minmax(0,1fr) 410px}
}
@media (max-width:380px){
  .brand-name{font-size:1.2rem}.brand-tag{font-size:.78rem;letter-spacing:.14em}.brand img{width:54px;height:54px}
  .search button{padding:0 14px}
}
