﻿:root {
  --nfr-forest: #0f1c22;
  --nfr-mid: #152a32;
  --nfr-bronze: #c9a227;
  --nfr-gold: #e8d48a;
  --nfr-light: #e8eef0;
  --nfr-muted: #9db0b0;
  --nfr-white: #ffffff;
  --nfr-card-bg: #1a2f38;
  --nfr-border: rgba(201, 162, 39, 0.28);
  --nfr-bg-deep: #0f1c22;
  --nfr-cta-end: #0a1418;
  --nfr-form-input-bg: #152830;
  --nfr-accent-soft: rgba(201, 162, 39, 0.12);
  --nfr-radius: 12px;
  --nfr-shadow: 0 8px 32px rgba(0,0,0,0.45);
  --nfr-on-accent: #142022;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--nfr-bg-deep);color:var(--nfr-light);line-height:1.65;min-height:100vh}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* WRAP */
.nfr-wrap{display:flex;flex-direction:column;min-height:100vh}

/* HEADER */
.nfr-header{position:sticky;top:0;z-index:100;background:var(--nfr-forest);border-bottom:2px solid var(--nfr-bronze);padding:0 2rem}
.nfr-header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;height:68px}
.nfr-logo{display:flex;align-items:center;gap:0.65rem;font-family:'Lora',serif;font-size:1.15rem;font-weight:700;color:var(--nfr-gold);margin-right:auto}
.nfr-logo-dot{color:var(--nfr-bronze)}
.nfr-logo-mark{width:36px;height:36px;display:block;object-fit:contain;flex-shrink:0}
.nfr-logo-emblem{width:36px;height:36px;flex-shrink:0}
.nfr-nav{display:flex;gap:1.75rem}
.nfr-nav a{font-size:0.9rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--nfr-light);opacity:0.85;transition:opacity 0.2s,color 0.2s}
.nfr-nav a:hover{opacity:1;color:var(--nfr-gold)}
.nfr-header-cta{background:var(--nfr-bronze);color:#fff;border:none;padding:0.55rem 1.25rem;border-radius:6px;font-family:'Barlow',sans-serif;font-size:0.88rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
.nfr-header-cta:hover{background:var(--nfr-gold);color:var(--nfr-on-accent)}
.nfr-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nfr-burger span{display:block;width:24px;height:2px;background:var(--nfr-light);border-radius:2px;transition:transform 0.3s}
@media(max-width:768px){
  .nfr-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--nfr-forest);flex-direction:column;padding:1rem 2rem;border-bottom:2px solid var(--nfr-bronze)}
  .nfr-nav.open{display:flex}
  .nfr-burger{display:flex}
  .nfr-header-cta{display:none}
}

/* HERO — diagonal split */
.nfr-hero{position:relative;overflow:hidden;background:var(--nfr-forest);min-height:560px;display:flex;align-items:center}
.nfr-hero-bg{position:absolute;inset:0;background:url('../assets/images/hero-bg.jpg') center/cover no-repeat;opacity:0.18}
.nfr-hero-slant{position:absolute;bottom:0;right:0;width:55%;height:100%;background:var(--nfr-mid);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);opacity:0.55}
.nfr-hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:5rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.nfr-hero-tag{display:inline-block;background:var(--nfr-bronze);color:#fff;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 0.8rem;border-radius:4px;margin-bottom:1.2rem}
.nfr-hero-inner h1{font-family:'Lora',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.2;color:var(--nfr-white);margin-bottom:1rem}
.nfr-hero-inner h1 em{color:var(--nfr-gold);font-style:normal}
.nfr-hero-inner p{font-size:1.05rem;color:var(--nfr-muted);margin-bottom:2rem;max-width:420px}
.nfr-hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.nfr-btn-prim{background:var(--nfr-bronze);color:#fff;padding:0.75rem 1.75rem;border-radius:8px;font-weight:700;font-size:0.95rem;letter-spacing:0.04em;transition:background 0.2s,transform 0.15s}
.nfr-btn-prim:hover{background:var(--nfr-gold);color:var(--nfr-on-accent);transform:translateY(-2px)}
.nfr-btn-sec{border:2px solid var(--nfr-bronze);color:var(--nfr-bronze);padding:0.7rem 1.5rem;border-radius:8px;font-weight:700;font-size:0.95rem;transition:all 0.2s}
.nfr-btn-sec:hover{background:var(--nfr-bronze);color:#fff}
.nfr-hero-visual{display:flex;flex-direction:column;gap:1rem}
.nfr-hero-badge{background:var(--nfr-accent-soft);border:1px solid var(--nfr-border);border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;gap:0.75rem}
.nfr-hero-badge-icon{font-size:1.8rem}
.nfr-hero-badge-text{font-size:0.85rem;color:var(--nfr-muted)}
.nfr-hero-badge-text strong{display:block;color:var(--nfr-gold);font-size:1rem}
@media(max-width:768px){
  .nfr-hero-inner{grid-template-columns:1fr}
  .nfr-hero-visual{display:none}
  .nfr-hero-slant{display:none}
}

/* GAMES SECTION */
.nfr-games{padding:5rem 2rem;background:var(--nfr-bg-deep)}
.nfr-section-header{text-align:center;margin-bottom:3rem}
.nfr-section-tag{font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--nfr-bronze);margin-bottom:0.5rem}
.nfr-section-header h2{font-family:'Lora',serif;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--nfr-white)}
.nfr-section-header p{color:var(--nfr-muted);max-width:520px;margin:0.75rem auto 0}
.nfr-games-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}
.nfr-game-card{background:var(--nfr-card-bg);border:1px solid var(--nfr-border);border-radius:var(--nfr-radius);overflow:hidden;transition:transform 0.25s,box-shadow 0.25s}
.nfr-game-card:hover{transform:translateY(-6px);box-shadow:var(--nfr-shadow)}
.nfr-game-thumb{height:260px;overflow:hidden;position:relative}
.nfr-game-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.nfr-game-card:hover .nfr-game-thumb img{transform:scale(1.05)}
.nfr-game-label{position:absolute;top:12px;left:12px;background:var(--nfr-bronze);color:#fff;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:0.25rem 0.65rem;border-radius:4px}
.nfr-game-info{padding:1.5rem}
.nfr-game-info h3{font-family:'Lora',serif;font-size:1.35rem;color:var(--nfr-white);margin-bottom:0.6rem}
.nfr-game-info p{font-size:0.9rem;color:var(--nfr-muted);margin-bottom:1.25rem}
.nfr-game-launch{display:inline-flex;align-items:center;gap:0.4rem;background:var(--nfr-bronze);color:#fff;padding:0.6rem 1.25rem;border-radius:6px;font-weight:700;font-size:0.88rem;transition:background 0.2s}
.nfr-game-launch:hover{background:var(--nfr-gold);color:var(--nfr-on-accent)}
@media(max-width:700px){.nfr-games-grid{grid-template-columns:1fr}}

/* FEATURES STRIP */
.nfr-features{background:var(--nfr-mid);padding:4rem 2rem}
.nfr-features-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.nfr-feat{padding:1.75rem;background:rgba(255,255,255,0.04);border:1px solid var(--nfr-border);border-radius:var(--nfr-radius);text-align:center}
.nfr-feat-icon{font-size:2.2rem;margin-bottom:0.9rem}
.nfr-feat h3{font-family:'Lora',serif;font-size:1.1rem;color:var(--nfr-gold);margin-bottom:0.5rem}
.nfr-feat p{font-size:0.88rem;color:var(--nfr-muted);line-height:1.6}
@media(max-width:700px){.nfr-features-grid{grid-template-columns:1fr}}

/* STATS BAR */
.nfr-stats{background:var(--nfr-bronze);padding:2.5rem 2rem}
.nfr-stats-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;gap:1.5rem}
.nfr-stat{text-align:center}
.nfr-stat-num{font-family:'Lora',serif;font-size:2.2rem;font-weight:700;color:#fff;line-height:1}
.nfr-stat-label{font-size:0.82rem;color:rgba(255,255,255,0.75);text-transform:uppercase;letter-spacing:0.06em;margin-top:0.3rem}

/* HOW TO PLAY */
.nfr-how{padding:5rem 2rem;background:var(--nfr-bg-deep)}
.nfr-how-steps{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative}
.nfr-how-steps::before{content:'';position:absolute;top:36px;left:10%;right:10%;height:2px;background:var(--nfr-border)}
.nfr-step{text-align:center;position:relative}
.nfr-step-num{width:72px;height:72px;border-radius:50%;background:var(--nfr-card-bg);border:2px solid var(--nfr-bronze);display:flex;align-items:center;justify-content:center;font-family:'Lora',serif;font-size:1.5rem;font-weight:700;color:var(--nfr-bronze);margin:0 auto 1rem}
.nfr-step h3{font-family:'Lora',serif;font-size:1rem;color:var(--nfr-white);margin-bottom:0.4rem}
.nfr-step p{font-size:0.84rem;color:var(--nfr-muted)}
@media(max-width:700px){.nfr-how-steps{grid-template-columns:repeat(2,1fr)}.nfr-how-steps::before{display:none}}

/* TESTIMONIALS */
.nfr-testimonials{padding:5rem 2rem;background:var(--nfr-mid)}
.nfr-testi-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.nfr-testi{background:rgba(255,255,255,0.04);border:1px solid var(--nfr-border);border-radius:var(--nfr-radius);padding:1.75rem}
.nfr-testi-stars{color:var(--nfr-gold);font-size:1.1rem;margin-bottom:0.75rem;letter-spacing:2px}
.nfr-testi p{font-size:0.9rem;color:var(--nfr-muted);font-style:italic;margin-bottom:1rem}
.nfr-testi-author{font-weight:700;color:var(--nfr-light);font-size:0.88rem}
@media(max-width:700px){.nfr-testi-grid{grid-template-columns:1fr}}

/* CTA */
.nfr-cta{padding:5rem 2rem;text-align:center;background:linear-gradient(135deg,var(--nfr-forest),var(--nfr-cta-end))}
.nfr-cta h2{font-family:'Lora',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--nfr-white);margin-bottom:1rem}
.nfr-cta p{color:var(--nfr-muted);max-width:480px;margin:0 auto 2rem}

/* FOOTER */
.nfr-footer{background:var(--nfr-forest);border-top:2px solid var(--nfr-bronze);padding:3.5rem 2rem 0}
.nfr-footer-top{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem}
.nfr-footer-brand-row{display:flex;align-items:center;gap:0.65rem;margin-bottom:0.35rem}
.nfr-footer-brand-name{font-family:'Lora',serif;font-size:1.05rem;color:var(--nfr-gold);font-weight:700}
.nfr-footer-spotlight{margin-top:8px;color:var(--nfr-bronze);font-size:0.82rem;font-weight:700}
.nfr-footer-brand p{font-size:0.88rem;color:var(--nfr-muted);margin-top:0.75rem;max-width:300px;line-height:1.7}
.nfr-footer-col h4{font-family:'Lora',serif;font-size:0.95rem;color:var(--nfr-gold);margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.06em}
.nfr-footer-col a{display:block;font-size:0.88rem;color:var(--nfr-muted);margin-bottom:0.5rem;transition:color 0.2s}
.nfr-footer-col a:hover{color:var(--nfr-bronze)}
.nfr-footer-bottom{border-top:1px solid var(--nfr-border);max-width:1100px;margin:0 auto;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}
.nfr-disclaimer{font-size:0.78rem;color:var(--nfr-muted);max-width:640px;line-height:1.6}
.nfr-disclaimer a{color:var(--nfr-bronze);text-decoration:underline}
.nfr-copy{font-size:0.78rem;color:var(--nfr-muted);white-space:nowrap}
@media(max-width:768px){.nfr-footer-top{grid-template-columns:1fr}.nfr-footer-bottom{flex-direction:column}}

/* INNER PAGES */
.nfr-page-hero{background:var(--nfr-forest);border-bottom:2px solid var(--nfr-bronze);padding:3rem 2rem;text-align:center}
.nfr-page-hero h1{font-family:'Lora',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--nfr-white)}
.nfr-page-hero p{color:var(--nfr-muted);margin-top:0.5rem}
.nfr-page-body{max-width:820px;margin:0 auto;padding:3.5rem 2rem;background:var(--nfr-card-bg);border-radius:var(--nfr-radius);margin-top:2rem;margin-bottom:2rem}
.nfr-page-body h2{font-family:'Lora',serif;font-size:1.35rem;color:var(--nfr-gold);margin:2rem 0 0.75rem;border-bottom:1px solid var(--nfr-border);padding-bottom:0.4rem}
.nfr-page-body h2:first-child{margin-top:0}
.nfr-page-body p,.nfr-page-body li{font-size:0.93rem;color:var(--nfr-muted);line-height:1.75}
.nfr-page-body ul{padding-left:1.5rem;margin-bottom:1rem}
.nfr-page-body li{margin-bottom:0.4rem}
.nfr-page-body a{color:var(--nfr-bronze);text-decoration:underline}

/* CONTACT */
.nfr-contact-wrap{max-width:620px;margin:2rem auto 3rem;padding:0 2rem}
.nfr-form-group{margin-bottom:1.25rem}
.nfr-form-group label{display:block;font-size:0.85rem;font-weight:600;color:var(--nfr-light);margin-bottom:0.4rem}
.nfr-form-group input,.nfr-form-group select,.nfr-form-group textarea{width:100%;background:var(--nfr-form-input-bg);border:1px solid var(--nfr-border);border-radius:8px;padding:0.75rem 1rem;color:var(--nfr-light);font-family:'Barlow',sans-serif;font-size:0.95rem;outline:none;transition:border-color 0.2s}
.nfr-form-group input:focus,.nfr-form-group select:focus,.nfr-form-group textarea:focus{border-color:var(--nfr-bronze)}
.nfr-form-group textarea{resize:vertical;min-height:130px}
.nfr-form-group select option{background:var(--nfr-form-input-bg)}
.nfr-check-row{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:1.5rem}
.nfr-check-row input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--nfr-bronze);flex-shrink:0}
.nfr-check-row label{font-size:0.88rem;color:var(--nfr-muted);line-height:1.55}
.nfr-check-row label a{color:var(--nfr-bronze);text-decoration:underline}
.nfr-submit-btn{width:100%;background:var(--nfr-bronze);color:#fff;border:none;padding:0.85rem;border-radius:8px;font-family:'Barlow',sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:background 0.2s}
.nfr-submit-btn:hover{background:var(--nfr-gold);color:var(--nfr-on-accent)}

/* MODAL */
.nfr-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:999;align-items:center;justify-content:center}
.nfr-modal.show{display:flex}
.nfr-modal-box{background:var(--nfr-card-bg);border:1px solid var(--nfr-border);border-radius:var(--nfr-radius);padding:2.5rem;max-width:440px;width:90%;text-align:center;position:relative}
.nfr-modal-box h3{font-family:'Lora',serif;font-size:1.4rem;color:var(--nfr-gold);margin-bottom:0.75rem}
.nfr-modal-box p{color:var(--nfr-muted);font-size:0.92rem}
.nfr-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--nfr-muted);font-size:1.4rem;cursor:pointer}

/* HUB */
.nfr-hub-header{background:var(--nfr-forest);border-bottom:2px solid var(--nfr-bronze);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}
.nfr-hub-body{max-width:1000px;margin:3rem auto;padding:0 2rem}
.nfr-hub-intro{text-align:center;margin-bottom:2.5rem}
.nfr-hub-intro h1{font-family:'Lora',serif;font-size:2rem;color:var(--nfr-white);margin-bottom:0.5rem}
.nfr-hub-intro p{color:var(--nfr-muted)}
.nfr-hub-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.nfr-hub-card{background:var(--nfr-card-bg);border:1px solid var(--nfr-border);border-radius:var(--nfr-radius);overflow:hidden}
.nfr-hub-card-media img{width:100%;height:240px;object-fit:cover}
.nfr-hub-card-body{padding:1.5rem}
.nfr-hub-card-cat{font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--nfr-bronze);margin-bottom:0.4rem}
.nfr-hub-card-body h2{font-family:'Lora',serif;font-size:1.3rem;color:var(--nfr-white);margin-bottom:0.75rem}
.nfr-hub-card-body p{font-size:0.88rem;color:var(--nfr-muted);margin-bottom:1.25rem}
.nfr-hub-notice{margin-top:2rem;padding:1.25rem;background:var(--nfr-card-bg);border:1px solid var(--nfr-border);border-radius:var(--nfr-radius);text-align:center;font-size:0.85rem;color:var(--nfr-muted)}
.nfr-hub-notice strong{color:var(--nfr-bronze)}
.nfr-hub-foot{max-width:1000px;margin:2rem auto;padding:0 2rem 2rem;display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}
.nfr-hub-foot a{font-size:0.85rem;color:var(--nfr-muted);transition:color 0.2s}
.nfr-hub-foot a:hover{color:var(--nfr-bronze)}
@media(max-width:600px){.nfr-hub-cards{grid-template-columns:1fr}}
