  :root{
    --navy: #0d2b52;
    --navy-deep:#08213f;
    --red: #d21f2e;
    --red-dark:#b3131f;
    --sky:#eaf1f8;
    --ink:#1c2b3a;
    --muted:#5b6b7c;
    --white:#ffffff;
    --line:#dbe4ee;
    --radius:10px;
    --shadow: 0 10px 30px rgba(13,43,82,0.10);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Poppins', sans-serif; font-weight:800; letter-spacing:-0.5px;}
  a{text-decoration:none; color:inherit;}
  img{max-width:100%; display:block;}
  .container{max-width:1200px; margin:0 auto; padding:0 24px;}
  .eyebrow{
    display:inline-block;
    font-family:'Inter', sans-serif;
    font-weight:700;
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--red);
  }
  .rule{
    width:56px; height:4px; background:var(--red); border-radius:2px; margin:14px 0 22px;
  }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 28px;
    border-radius:6px;
    font-weight:600;
    font-size:15px;
    border:2px solid transparent;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-red{background:var(--red); color:var(--white); box-shadow:0 8px 20px rgba(210,31,46,0.25);}
  .btn-red:hover{background:var(--red-dark);}
  .btn-outline-navy{background:transparent; color:var(--white); border-color:rgba(255,255,255,0.6);}
  .btn-outline-navy:hover{background:rgba(255,255,255,0.12);}
  .btn-navy{background:var(--navy); color:var(--white);}
  .btn-navy:hover{background:var(--navy-deep);}

  /* HEADER */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-wrap{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px;
    max-width:1200px; margin:0 auto;
  }
  .logo{display:flex; flex-direction:column; line-height:1;}
  .logo .name{font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; color:var(--navy);}
  .logo .top{font-family:'Poppins',sans-serif; font-weight:800; font-size:28px; color:var(--red); letter-spacing:1px; margin-top:-2px;}
  .logo .place{font-family:'Inter',sans-serif; font-size:12px; color:var(--muted); margin-top:-2px;}
  nav ul{
    display:flex; gap:32px; list-style:none;
  }
  nav ul li a{
    font-size:15px; font-weight:600; color:var(--ink);
    padding-bottom:6px; position:relative;
  }
  nav ul li a.active{color:var(--navy);}
  nav ul li a.active::after{
    content:''; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--red);
  }
  nav ul li a:hover{color:var(--red);}
  .nav-right{display:flex; align-items:center; gap:20px;}
  .burger{display:none; background:none; border:none; font-size:26px; color:var(--navy); cursor:pointer;}

  /* HERO */
  .hero{
    position:relative;
    background:linear-gradient(180deg, #eef4fa 0%, #dfe9f3 100%);
    overflow:hidden;
    min-height:640px;
    display:flex; align-items:center;
  }
  .hero-city-bg{
    position:absolute; inset:0;
    background:url('https://images.unsplash.com/photo-1519892300165-cb5542fb47c7?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
    opacity:0.35;
  }
  .hero-inner{
    position:relative; z-index:2;
    display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:40px;
    max-width:1200px; margin:0 auto; padding:70px 24px;
    width:100%;
  }
  .hero-text h2.eyebrow-line{
    color:#2f6fb0; font-size:22px; font-weight:700; margin-bottom:6px; font-family:'Poppins',sans-serif;
  }
  .hero-text h1{
    font-size:52px; line-height:1.08; color:var(--navy);
    margin-bottom:6px;
  }
  .hero-text h1 span.accent{color:var(--red);}
  .hero-text p.lede{
    font-size:16.5px; color:var(--ink); max-width:460px; margin:20px 0 30px; line-height:1.65;
  }
  .hero-photo-wrap{
    position:relative; display:flex; justify-content:center; align-items:flex-end; height:100%;
  }
  .hero-photo{
    width:100%; max-width:460px; border-radius:14px;
    box-shadow:0 30px 60px rgba(13,43,82,0.25);
    aspect-ratio:4/5; object-fit:cover;
  }

  /* VALUES STRIP */
  .values{
    background:var(--navy); color:var(--white);
    padding:38px 0;
  }
  .values .container{
    display:grid; grid-template-columns:repeat(4,1fr); gap:30px;
  }
  .value-item{display:flex; gap:14px; align-items:flex-start;}
  .value-icon{
    flex-shrink:0; width:44px; height:44px; border-radius:50%;
    border:2px solid rgba(255,255,255,0.5);
    display:flex; align-items:center; justify-content:center;
    font-size:20px;
  }
  .value-item h4{font-size:15px; font-weight:700; margin-bottom:4px; letter-spacing:0.3px;}
  .value-item p{font-size:13.5px; color:#c7d6e8; line-height:1.5;}

  /* ABOUT */
  .about{
    display:grid; grid-template-columns:1fr 1fr;
    background:var(--sky);
  }
  .about-text{
    padding:80px 60px; display:flex; flex-direction:column; justify-content:center;
  }
  .about-text h2{font-size:34px; color:var(--navy); margin-bottom:20px;}
  .about-text p{color:var(--muted); font-size:15.5px; line-height:1.75; margin-bottom:18px; max-width:480px;}
  .about-photo{
    position:relative;
    min-height:420px;
    background:url('https://images.unsplash.com/photo-1519817650390-64a93db51149?q=80&w=1400&auto=format&fit=crop') center/cover no-repeat;
  }
  .quote-box{
    position:absolute; right:0; bottom:0; left:0;
    background:rgba(13,43,82,0.92);
    color:var(--white);
    padding:34px 40px;
  }
  .quote-box p{font-size:16px; line-height:1.5; font-style:italic; max-width:420px;}
  .quote-box .sig{
    margin-top:14px; font-family:'Poppins',sans-serif; font-style:italic; font-size:18px; color:#f0c4c8;
  }

  /* PRIORITIES */
  .priorities{padding:90px 0 100px; text-align:center;}
  .priorities h2{font-size:32px; color:var(--navy);}
  .priorities h2 .accent{color:var(--red);}
  .priorities .rule{margin:16px auto 50px;}
  .priority-grid{
    display:grid; grid-template-columns:repeat(6, 1fr); gap:24px;
  }
  .priority-card{
    padding:10px 14px;
  }
  .priority-icon{
    width:56px; height:56px; margin:0 auto 16px;
    display:flex; align-items:center; justify-content:center;
    font-size:26px;
  }
  .priority-card:nth-child(odd) .priority-icon{color:var(--red);}
  .priority-card:nth-child(even) .priority-icon{color:var(--navy);}
  .priority-card h4{font-size:15.5px; color:var(--navy); margin-bottom:8px; font-weight:700;}
  .priority-card p{font-size:13.5px; color:var(--muted); line-height:1.55;}

  /* CTA BANNER */
  .cta-banner{
    background:var(--navy); color:var(--white);
    padding:50px 0;
  }
  .cta-inner{
    display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  }
  .cta-left{display:flex; align-items:center; gap:22px;}
  .cta-icon{font-size:40px;}
  .cta-left h3{font-size:22px; margin-bottom:6px;}
  .cta-left p{font-size:14.5px; color:#c7d6e8; line-height:1.5;}
  .cta-right{display:flex; gap:16px; flex-shrink:0;}

  /* CONTACT */
  .contact-section{
    background:var(--sky);
    padding:90px 0;
  }
  .contact-inner{
    display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:start;
  }
  .contact-intro h2{font-size:32px; color:var(--navy); margin-top:6px;}
  .contact-intro p{color:var(--muted); font-size:15.5px; line-height:1.7; max-width:380px;}
  .contact-form{
    background:var(--white);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:40px;
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .form-group{margin-bottom:20px; display:flex; flex-direction:column;}
  .form-group label{
    font-size:13.5px; font-weight:600; color:var(--navy); margin-bottom:7px;
  }
  .form-group input, .form-group textarea{
    border:1.5px solid var(--line);
    border-radius:6px;
    padding:12px 14px;
    font-family:'Inter', sans-serif;
    font-size:14.5px;
    color:var(--ink);
    background:#fbfcfe;
    resize:vertical;
    transition:border-color .15s ease;
  }
  .form-group input:focus, .form-group textarea:focus{
    outline:none; border-color:var(--navy);
    background:var(--white);
  }
  .contact-form .btn{border:none; width:100%; justify-content:center;}
  .form-note{
    margin-top:14px; font-size:12.5px; color:var(--muted); text-align:center;
  }
  .form-status{
    margin-top:14px; font-size:14px; font-weight:600; text-align:center; display:none;
  }
  .form-status.show{display:block;}
  .form-status.success{color:#1b7a3d;}
  .form-status.error{color:var(--red);}

  /* FOOTER */
  footer{background:var(--white); padding:60px 0 0;}
  .footer-grid{
    display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:30px; padding-bottom:40px;
  }
  .footer-grid h5{font-size:13px; letter-spacing:1px; text-transform:uppercase; color:var(--navy); margin-bottom:18px; font-weight:700;}
  .footer-grid ul{list-style:none;}
  .footer-grid ul li{margin-bottom:10px;}
  .footer-grid ul li a{color:var(--muted); font-size:14.5px;}
  .footer-grid ul li a:hover{color:var(--red);}
  .social-row{display:flex; gap:12px; margin-top:6px;}
  .social-row a{
    width:38px; height:38px; border-radius:50%; background:var(--navy); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-size:15px;
  }
  .social-row a:hover{background:var(--red);}
  .footer-bottom{
    border-top:1px solid var(--line);
    padding:20px 0;
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
    font-size:13px; color:var(--muted);
  }

  /* RESPONSIVE */
  @media (max-width: 980px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-photo-wrap{order:-1;}
    .hero-text h1{font-size:38px;}
    .values .container{grid-template-columns:repeat(2,1fr);}
    .about{grid-template-columns:1fr;}
    .contact-inner{grid-template-columns:1fr; gap:36px;}
    .contact-form{padding:28px;}
    .priority-grid{grid-template-columns:repeat(3,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
    nav{display:none;}
    .burger{display:block;}
  }
  @media (max-width: 560px){
    .priority-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .cta-inner{flex-direction:column; align-items:flex-start;}
    .hero-text h1{font-size:30px;}
    .form-row{grid-template-columns:1fr;}
  }

  /* mobile nav */
  .mobile-nav{
    display:none; flex-direction:column; gap:0; background:var(--white); border-top:1px solid var(--line);
  }
  .mobile-nav.open{display:flex;}
  .mobile-nav a{padding:14px 24px; border-bottom:1px solid var(--line); font-weight:600;}
  .mobile-nav a.active{color:var(--red); background:var(--sky);}
  .mobile-nav .btn{margin:16px 24px;}

  :focus-visible{outline:3px solid var(--red); outline-offset:2px;}

  /* SCROLL TO TOP */
  .scroll-top-btn{
    position:fixed;
    right:24px; bottom:24px;
    width:48px; height:48px;
    border-radius:50%;
    background:var(--navy);
    color:var(--white);
    border:none;
    display:flex; align-items:center; justify-content:center;
    font-size:20px;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(13,43,82,0.35);
    opacity:0; visibility:hidden; transform:translateY(12px);
    transition:opacity .25s ease, transform .25s ease, background .2s ease, visibility .25s;
    z-index:200;
  }
  .scroll-top-btn.visible{
    opacity:1; visibility:visible; transform:translateY(0);
  }
  .scroll-top-btn:hover{background:var(--red);}
  @media (max-width:560px){
    .scroll-top-btn{right:16px; bottom:16px; width:44px; height:44px;}
  }
