:root {
  --gold:    #E8A838;
  --gold-lt: #F5C96A;
  --amber:   #C07A1A;
  --ink:     #0D0C0A;
  --ink2:    #151410;
  --ink3:    #1E1C18;
  --ink4:    #282520;
  --muted:   #8C8070;
  --text:    #EDE8DE;
  --text2:   #B8AA98;
  --radius:  6px;
  --ease:    cubic-bezier(.22,1,.36,1);
  --font-head: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', sans-serif;
  --font-mono: 'DM Mono', monospace;
}

/* RESET */
*,*::before,*::after{
  box-sizing:border-box;
  margin:0;
  padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:var(--ink);
  color:var(--text);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
  transition:background .4s,color .4s}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* NOISE OVERLAY */
body::before{content:'';position:fixed;inset:0;z-index:0;opacity:.04;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px}

/* SCROLLBAR */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--ink2)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}

/* CURSOR */
.cursor{width:14px;height:14px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:screen;transition:width .3s,height .3s,opacity .3s}
.cursor.grow{width:40px;height:40px;opacity:.6}

/* UTILITY */
.container{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,5vw,3rem)}
.gold{color:var(--gold)}
.tag{display:inline-block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid var(--amber);padding:.2em .7em;border-radius:2px}
.section-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}
.section-label::before{content:'// ';color:var(--gold)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}

/* ─── NAV ─────────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:.9rem 0;transition:background .3s,box-shadow .3s}
nav.scrolled{background:#0A2658(13,12,10,.88);backdrop-filter:blur(18px);box-shadow:0 1px 0 #0A2658(232,168,56,.12)}
.nav-inner{display:flex;align-items:center;justify-content:space-between; background-color:#0A2658}
.logo{font-family:var(--font-head);font-size:1.3rem;font-weight:900;letter-spacing:-.02em}
.logo span{color:var(--gold)}
.nav-links{display:flex;gap:2.5rem;list-style:none;font-size:.88rem;font-weight:500;letter-spacing:.04em}
.nav-links a{position:relative;padding-bottom:2px;color:var(--text2);transition:color .25s}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease)}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--gold)}
.nav-links a.active::after{width:100%}
.nav-right{display:flex;gap:1rem;align-items:center}

.btn-hire{background:var(--gold);color:var(--ink);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;padding:.55rem 1.4rem;border-radius:2px;transition:background .25s,transform .25s}
.btn-hire:hover{background:var(--gold-lt);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:var(--gold);transition:all .3s}

/*BUTTONS*/
.btn-primary{background:var(--gold);color:var(--ink);font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 2.2rem;border-radius:2px;display:inline-flex;align-items:center;gap:.6rem;transition:background .25s,transform .25s,box-shadow .25s}
.btn-primary:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:0 8px 30px rgba(232,168,56,.35)}
.btn-outline{border:1px solid rgba(232,168,56,.4);color:var(--gold);font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 2.2rem;border-radius:2px;display:inline-flex;align-items:center;gap:.6rem;transition:border-color .25s,background .25s,transform .25s}
.btn-outline:hover{border-color:var(--gold);background:rgba(232,168,56,.08);transform:translateY(-2px)}

/* ─── PAGE HERO BANNER ───────────────────────────────────── */
.page-hero{min-height:42vh;display:flex;flex-direction:column;justify-content:center;padding-top:100px;padding-bottom:3rem;position:relative;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 60% 50% at 80% 40%,rgba(192,122,26,.13) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 10% 80%,rgba(232,168,56,.07) 0%,transparent 60%)}
.page-hero-grid{position:absolute;inset:0;z-index:0;opacity:.04;background-image:linear-gradient(var(--gold) 1px,transparent 1px),linear-gradient(90deg,var(--gold) 1px,transparent 1px);background-size:60px 60px}
.page-hero-content{position:relative;z-index:1}
.page-title{font-family:var(--font-head);font-size:clamp(2.5rem,7vw,5.5rem);font-weight:900;line-height:.95;letter-spacing:-.04em;margin-bottom:1rem}
.page-title em{font-style:italic;color:var(--gold)}
.page-sub{font-size:1.1rem;color:var(--text2);max-width:500px;line-height:1.8}

/* ─── MARQUEE ────────────────────────────────────────────── */
.marquee-strip{overflow:hidden;border-top:1px solid rgba(232,168,56,.12);border-bottom:1px solid rgba(232,168,56,.12);padding:.9rem 0;background:var(--ink2)}
.marquee-inner{display:flex;gap:3rem;animation:marquee 18s linear infinite;width:max-content}
.marquee-inner span{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.marquee-inner span.accent{color:var(--gold)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}


/* ─── MOBILE ─────────────────────────────────────────────── */
@media(max-width:900px){
  .nav-links{display:none;flex-direction:column;position:fixed;top:64px;left:0;right:0;background:rgba(13,12,10,.97);padding:2rem;gap:1.5rem}
  .nav-links.open{display:flex}
  .hamburger{display:flex}
}
@media(max-width:500px){
  .page-title{font-size:clamp(2rem,10vw,3rem)}
}
 /* ── HOME PAGE SPECIFIC ── */
  #home {
    min-height:100vh;
    display:flex; flex-direction:column; justify-content:center;
    padding-top:80px;
    position:relative; overflow:hidden;
  }
  .hero-bg {
    position:absolute; inset:0; z-index:0;
    background:
      radial-gradient(ellipse 60% 50% at 80% 40%, rgba(192,122,26,.13) 0%, transparent 70%),
      radial-gradient(ellipse 40% 60% at 10% 80%, rgba(232,168,56,.07) 0%, transparent 60%);
      background-color: #0D306E;
  }
  .hero-grid-lines {
    position:absolute; inset:0; z-index:0; opacity:.08;
    background-image:
      linear-gradient(var(--gold) 1px, transparent 1px),
      linear-gradient(90deg, var(--gold) 1px, transparent 1px);
    background-size:60px 60px;
  }
  .hero-content { position:relative; z-index:1; }
  .hero-eyebrow {
    font-family:var(--font-mono); font-size:.8rem;
    letter-spacing:.25rem; text-transform:uppercase;
    color:var(--gold); margin-bottom:1.5rem;
    display:flex; align-items:center; gap:.8rem;
  }
  .hero-eyebrow::before { content:''; width:40px; height:1px; background:var(--gold); }
   .hero-eyebrow::after { content:''; width:40px; height:1px; background:linear-gradient(var(--gold)); }
  .hero-title {
    font-family:var(--font-head);
    font-size:clamp(3.2rem,8vw,7.5rem);
    font-weight:900; line-height:.95;
    letter-spacing:-.04em; margin-bottom:1.5rem;
  }
  .hero-title em { font-style:italic; color:var(--gold); }
  .hero-sub {
    font-size:clamp(1rem,2vw,1.2rem);
    color:var(--text2); max-width:520px;
    line-height:1.8; margin-bottom:3rem;
  }
  .hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; }
  .hero-stats {
    display:flex; gap:3rem; margin-top:5rem;
    padding-top:2.5rem;
    border-top:1px solid rgba(232,168,56,.12);
    flex-wrap:wrap;
  }
  .stat-num { font-family:var(--font-head); font-size:2.8rem; font-weight:900; color:var(--gold); line-height:1; }
  .stat-label { font-size:.82rem; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; margin-top:.3rem; }
  .hero-scroll {
    position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center;
    gap:.5rem; color:var(--muted); font-size:.75rem;
    letter-spacing:.12em; text-transform:uppercase;
    animation:bounce 2s ease-in-out infinite;
  }

  /* ── services preview ── */
  .services { padding:7rem 0; background:#6E4B0D; position:relative; z-index:1; }
  .services-title { font-family:var(--font-head); font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.03em; margin-bottom:3rem; }
  .services-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.5rem; }
  .service-card {
     background-color: #0D306E;
    border:1px solid rgba(232,168,56,.08);
    border-radius:var(--radius); 
    padding:2rem;
    transition:border-color .3s, transform .3s;
  }
  .service-card:hover { border-color:rgba(232,168,56,.3); transform:translateY(-4px); }
  .service-icon { font-size:2.2rem; margin-bottom:1rem; }
  .service-name { font-family:var(--font-head); font-size:1.2rem; font-weight:700; margin-bottom:.6rem; }
  .service-desc { font-size:.88rem; color:var(--text2); line-height:1.7; }

  /* ── CTA BAND ── */
  .cta-band {
    padding:6rem 0; text-align:center;
    background:var(--ink); position:relative; z-index:1;
  }
  .cta-band h2 { font-family:var(--font-head); font-size:clamp(2rem,5vw,3.5rem); font-weight:900; letter-spacing:-.03em; margin-bottom:1rem; }
  .cta-band p { color:var(--text2); max-width:480px; margin:0 auto 2.5rem; line-height:1.8; }
  .cta-buttons { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

  @media(max-width:500px){
    .hero-ctas{flex-direction:column}
    .hero-stats{gap:2rem}
    .hero-title{font-size:clamp(2.5rem,11vw,4rem)}
  }

 /* ── ABOUT PAGE SPECIFIC ── */
  .about-section { padding:6rem 0; position:relative; z-index:1; background: linear-gradient(135deg, #0A2658, #1a1a2e); }
  .about-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; align-items:start; }
  .about-photo-wrap { position:relative; }
  .about-photo-frame {
    width:100%; aspect-ratio:3/4;
    background:var(--ink3); border-radius:var(--radius);
    overflow:hidden; position:relative;
  }
  .about-photo-frame img { width:100%; height:100%; object-fit:cover; }
  .photo-placeholder {
    width:100%; height:100%;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:1rem; color:var(--muted); font-size:.85rem;
    letter-spacing:.1em; text-transform:uppercase;
  }
  .about-accent-box {
    position:absolute; bottom:-20px; right:-20px;
    width:120px; height:120px;
    border:2px solid var(--gold); border-radius:var(--radius);
    display:flex; align-items:center; justify-content:center;
    background:var(--ink); z-index:2;
  }
  .about-accent-box span { font-family:var(--font-head); font-size:2rem; font-weight:900; color:var(--gold); line-height:1; text-align:center; }
  .about-accent-box small { display:block; font-size:.65rem; letter-spacing:.1em; color:var(--muted); text-transform:uppercase; margin-top:2px; }
  .about-big { font-family:var(--font-head); font-size:clamp(2rem,4vw,3.2rem); font-weight:700; line-height:1.15; letter-spacing:-.02em; margin-bottom:1.5rem; }
  .about-text { color:var(--text2); margin-bottom:1.5rem; line-height:1.85; }

  /* Skill bars */
  .skill-bars { margin-top:2.5rem; }
  .skill-row { margin-bottom:1.2rem; }
  .skill-meta { display:flex; justify-content:space-between; margin-bottom:.4rem; font-size:.83rem; }
  .skill-name { font-weight:500; }
  .skill-pct { color:var(--gold); font-family:var(--font-mono); }
  .skill-track { height:3px; background:var(--ink4); border-radius:2px; overflow:hidden; }
  .skill-fill { height:100%; background:linear-gradient(90deg,var(--amber),var(--gold)); border-radius:2px; width:0; transition:width 1.2s var(--ease); }

  /* Tools */
  .tools-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-top:1rem; }
  .tool-chip {
    border:1px solid rgba(232,168,56,.2); background:var(--ink3);
    border-radius:var(--radius); padding:.65rem 1rem;
    font-size:.82rem; font-weight:500;
    display:flex; align-items:center; gap:.5rem;
    transition:border-color .25s, background .25s;
  }
  .tool-chip:hover { border-color:var(--gold); background:rgba(232,168,56,.06); }

  /* Experience timeline */
  .timeline { padding:6rem 0; background:var(--ink2); position:relative; z-index:1; }
  .timeline-title { font-family:var(--font-head); font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.03em; margin-bottom:3rem; }
  .timeline-list { position:relative; padding-left:2rem; }
  .timeline-item { position:relative; padding-bottom:2.5rem; padding-left:1.5rem; }
  .timeline-year { font-family:var(--font-mono); font-size:.75rem; letter-spacing:.15em; color:var(--gold); margin-bottom:.3rem; }
  .timeline-role { font-family:var(--font-head); font-size:1.3rem; font-weight:700; margin-bottom:.2rem; }
  .timeline-place { font-size:.88rem; color:var(--muted); margin-bottom:.5rem; }
  .timeline-desc { font-size:.9rem; color:var(--text2); line-height:1.7; }

  /* Resume band */
  .resume-band-wrap { padding:5rem 0; position:relative; z-index:1; }
  .resume-band {
    background:linear-gradient(135deg,var(--ink3) 0%,var(--ink4) 100%);
    border:1px solid rgba(232,168,56,.2); border-radius:8px;
    padding:3.5rem; display:flex; align-items:center;
    justify-content:space-between; gap:2rem; flex-wrap:wrap;
  }
  .resume-text h2 { font-family:var(--font-head); font-size:2rem; font-weight:900; margin-bottom:.5rem; }
  .resume-text p { color:var(--text2); max-width:450px; line-height:1.7; }
  .btn-download {
    display:inline-flex; align-items:center; gap:.7rem;
    border:2px solid var(--gold); color:var(--gold);
    font-weight:700; font-size:.88rem; letter-spacing:.08em; text-transform:uppercase;
    padding:1rem 2rem; border-radius:2px;
    transition:all .25s; white-space:nowrap;
  }
  .btn-download:hover { background:var(--gold); color:var(--ink); transform:translateY(-2px); box-shadow:0 8px 30px rgba(232,168,56,.3); }

  @media(max-width:900px){
    .about-grid{grid-template-columns:1fr}
    .about-photo-wrap{max-width:360px;margin:0 auto}
    .about-accent-box{right:-10px;bottom:-10px;width:90px;height:90px}
    .about-accent-box span{font-size:1.5rem}
    .tools-grid{grid-template-columns:1fr 1fr}
    .resume-band{flex-direction:column;text-align:center}
  }
  @media(max-width:500px){ .tools-grid{grid-template-columns:1fr} }

  /* -- PORTFOLIO PAGE --*/
   .portfolio-section {
     padding:5rem 0 8rem; position:relative; z-index:1; background: linear-gradient(135deg, #0A2658, #1a1a2e); }
  .portfolio-controls {
     display:flex; justify-content:space-between; align-items:center; margin-bottom:3rem; flex-wrap:wrap; gap:1.5rem; }
  .filter-tabs {
     display:flex; gap:.5rem; flex-wrap:wrap; }
  .filter-btn {
     font-family:var(--font-mono); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; padding:.45rem 1.1rem; border-radius:2px; border:1px solid rgba(232,168,56,.2); color:var(--muted); transition:all .25s; }
  .filter-btn.active, .filter-btn:hover {
     border-color:var(--gold); color:var(--gold); background:rgba(232,168,56,.08); }

  .portfolio-grid { 
    display:grid; 
    grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); 
    gap:1.5rem; }
  .project-card { 
    background:var(--ink3); 
    border-radius:var(--radius); 
    overflow:hidden; 
    border:1px solid rgba(232,168,56,.08); 
    transition:transform .35s var(--ease),border-color .35s,box-shadow .35s; 
    cursor:pointer; }
  .project-card:hover { 
    transform:translateY(-6px); 
    border-color:rgba(232,168,56,.3); 
    box-shadow:0 20px 50px rgba(0,0,0,.4); }
  .project-card.hidden { display:none; }
  .project-thumb {
     width:100%; 
     aspect-ratio:16/10; 
     background:var(--ink4); 
     overflow:hidden; 
     position:relative; 
     object-position: 50% 20%;}
  .project-thumb-inner { 
    width:100%; 
    height:100%; 
    transition:transform .5s var(--ease); 
    display:flex; align-items:center; 
    justify-content:center; 
    font-size:4rem; 
    object-position: center}
  .project-card:hover .project-thumb-inner { transform:scale(1.06); }
  .project-overlay { 
    position:absolute; 
    inset:0; 
    background:linear-gradient(to top,rgba(13,12,10,.95) 0%,transparent 50%); 
    opacity:0; 
    transition:opacity .35s; 
    display:flex; 
    align-items:flex-end; 
    padding:1.5rem; }
  .project-card:hover .project-overlay { opacity:1; }
  .overlay-view { 
    font-family:var(--font-mono); 
    font-size:.78rem; 
    letter-spacing:.15em; 
    text-transform:uppercase; 
    color:var(--gold); }
  .project-body { padding:1.4rem; }
  .project-cat { 
    font-family:var(--font-mono); 
    font-size:.7rem; 
    letter-spacing:.15em; 
    text-transform:uppercase; 
    color:var(--gold); 
    margin-bottom:.5rem; }
  .project-name { 
    font-family:var(--font-head); 
    font-size:1.25rem; 
    font-weight:700; 
    margin-bottom:.5rem; }
  .project-desc { font-size:.85rem; color:var(--text2); line-height:1.7; }

  /* Modal */
  .modal-backdrop { 
    position:fixed; 
    inset:0; 
    z-index:500; 
    background:rgba(0,0,0,.85); 
    backdrop-filter:blur(8px); 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    padding:1rem; 
    opacity:0; 
    pointer-events:none; 
    transition:opacity .3s; }
  .modal-backdrop.open { opacity:1; pointer-events:all; }
  .modal { 
    background:var(--ink3); 
    border:1px solid rgba(232,168,56,.2); 
    border-radius:8px; 
    max-width:720px; 
    width:100%; 
    max-height:88vh; 
    overflow-y:auto; 
    transform:translateY(20px); 
    transition:transform .4s var(--ease); 
    position:relative; }
  .modal-backdrop.open .modal { transform:translateY(0); }
  .modal-close { 
    position:absolute; 
    top:1.2rem; 
    right:1.2rem; 
    width:36px; 
    height:36px; 
    border-radius:50%; 
    border:1px solid rgba(232,168,56,.2); 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    color:var(--muted); 
    font-size:1.1rem; 
    transition:all .25s; 
    z-index:1; }
  .modal-close:hover { border-color:var(--gold); color:var(--gold); }
  .modal-thumb { 
    width:100%; 
    aspect-ratio:16/7; 
    background:var(--ink4); 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    font-size:6rem; }
  .modal-body { padding:2.5rem; }
  .modal-tag { margin-bottom:1rem; }
  .modal-title { 
    font-family:var(--font-head); 
    font-size:2rem; 
    font-weight:900; 
    margin-bottom:1rem; }
  .case-step { margin-bottom:2rem; }
  .case-step-label { 
    font-family:var(--font-mono); 
    font-size:.72rem; 
    letter-spacing:.18em; 
    text-transform:uppercase; 
    color:var(--gold); 
    margin-bottom:.5rem; }
  .case-step-text { color:var(--text2); line-height:1.8; }

  @media(max-width:600px){ .portfolio-grid{grid-template-columns:1fr} }

  /*--REVIEWS PAGE--*/
  .reviews-section { padding:5rem 0 8rem; position:relative; z-index:1; }
  .reviews-intro { 
    max-width:600px; 
    margin-bottom:4rem; }
  .reviews-intro h2 { 
    font-family:var(--font-head); 
    font-size:clamp(2rem,4vw,3rem); 
    font-weight:900; 
    letter-spacing:-.03em; 
    margin-bottom:1rem; }
  .reviews-intro p { color:var(--text2); line-height:1.8; }

  .testi-grid { 
    display:grid; 
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); 
    gap:1.5rem; }
  .testi-card { 
    background:var(--ink3); 
    border:1px solid rgba(232,168,56,.1); 
    border-radius:var(--radius); 
    padding:2rem; 
    position:relative; 
    transition:border-color .3s,transform .3s; }
  .testi-card:hover { border-color:rgba(232,168,56,.3); transform:translateY(-4px); }
  .testi-quote { 
    font-size:3rem; 
    color:var(--gold); 
    font-family:var(--font-head); 
    line-height:1; 
    margin-bottom:1rem; 
    opacity:.5; }
  .testi-text { 
    color:var(--text2); 
    line-height:1.8; 
    font-size:.95rem; 
    margin-bottom:1.5rem; }
  .testi-author { display:flex; align-items:center; gap:.9rem; }
  .testi-avatar { 
    width:44px; 
    height:44px; 
    border-radius:50%; 
    background:var(--ink4); 
    border:2px solid var(--gold); 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    font-family:var(--font-head); 
    font-size:1.1rem; 
    color:var(--gold); }
  .testi-name { font-weight:600; font-size:.9rem; }
  .testi-role { font-size:.78rem; color:var(--muted); }
  .stars { color:var(--gold); font-size:.9rem; margin-bottom:1rem; }

  /* Stats band */
  .stats-band { 
    padding:5rem 0; 
    background:var(--ink2); 
    position:relative; 
    z-index:1; }
  .stats-grid { 
    display:grid; 
    grid-template-columns:repeat(4,1fr); 
    gap:2rem; 
    text-align:center; }
  .stat-box { padding:2rem 1rem; }
  .stat-box-num { 
    font-family:var(--font-head); 
    font-size:3.5rem; 
    font-weight:900; 
    color:var(--gold); 
    line-height:1; 
    margin-bottom:.5rem; }
  .stat-box-label { 
    font-size:.85rem; 
    color:var(--muted); 
    letter-spacing:.1em; 
    text-transform:uppercase; }

  /* CTA */
  .reviews-cta { 
    padding:6rem 0; 
    text-align:center; 
    position:relative; 
    z-index:1; }
  .reviews-cta h2 { 
    font-family:var(--font-head); 
    font-size:clamp(2rem,4vw,3rem); 
    font-weight:900; 
    letter-spacing:-.03em; 
    margin-bottom:1rem; }
  .reviews-cta p { 
    color:var(--text2); 
    max-width:480px; 
    margin:0 auto 2.5rem; 
    line-height:1.8; }

  @media(max-width:700px){ .stats-grid{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:400px){ .stats-grid{grid-template-columns:1fr} .testi-grid{grid-template-columns:1fr} }

  /* CONTACT PAGE */
   .contact-section { 
    padding:5rem 0 8rem; 
    position:relative; 
    z-index:1; 
    background: linear-gradient(135deg, #0A2658, #1a1a2e); }
  .contact-grid { 
    display:grid; 
    grid-template-columns:1fr 1.2fr; 
    gap:5rem; 
    align-items:start; }
  .contact-big { 
    font-family:var(--font-head); 
    font-size:clamp(2rem,5vw,3.8rem); 
    font-weight:900; 
    line-height:1.05; 
    letter-spacing:-.03em; 
    margin-bottom:1.5rem; }
  .contact-sub { 
    color:var(--text2); 
    line-height:1.8; 
    margin-bottom:2.5rem; }

  .contact-links { 
    display:flex; 
    flex-direction:column; 
    gap:1rem; 
    margin-bottom:2.5rem; }
  .contact-link-row { 
    display:flex; 
    align-items:center; 
    gap:1rem; 
    padding:1rem 1.2rem; 
    background:var(--ink3); 
    border:1px solid rgba(232,168,56,.1); 
    border-radius:var(--radius); 
    transition:border-color .25s,background .25s; }
  .contact-link-row:hover { border-color:var(--gold); background:rgba(232,168,56,.05); }
  .contact-link-icon { width:38px; height:38px; border-radius:50%; background:rgba(232,168,56,.1); border:1px solid rgba(232,168,56,.2); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
  .contact-link-icon i {font-size: 1.1rem; color: var(--gold);  }
  .social-btn i {
    font-size: 1rem;
    color: var(--muted);
    transition: color .25s;
  }
  .social-btn hover i {
    color: var(--gold);
  }
  .contact-link-label { font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
  .contact-link-val { font-weight:500; color:var(--text); font-size:.9rem; }

  /* Form */
  .form-card { background:#0d1117; border:1px solid rgba(232,168,56,.12); border-radius:var(--radius); padding:2.5rem; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
  .form-group { margin-bottom:1rem; }
  .form-label { display:block; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.5rem; }
  .form-input, .form-textarea { width:100%; background:var(--ink4); border:1px solid rgba(232,168,56,.15); color:var(--text); font-family:var(--font-body); font-size:.9rem; padding:.8rem 1rem; border-radius:var(--radius); transition:border-color .25s,box-shadow .25s; outline:none; }
  .form-input:focus, .form-textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(232,168,56,.1); }
  .form-textarea { resize:vertical; min-height:130px; line-height:1.6; }
  .form-submit { width:100%; background:var(--gold); color:var(--ink); font-weight:700; font-size:.88rem; letter-spacing:.1em; text-transform:uppercase; padding:1rem; border-radius:var(--radius); transition:background .25s,transform .25s,box-shadow .25s; margin-top:.5rem; }
  .form-submit:hover { background:var(--gold-lt); transform:translateY(-2px); box-shadow:0 8px 30px rgba(232,168,56,.3); }
  .form-success { display:none; text-align:center; padding:2rem; color:var(--gold); font-family:var(--font-head); font-size:1.3rem; }

  /* FAQ */
  .faq-section { padding:6rem 0; background:var(--ink2); position:relative; z-index:1; }
  .faq-title { font-family:var(--font-head); font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.03em; margin-bottom:3rem; }
  .faq-list { max-width:700px; }
  .faq-item { border-bottom:1px solid rgba(232,168,56,.12); padding:1.5rem 0; cursor:pointer; }
  .faq-question { display:flex; justify-content:space-between; align-items:center; font-weight:600; font-size:1rem; }
  .faq-icon { color:var(--gold); font-size:1.3rem; transition:transform .3s; }
  .faq-answer { color:var(--text2); line-height:1.8; font-size:.9rem; max-height:0; overflow:hidden; transition:max-height .4s var(--ease), padding .3s; }
  .faq-item.open .faq-answer { max-height:200px; padding-top:1rem; }
  .faq-item.open .faq-icon { transform:rotate(45deg); }

  @media(max-width:900px){
    .contact-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
  }
  
  /* ─── FOOTER ─────────────────────────────────────────────── */
footer{padding:2.5rem 0 1rem;border-top:1px solid rgba(232,168,56,.1);background: linear-gradient(135deg, #0A2658, #1a1a2e); position:relative;z-index:1}
.footer-grid{
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.footer-logo{
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-weight: 900;
  margin-bottom: .8rem;
}
.footer-logo span{color:var(--gold)}
.footer-tagline{
  font-size: .82rem;
  color: var(--text2);
  line-height: 1.5;
}
.footer-col-title{
  font-size: .85rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .1rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.footer-links{
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  font-size: .88rem;
  color: var(--text2);
}
.footer-links a{
  color: var(--text2);
  transition: color .25s;
}
.footer-links a:hover{color: var(--gold);}
.footer-social{
  display: flex;
  gap: .5rem;
  margin-top: 1.2rem;
}
.footer-bottom{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.5rem;
  border-top: 1px solid rgb(232,168,56,.1);
  font-size: .82rem;
  color: var(--muted);
  flex-wrap: wrap;
  gap: 1rem;
}
@media(max-width: 768px){
  .footer-grid{
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width: 480px){
  .footer-grid{
     grid-template-columns: 1fr;
  }
}
