@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Bricolage+Grotesque:wght@400;500;600;700;800&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --gold:#F5B800;
  --gold-lt:#FFF8DC;
  --gold-dk:#c99600;
  --navy:#1B4B8A;
  --navy-deep:#0f2f58;
  --navy-mid:#163a6b;
  --navy-lt:#EBF1FB;
  --red:#D94F2B;
  --red-lt:#FDF0EB;
  --white:#ffffff;
  --bg:#f8f8f6;
  --ink:#111111;
  --gray:#717171;
  --gray-lt:#a0a0a0;
  --line:#e4e4e0;
}

html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;overflow-x:hidden;cursor:none}

/* ─── CURSOR ─────────────────────────────────────────────────────────────── */
#pn-dot{position:fixed;width:6px;height:6px;background:var(--navy);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:background .2s}
#pn-ring{position:fixed;width:28px;height:28px;border:1.5px solid var(--navy);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .18s,height .18s,border-color .18s}

/* ─── NAV ─────────────────────────────────────────────────────────────────── */
.pn-nav{position:fixed;top:.8rem;left:.8rem;right:.8rem;z-index:500;background:var(--white);border:1px solid var(--line);border-radius:100px;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 .6rem 0 1.6rem;box-shadow:0 2px 20px rgba(27,75,138,.07)}
.pn-nl{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.pn-nl-mark{width:34px;height:28px;flex-shrink:0}
.pn-nl-text{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.pn-nav-links{display:flex;gap:0;list-style:none}
.pn-nav-links a{font-size:.75rem;font-weight:500;color:var(--gray);text-decoration:none;letter-spacing:.04em;padding:.4rem 1rem;border-radius:100px;transition:color .2s,background .2s}
.pn-nav-links a:hover,.pn-nav-links a.active{color:var(--navy);background:var(--navy-lt)}
.pn-nav-cta{background:var(--navy);color:#fff;border:none;padding:.55rem 1.2rem .55rem .8rem;font-size:.75rem;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;border-radius:100px;display:flex;align-items:center;gap:.5rem;transition:background .2s;text-decoration:none}
.pn-nav-cta:hover{background:var(--navy-deep)}
.pn-nav-cta-dot{width:26px;height:26px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:.75rem;font-weight:700;flex-shrink:0}

/* ─── MARQUEE ─────────────────────────────────────────────────────────────── */
.pn-marquee-wrap{background:var(--navy);height:48px;overflow:hidden;display:flex;align-items:center}
.pn-marquee-inner{display:flex;gap:3rem;white-space:nowrap;animation:pn-mq 26s linear infinite;font-family:'Bricolage Grotesque',sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.pn-mq-dot{color:var(--gold)}
@keyframes pn-mq{to{transform:translateX(-50%)}}

/* ─── SECTION COMMONS ─────────────────────────────────────────────────────── */
.pn-sec{padding:6rem 2rem;max-width:1380px;margin:0 auto}
.pn-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;font-weight:600;color:var(--navy);background:var(--navy-lt);border:1px solid rgba(27,75,138,.18);padding:.4rem .95rem;border-radius:100px;margin-bottom:1.4rem;letter-spacing:.08em;text-transform:uppercase}
.pn-eyebrow-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;border:1.5px solid var(--navy);flex-shrink:0}
.pn-sec-h{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2.2rem,4.5vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--navy)}
.pn-sec-h em{font-style:italic;font-weight:500;color:var(--gray)}

/* ─── SCROLL REVEAL ───────────────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}.d4{transition-delay:.28s}.d5{transition-delay:.35s}

/* ─── PAGE HERO (inner pages) ─────────────────────────────────────────────── */
.pn-page-hero{padding:7rem 2rem 4rem;max-width:1380px;margin:0 auto}
.pn-page-hero-tag{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(3rem,7vw,6.5rem);font-weight:800;line-height:.95;letter-spacing:-.04em;color:var(--navy);margin:1.5rem 0}
.pn-page-hero-tag .gold{color:var(--gold)}
.pn-page-hero-tag .red{color:var(--red)}
.pn-page-hero-sub{font-size:1rem;color:var(--gray);max-width:520px;line-height:1.85;margin-top:1rem}
.pn-page-hero-divider{height:1px;background:var(--line);margin:3rem 0}

/* ─── CARDS ───────────────────────────────────────────────────────────────── */
.card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:2rem;transition:transform .3s,border-color .25s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(27,75,138,.08);border-color:var(--navy)}
.card-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;font-weight:800;font-family:'Bricolage Grotesque',sans-serif;font-size:.9rem}
.ci-gold{background:var(--gold);color:var(--navy)}
.ci-navy{background:var(--navy);color:#fff}
.ci-red{background:var(--red);color:#fff}
.ci-lt{background:var(--navy-lt);color:var(--navy)}
.card-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:.6rem;letter-spacing:-.01em}
.card-body{font-size:.85rem;color:var(--gray);line-height:1.72}

/* ─── BUTTONS ─────────────────────────────────────────────────────────────── */
.btn-navy{background:var(--navy);color:#fff;border:none;padding:.9rem 1.8rem .9rem 1.4rem;font-size:.8rem;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;border-radius:100px;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;transition:background .2s}
.btn-navy:hover{background:var(--navy-deep)}
.btn-navy .arr{width:26px;height:26px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:.75rem;flex-shrink:0}
.btn-gold{background:var(--gold);color:var(--navy);border:none;padding:.9rem 1.8rem .9rem 1.4rem;font-size:.8rem;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;border-radius:100px;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px rgba(245,184,0,.3)}
.btn-gold:hover{transform:scale(1.03);box-shadow:0 6px 24px rgba(245,184,0,.45)}
.btn-gold .arr{width:26px;height:26px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.75rem;flex-shrink:0}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--navy);padding:.85rem 1.8rem;font-size:.8rem;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;border-radius:100px;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;transition:background .2s,color .2s}
.btn-outline:hover{background:var(--navy);color:#fff}

/* ─── BIG CTA STRIP ───────────────────────────────────────────────────────── */
.pn-cta-strip{padding:0 2rem;max-width:1380px;margin:0 auto}
.pn-cta-strip-inner{background:var(--navy-deep);border-radius:28px;padding:4rem;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;position:relative;overflow:hidden}
.pn-cta-glow{position:absolute;top:-60%;right:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(245,184,0,.15) 0%,transparent 60%)}
.pn-cta-glow2{position:absolute;bottom:-60%;left:-5%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(217,79,43,.1) 0%,transparent 60%)}
.pn-cta-h{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:#fff;position:relative}
.pn-cta-h span{color:var(--gold)}
.pn-cta-h em{font-style:italic;color:rgba(255,255,255,.45);font-weight:500}
.pn-cta-sub{font-size:.88rem;color:rgba(255,255,255,.4);margin-top:.8rem;line-height:1.65}

/* ─── FOOTER ──────────────────────────────────────────────────────────────── */
.pn-footer{border-top:1px solid var(--line);margin-top:4rem}
.pn-footer-inner{max-width:1380px;margin:0 auto;padding:3rem 2rem 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem}
.pn-ft-brand .pn-ft-mark{width:34px;height:28px;margin-bottom:.8rem}
.pn-ft-brand-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.1rem;color:var(--navy);letter-spacing:.1em;text-transform:uppercase}
.pn-ft-brand-tag{font-size:.68rem;color:var(--gray);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem}
.pn-ft-brand-body{font-size:.82rem;color:var(--gray);line-height:1.7;margin-top:1rem;max-width:220px}
.pn-ft-col-title{font-size:.72rem;font-weight:700;color:var(--navy);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}
.pn-ft-col a{display:block;font-size:.82rem;color:var(--gray);text-decoration:none;margin-bottom:.65rem;transition:color .2s}
.pn-ft-col a:hover{color:var(--navy)}
.pn-footer-bottom{max-width:1380px;margin:0 auto;padding:1.5rem 2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.pn-ft-copy{font-size:.72rem;color:var(--gray-lt)}
.pn-ft-bottom-links{display:flex;gap:1.5rem}
.pn-ft-bottom-links a{font-size:.72rem;color:var(--gray-lt);text-decoration:none;transition:color .2s}
.pn-ft-bottom-links a:hover{color:var(--navy)}

/* ─── CHIP / BREADCRUMB ───────────────────────────────────────────────────── */
.chip{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .85rem;border-radius:100px;border:1px solid var(--line);color:var(--navy);background:var(--white);display:inline-block}
.pn-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--gray);margin-bottom:1rem}
.pn-breadcrumb a{color:var(--navy);text-decoration:none;transition:color .2s}
.pn-breadcrumb a:hover{color:var(--gold-dk)}
.pn-breadcrumb-sep{color:var(--line)}

/* ─── STATS BAND (about, home) ───────────────────────────────────────────── */
.stats-band{background:var(--navy-deep);padding:4rem 2rem;margin:0}
.stats-band-inner{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.sb-n{font-family:'Bricolage Grotesque',sans-serif;font-size:3.5rem;font-weight:800;color:var(--gold);line-height:1}
.sb-l{font-size:.8rem;color:rgba(255,255,255,.45);margin-top:.5rem;letter-spacing:.08em;text-transform:uppercase}

/* ─── PRODUCT HERO BAND (category + product pages) ───────────────────────── */
.prod-hero-band{background:var(--navy-deep);padding:4rem 2rem;position:relative;overflow:hidden}
.prod-hero-band-inner{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem;position:relative;z-index:1}
.phb-glow{position:absolute;right:-10%;top:-50%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(245,184,0,.12) 0%,transparent 60%);pointer-events:none}
.phb-title{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.05}
.phb-title span{color:var(--gold)}
.phb-sub{font-size:.92rem;color:rgba(255,255,255,.45);margin-top:.8rem;line-height:1.75;max-width:480px}
.phb-stats{display:flex;gap:3rem;flex-shrink:0}
.phb-stat-n{font-family:'Bricolage Grotesque',sans-serif;font-size:2.5rem;font-weight:800;color:var(--gold);line-height:1}
.phb-stat-l{font-size:.68rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;margin-top:.3rem}

/* ─── MODEL CARD (category page) ─────────────────────────────────────────── */
.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.mc{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:1.5rem;transition:transform .25s,border-color .25s,box-shadow .25s}
.mc:hover{transform:translateY(-3px);border-color:var(--navy);box-shadow:0 8px 24px rgba(27,75,138,.08)}
.mc-code{font-family:'Bricolage Grotesque',sans-serif;font-size:.72rem;font-weight:700;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}
.mc-name{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:.5rem;line-height:1.25}
.mc-desc{font-size:.8rem;color:var(--gray);line-height:1.65;margin-bottom:1rem}
.mc-specs{display:flex;flex-wrap:wrap;gap:.35rem}
.mc-spec{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:.25rem .6rem;border-radius:100px;background:var(--bg);border:1px solid var(--line);color:var(--navy)}
.apply-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.apply-chip{font-size:.7rem;font-weight:500;padding:.38rem .9rem;border-radius:100px;background:var(--navy-lt);color:var(--navy);border:1px solid rgba(27,75,138,.15)}

/* ─── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media(max-width:900px){
  .pn-nav{padding:0 .5rem 0 1.2rem;height:56px}
  .pn-nav-links{display:none}
  .pn-footer-inner{grid-template-columns:1fr 1fr;gap:2rem}
  .pn-cta-strip-inner{grid-template-columns:1fr;padding:3rem 2rem}
  .pn-sec{padding:4rem 1.5rem}
  .pn-page-hero{padding:6rem 1.5rem 3rem}
  .stats-band-inner{grid-template-columns:1fr 1fr}
  .prod-hero-band-inner{grid-template-columns:1fr}.phb-stats{display:none}
  .model-grid{grid-template-columns:1fr 1fr}
}
