@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Montserrat:wght@400;600;700;800;900&display=swap');

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --black:#080808; --dark:#0e0e0e; --dark-2:#141414; --dark-3:#1c1c1c; --dark-4:#252525;
  --border:rgba(255,255,255,0.08); --border-2:rgba(255,255,255,0.14);
  --text:#f0f0f0; --muted:#888; --dim:#444;
  --accent:#2a7fd4; --accent-2:#1a65b0;
  --ui-font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; background:var(--black); color:var(--text); font-weight:300; line-height:1.6; overflow-x:hidden; padding-top:clamp(70px,12vw,90px); }
img { display:block; } a { text-decoration:none; color:inherit; }
.label { font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700; letter-spacing:3.5px; text-transform:uppercase; color:var(--accent); }
h1,h2,h3,h4 { font-family:'Montserrat',sans-serif; font-weight:800; line-height:1.0; text-transform:uppercase; letter-spacing:-0.5px; color:var(--muted) !important; word-break:normal; overflow-wrap:normal; hyphens:none; word-spacing:normal; max-width:100%; text-wrap:balance; }
p, .prose { color:var(--text) !important; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:200; height:clamp(70px,12vw,90px); display:flex; align-items:center; justify-content:center; gap:0.375in; padding:0 clamp(16px,4%,52px); background:rgba(0,45,116,0.98); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.nav-logo { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.nav-logo-img { height:clamp(45px,8vw,65px); width:auto; display:block; }
nav ul, nav .nav-menu { display:flex; align-items:center; gap:clamp(12px,2vw,22px); list-style:none; flex-wrap:wrap; }
nav ul a, nav .nav-menu a { font-family:var(--ui-font); font-size:clamp(13px,1.4vw,15px); font-weight:600; letter-spacing:0.2px; text-transform:none; color:var(--muted); transition:color 0.2s; }
nav ul a:hover, nav .nav-menu a:hover, nav ul a.active, nav .nav-menu a.active { color:var(--text); }
.nav-btn { color:#fff !important; background:var(--accent); padding:clamp(9px,2%,11px) clamp(16px,3%,20px); font-size:clamp(9px,1.5vw,10px); transition:background 0.2s; }
.nav-btn:hover { background:var(--accent-2) !important; }
.nav-contact-btn { border:1px solid var(--border-2); padding:clamp(8px,2%,10px) clamp(14px,3%,18px); color:var(--text) !important; transition:border-color 0.2s,color 0.2s; font-family:var(--ui-font); font-weight:600; letter-spacing:0.2px; text-transform:none; font-size:clamp(12px,1.4vw,14px); }
.nav-contact-btn:hover { border-color:var(--accent); color:var(--accent) !important; }

/* HAMBURGER MENU */
.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px 0; margin:0; z-index:201; flex-shrink:0; }
.hamburger span { width:26px; height:2.5px; background:var(--text); transition:all 0.3s ease; display:block; }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(8px, 8px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(7px, -7px); }

@media (max-width:1024px) {
  nav { justify-content:space-between; gap:0; }
  .hamburger { display:flex !important; }
  nav ul, nav .nav-menu { 
    position:absolute; 
    top:100%; 
    left:0; 
    right:0; 
    flex-direction:column; 
    background:rgba(0,45,116,0.99); 
    gap:0; 
    padding:16px; 
    border-bottom:1px solid var(--border); 
    max-height:0; 
    overflow:hidden; 
    transition:max-height 0.3s ease;
    width:100%;
    box-sizing:border-box;
    margin-right:0;
  }
  nav ul.active, nav .nav-menu.active { max-height:600px; }
  nav ul li, nav .nav-menu li { width:100%; padding:14px 0; border-bottom:1px solid var(--border); }
  nav ul li:last-child, nav .nav-menu li:last-child { border-bottom:none; }
  nav ul a, nav .nav-menu a { font-size:15px; display:block; }
  .nav-btn, .nav-contact-btn { width:100%; text-align:center; margin-top:8px; padding:12px 16px !important; }
}

/* BUTTONS */
.btn-blue { background:var(--accent); color:#fff; font-family:'Montserrat',sans-serif; font-size:clamp(9px,2vw,10px); font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:clamp(13px,3%,15px) clamp(24px,5%,36px); display:inline-flex; align-items:center; justify-content:center; text-align:center; transition:background 0.2s; min-height:44px; }
.btn-blue:hover { background:var(--accent-2); }
.btn-outline { border:1px solid var(--border-2); color:var(--muted); font-family:'Montserrat',sans-serif; font-size:clamp(9px,2vw,10px); font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:clamp(13px,3%,14px) clamp(24px,5%,34px); display:inline-flex; align-items:center; justify-content:center; text-align:center; transition:border-color 0.2s,color 0.2s; min-height:44px; }
.btn-outline:hover { border-color:var(--text); color:var(--text); }

.cta-strip { background:var(--dark-3); border-top:1px solid var(--border); padding:clamp(40px,8%,80px) clamp(20px,5%,52px); }
.cta-strip-inner { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:clamp(30px,5%,60px); }
.cta-strip h2 { font-size:clamp(24px,5vw,48px); margin:10px 0 clamp(8px,2%,12px); color:var(--muted); text-wrap:balance; }
.cta-strip p { font-size:clamp(13px,2.5vw,15px); color:var(--text); max-width:460px; line-height:1.8; }
.cta-btns { display:flex; flex-direction:column; gap:12px; width:100%; }
.cta-btns a { padding:clamp(13px,3%,17px) clamp(32px,5%,52px) !important; width:100%; box-sizing:border-box; }

@media (min-width:768px) {
  .cta-strip-inner { grid-template-columns:1fr auto; align-items:center; }
  .cta-btns { flex-direction:row; width:auto; }
  .cta-btns a { width:auto; }
}

/* FULLBLEED */
.fullbleed { position:relative; height:clamp(200px,45vw,420px); overflow:hidden; aspect-ratio:auto; }
.fullbleed img { width:100%; height:100%; object-fit:cover; -webkit-user-select:none; user-select:none; display:block; filter:brightness(0.28) saturate(0.5); -webkit-transform:translateZ(0); -webkit-touch-callout:none; }
.fullbleed-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(8,8,8,0.9) 0%, rgba(8,8,8,0.2) 60%, rgba(8,8,8,0.8) 100%); display:flex; align-items:center; padding:clamp(20px,5%,52px); }
.fullbleed-text { max-width:600px; }
.fullbleed-text h2 { font-size:clamp(28px,6vw,58px); margin-bottom:clamp(12px,3%,16px); color:var(--muted); word-break:normal; overflow-wrap:normal; text-wrap:balance; }
.fullbleed-text h2 em { font-style:normal; color:var(--accent); }
.fullbleed-text p { font-size:clamp(13px,2.5vw,15px); color:var(--text); line-height:1.8; }

@media (max-width:767px) {
  .fullbleed { 
    height:auto !important;
    min-height:0 !important; 
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
  }
  .fullbleed img { 
    position:absolute;
    inset:0;
    object-fit:contain !important;
    -webkit-appearance:none; 
    appearance:none;
    -webkit-transform:scale(1);
    transform:scale(1);
    filter:brightness(0.55) saturate(0.7) !important;
  }
  .fullbleed-overlay { position:relative !important; padding:24px 20px !important; background:linear-gradient(to right, rgba(8,8,8,0.78) 0%, rgba(8,8,8,0.15) 60%, rgba(8,8,8,0.6) 100%) !important; }
}

/* FOOTER */
footer { background:var(--dark-2); border-top:1px solid var(--border); padding:clamp(32px,5%,44px) clamp(20px,5%,52px); }
.footer-inner { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:clamp(20px,5%,40px); align-items:center; text-align:center; }
.footer-logo { display:flex; align-items:center; justify-content:center; gap:12px; }
.footer-logo-e { width:30px; height:30px; background:var(--accent); display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:900; font-size:15px; color:#fff; }
.footer-logo-txt { font-family:'Montserrat',sans-serif; font-size:clamp(11px,2vw,13px); font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.footer-copy { font-size:clamp(10px,1.5vw,11px); color:#aaa; }
.footer-links { display:flex; gap:clamp(12px,3%,24px); list-style:none; flex-wrap:wrap; justify-content:center; }
.footer-links a { font-family:'Montserrat',sans-serif; font-size:clamp(8px,1.5vw,9px); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#aaa; transition:color 0.2s; }
.footer-links a:hover { color:var(--muted); }
.footer-iso { font-family:'Montserrat',sans-serif; font-size:clamp(8px,1.5vw,9px); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#aaa; }

@media (min-width:768px) {
  .footer-inner { grid-template-columns:auto 1fr auto; text-align:left; }
  .footer-logo { justify-content:flex-start; }
  .footer-links { justify-content:flex-end; }
}

/* VALUES GRID - RESPONSIVE */
.values-grid { display:grid; grid-template-columns:1fr; gap:28px; }
@media (min-width:640px) {
  .values-grid { grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1024px) {
  .values-grid { grid-template-columns:repeat(4,1fr); }
}

/* SECTIONS */
.section { padding:clamp(50px,8%,100px) clamp(20px,5%,52px); }
.section-inner { max-width:1240px; margin:0 auto; }
.section-label { font-family:'Montserrat',sans-serif; font-size:clamp(9px,2vw,10px); font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--accent); margin-bottom:clamp(10px,2%,14px); }
.section-title { font-size:clamp(28px,6vw,58px); margin-bottom:clamp(20px,4%,32px); color:var(--muted); word-break:normal; overflow-wrap:normal; text-wrap:balance; }

/* PAGE HEADER */
.page-header { padding:clamp(80px,15vw,180px) clamp(20px,5%,52px) clamp(50px,8%,80px); background:var(--dark-2); border-bottom:1px solid var(--border); position:relative; overflow:hidden; }
.page-header::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(42,127,212,0.05) 0%, transparent 60%); }
.page-header-inner { max-width:1240px; margin:0 auto; position:relative; z-index:1; }
.page-header h1 { font-size:clamp(36px,7vw,88px); line-height:0.92; margin:16px 0 clamp(16px,3%,24px); color:var(--muted); }
.page-header p { font-size:clamp(14px,2.5vw,16px); color:var(--muted); max-width:600px; line-height:1.85; }

/* PROSE */
.prose p { font-size:clamp(13px,2.5vw,15px); color:var(--text); line-height:1.95; margin-bottom:clamp(16px,3%,22px); }
.prose p:last-child { margin-bottom:0; }
.prose strong { color:var(--text); font-weight:500; }

/* TWO COL */
.two-col { display:grid; grid-template-columns:1fr; gap:clamp(20px,5%,80px); align-items:start; }
@media (min-width:768px) {
  .two-col { grid-template-columns:1fr 1fr; }
}
.three-col { display:grid; grid-template-columns:1fr; gap:1px; background:var(--border); border:1px solid var(--border); }
@media (min-width:768px) {
  .three-col { grid-template-columns:repeat(3,1fr); }
}

.four-col { display:grid; grid-template-columns:1fr; gap:32px; }
@media (min-width:560px) {
  .four-col { grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1024px) {
  .four-col { grid-template-columns:repeat(4,1fr); }
}

/* CARDS */
.card { background:var(--dark-2); padding:clamp(24px,5%,36px); position:relative; overflow:hidden; transition:background 0.25s; }
.card:hover { background:var(--dark-3); }
.card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform 0.3s; }
.card:hover::before { transform:scaleX(1); }
.card-num { font-family:'Montserrat',sans-serif; font-size:clamp(36px,8vw,52px); font-weight:900; color:rgba(42,127,212,0.25); line-height:1; margin-bottom:16px; }
.card-title { font-family:'Montserrat',sans-serif; font-size:clamp(10px,2vw,11px); font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.card p { font-size:clamp(12px,2.5vw,14px); color:var(--text); line-height:1.85; }

/* ACCENT BLOCKS */
.accent-block { border-left:2px solid var(--accent); padding:clamp(16px,3%,20px) clamp(16px,3%,24px); background:rgba(42,127,212,0.04); margin-bottom:1px; }
.accent-block h4 { font-family:'Montserrat',sans-serif; font-size:clamp(9px,2vw,10px); font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.accent-block p { font-size:clamp(12px,2.5vw,13px); color:var(--text); line-height:1.8; }

/* BACKGROUND IMAGE FIX FOR SAFARI */
@supports (-webkit-background-size:cover) {
  [style*="background-image"] {
    -webkit-background-size:cover;
    -webkit-background-position:center;
    -webkit-transform:translate3d(0,0,0);
  }
}

/* STAT BAR */
.stat-bar { display:grid; grid-template-columns:1fr 1fr; background:var(--dark-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); gap:1px; }
.stat-bar-item { padding:clamp(24px,5%,32px) clamp(20px,4%,40px); border-right:none; background:var(--dark-2); }
.stat-bar-num { font-family:'Montserrat',sans-serif; font-size:clamp(28px,6vw,38px); font-weight:900; color:var(--text); line-height:1; margin-bottom:8px; }
.stat-bar-accent { font-size:clamp(16px,4vw,20px); color:var(--accent); }
.stat-bar-label { font-size:clamp(8px,1.5vw,10px); letter-spacing:1.5px; text-transform:uppercase; color:var(--dim); font-family:'Montserrat',sans-serif; font-weight:600; }
@media (min-width:768px) {
  .stat-bar { grid-template-columns:repeat(4,1fr); }
}

/* DOTTED LIST */
.dot-list { list-style:none; display:flex; flex-direction:column; }
.dot-list li { display:flex; align-items:center; gap:14px; padding:clamp(10px,2%,13px) 0; border-bottom:1px solid var(--border); font-size:clamp(11px,2vw,12px); color:var(--muted); font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.dot-list li:first-child { border-top:1px solid var(--border); }
.dot-list li::before { content:''; width:5px; height:5px; background:var(--accent); flex-shrink:0; }

/* IMG */
.section-img { width:100%; object-fit:cover; display:block; filter:brightness(0.82) saturate(0.75); aspect-ratio:16/9; }
