:root{
    --bg:#0A0E14;
    --panel:#121826;
    --gold:#C9A227;
    --gold-bright:#E3C567;
    --ivory:#EDE7D9;
    --slate:#8A93A6;
    --line:#232B3D;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ivory);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
    html{scroll-behavior:auto;}
  }

  /* ---------- NAV ---------- */
  .site-nav{
    position:fixed; top:0; left:0; right:0; z-index:10;
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 6vw;
    background:rgba(10,14,20,0.55);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(35,43,61,0.7);
  }
  .site-nav .brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
  .site-nav .brand img{height:34px; width:auto; display:block;}
  .site-nav .brand span{
    font-family:'JetBrains Mono',monospace;
    font-size:12px; letter-spacing:0.12em; color:var(--ivory);
    line-height:1.3;
  }
  .site-nav .brand span b{display:block; color:var(--gold); font-size:10px; letter-spacing:0.14em;}
  .site-nav .nav-links{display:flex; align-items:center; gap:36px;}
  .site-nav .nav-links a{
    font-size:13.5px; color:var(--slate); text-decoration:none;
    transition:color .2s ease;
  }
  .site-nav .nav-links a:hover{color:var(--ivory);}
  .site-nav .nav-mark{
    display:flex; align-items:center; gap:10px;
    font-family:'Cormorant Garamond',serif;
    font-weight:600; font-size:19px; letter-spacing:0.04em;
    color:var(--gold-bright);
    white-space:nowrap;
  }
  .site-nav .nav-mark .star{
    width:9px; height:9px; flex-shrink:0;
    background:var(--gold);
    clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  }
  @media (max-width:520px){
    .site-nav .nav-mark span{display:none;}
  }

  @media (max-width:900px){
    .site-nav{padding:16px 6vw;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    padding:0 clamp(40px, 7vw, 130px) clamp(64px, 8vw, 130px);
  }

  /* Abstract backdrop: tactical coverage grid + radar sweep.
     No photography — the "signature" motif (coverage / surveillance / perimeter)
     carries the brand instead of a stock image. */
  .hero-photo{
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse at 68% 32%, rgba(201,162,39,0.08), transparent 50%),
      linear-gradient(180deg, rgba(10,14,20,0.25) 0%, rgba(10,14,20,0.55) 55%, rgba(10,14,20,0.97) 100%),
      repeating-linear-gradient(90deg, rgba(237,231,217,0.035) 0px, rgba(237,231,217,0.035) 1px, transparent 1px, transparent 64px),
      repeating-linear-gradient(0deg, rgba(237,231,217,0.035) 0px, rgba(237,231,217,0.035) 1px, transparent 1px, transparent 64px),
      #0A0E14;
  }
  .radar{
    position:absolute; right:-6%; top:50%; transform:translateY(-50%);
    width:min(58vw, 780px); height:min(58vw, 780px);
    opacity:0.9;
  }
  .radar circle.ring{fill:none; stroke:rgba(201,162,39,0.16); stroke-width:1;}
  .radar circle.blip{fill:var(--gold); opacity:0.7;}
  .radar .blip-b{fill:var(--ivory); opacity:0.35;}
  .radar .sweep{
    transform-origin:250px 250px;
    animation:sweep 7s linear infinite;
  }
  @keyframes sweep{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }

  .facets{position:absolute; inset:0; opacity:0.5;}
  .facets path{fill:none; stroke:rgba(201,162,39,0.5); stroke-width:1;}
  .facets circle{fill:var(--gold); opacity:0.55;}

  .perimeter{
    position:absolute; inset:20px;
    border:1px solid transparent;
    pointer-events:none;
  }
  .perimeter svg{position:absolute; inset:0; width:100%; height:100%;}
  .perimeter rect{
    fill:none; stroke:var(--gold); stroke-width:1;
    stroke-dasharray:2000; stroke-dashoffset:2000;
    animation:draw 2.6s cubic-bezier(.4,0,.2,1) 0.2s forwards;
  }
  @keyframes draw{ to{stroke-dashoffset:0;} }

  .hero-content{
    position:relative; z-index:2;
    max-width:760px;
  }
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:12px; letter-spacing:0.18em;
    color:var(--gold);
    display:flex; align-items:center; gap:10px;
    margin-bottom:22px;
    opacity:0; animation:rise 0.7s ease 1.4s forwards;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--gold);}
  h1{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    font-size:clamp(2.4rem, 5.4vw, 4.4rem);
    line-height:1.05;
    letter-spacing:0.005em;
    color:var(--ivory);
    margin-bottom:24px;
    opacity:0; animation:rise 0.8s ease 1.55s forwards;
  }
  h1 em{color:var(--gold-bright); font-style:normal;}
  .sub{
    font-size:16px; line-height:1.7; color:var(--slate);
    max-width:520px; margin-bottom:36px;
    opacity:0; animation:rise 0.8s ease 1.7s forwards;
  }
  @keyframes rise{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }

  .cta-row{display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:rise 0.8s ease 1.85s forwards;}
  .btn{
    font-family:'Inter',sans-serif; font-weight:600; font-size:14px;
    padding:15px 28px; border-radius:2px; text-decoration:none;
    letter-spacing:0.01em; transition:all .25s ease; display:inline-flex; align-items:center; gap:10px;
  }
  .btn-primary{background:var(--gold); color:#181206;}
  .btn-primary:hover{background:var(--gold-bright); transform:translateY(-1px);}
  .btn-ghost{border:1px solid var(--line); color:var(--ivory);}
  .btn-ghost:hover{border-color:var(--gold); color:var(--gold-bright);}
  .btn-whatsapp{background:#25D366; border-color:#25D366;}
  .btn-whatsapp:hover{background:#20BD5A; border-color:#20BD5A; color:var(--ivory);}

  /* ---------- TRUST STRIP ---------- */
  .trust{
    background:var(--panel);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:44px 6vw;
  }
  .trust-label{
    font-family:'JetBrains Mono',monospace;
    font-size:11px; letter-spacing:0.16em; color:var(--slate);
    text-align:center; margin-bottom:28px;
  }
  .trust-label b{color:var(--gold-bright); font-weight:500;}
  .badges{
    display:flex; justify-content:center; gap:48px; flex-wrap:wrap;
  }
  .badge{
    display:flex; align-items:center; gap:10px;
    font-size:13.5px; color:var(--slate);
  }
  .badge svg{width:18px; height:18px; stroke:var(--gold); flex-shrink:0;}

  .cert-strip{
    display:flex; justify-content:center; align-items:center; gap:14px;
    margin-top:36px; padding-top:32px; border-top:1px solid var(--line);
  }
  .cert-badge{
    width:56px; height:56px; border-radius:50%;
    border:1px solid var(--gold); overflow:hidden; flex-shrink:0;
  }
  .cert-badge img{width:100%; height:100%; object-fit:cover; display:block;}
  .cert-tag{
    font-family:'JetBrains Mono',monospace;
    font-size:11px; letter-spacing:0.1em; color:var(--gold);
  }

  @media (max-width:640px){
    .hero{padding:0 clamp(36px, 13vw, 90px) 14vw;}
    .perimeter{inset:14px;}
    .badges{gap:22px 32px;}
  }

  /* ---------- ABOUT / MISSION / VISION ---------- */
  .pillars{
    background:var(--bg);
    padding:120px 6vw;
  }
  .pillars-head{
    max-width:620px; margin:0 auto 72px;
    text-align:center;
  }
  .pillars-head .eyebrow{
    justify-content:center; opacity:1; animation:none;
    margin-bottom:18px;
  }
  .pillars-head .eyebrow::before{display:none;}
  .pillars-head h2{
    font-family:'Cormorant Garamond',serif;
    font-weight:600; font-size:clamp(1.9rem, 3.4vw, 2.6rem);
    color:var(--ivory); line-height:1.2;
  }

  .pillar-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    max-width:1180px; margin:0 auto;
  }
  .pillar{
    padding:0 40px;
    border-left:1px solid var(--line);
  }
  .pillar:first-child{border-left:none; padding-left:0;}
  .pillar-icon{
    width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--gold); border-radius:50%;
    margin-bottom:28px;
  }
  .pillar-icon svg{width:20px; height:20px; stroke:var(--gold); fill:none; stroke-width:1.5;}
  .pillar h3{
    font-family:'Cormorant Garamond',serif;
    font-weight:600; font-size:1.5rem;
    color:var(--ivory); margin-bottom:16px;
    letter-spacing:0.01em;
  }
  .pillar p{
    font-size:14.5px; line-height:1.75; color:var(--slate);
    margin-bottom:22px;
  }
  .pillar a{
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--gold); text-decoration:none;
    display:inline-flex; align-items:center; gap:8px;
    border-bottom:1px solid transparent;
    transition:border-color .2s ease, color .2s ease;
  }
  .pillar a:hover{color:var(--gold-bright); border-color:var(--gold-bright);}

  @media (max-width:900px){
    .pillars{padding:80px 6vw;}
    .pillar-grid{grid-template-columns:1fr; gap:48px;}
    .pillar{border-left:none; padding-left:0; padding-right:0; border-top:1px solid var(--line); padding-top:40px;}
    .pillar:first-child{border-top:none; padding-top:0;}
  }

  /* ---------- SERVICES ---------- */
  .services{
    background:var(--panel);
    padding:120px 6vw;
    border-top:1px solid var(--line);
  }
  .services-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    flex-wrap:wrap; gap:24px;
    max-width:1180px; margin:0 auto 64px;
  }
  .services-head .eyebrow{opacity:1; animation:none; margin-bottom:16px;}
  .services-head .eyebrow::before{display:none;}
  .services-head h2{
    font-family:'Cormorant Garamond',serif;
    font-weight:600; font-size:clamp(1.9rem, 3.4vw, 2.6rem);
    color:var(--ivory); max-width:480px; line-height:1.2;
  }
  .services-head p{
    max-width:340px; font-size:14px; line-height:1.7; color:var(--slate);
  }

  .service-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
    max-width:1180px; margin:0 auto;
    background:var(--line);
    border:1px solid var(--line);
  }
  .service-card{
    background:var(--panel);
    padding:44px 36px;
    display:flex; flex-direction:column;
    transition:background .25s ease;
  }
  .service-card:hover{background:#161d2c;}
  .service-tag{
    font-family:'JetBrains Mono',monospace;
    font-size:10.5px; letter-spacing:0.14em; color:var(--gold);
    margin-bottom:24px;
  }
  .service-card h3{
    font-family:'Cormorant Garamond',serif;
    font-weight:600; font-size:1.55rem; color:var(--ivory);
    margin-bottom:16px;
  }
  .service-card p{
    font-size:14px; line-height:1.75; color:var(--slate);
    margin-bottom:28px; flex-grow:1;
  }
  .service-card a{
    font-family:'JetBrains Mono',monospace;
    font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--ivory); text-decoration:none;
    display:inline-flex; align-items:center; gap:8px;
    padding-top:18px; border-top:1px solid var(--line);
    transition:color .2s ease;
  }
  .service-card a:hover{color:var(--gold-bright);}

  @media (max-width:900px){
    .services{padding:80px 6vw;}
    .service-grid{grid-template-columns:1fr;}
  }

  /* ---------- CONTACT ---------- */
  .contact{
    background:var(--bg);
    padding:120px 6vw;
    border-top:1px solid var(--line);
  }
  .contact-wrap{
    max-width:1180px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:start;
  }
  .contact-left h2{
    font-family:'Cormorant Garamond',serif;
    font-weight:600; font-size:clamp(2rem, 3.6vw, 2.8rem);
    color:var(--ivory); line-height:1.2; margin-bottom:20px;
  }
  .contact-left p{
    font-size:14.5px; line-height:1.75; color:var(--slate);
    max-width:420px; margin-bottom:36px;
  }
  .contact-left .btn-primary{display:inline-flex;}

  .contact-list{display:flex; flex-direction:column; gap:0;}
  .contact-item{
    display:flex; gap:20px; align-items:flex-start;
    padding:26px 0; border-bottom:1px solid var(--line);
  }
  .contact-item:first-child{padding-top:0;}
  .contact-icon{
    width:38px; height:38px; flex-shrink:0;
    border:1px solid var(--gold); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
  }
  .contact-icon svg{width:17px; height:17px; stroke:var(--gold); fill:none; stroke-width:1.6;}
  .contact-item-label{
    font-family:'JetBrains Mono',monospace;
    font-size:10.5px; letter-spacing:0.12em; color:var(--slate);
    text-transform:uppercase; margin-bottom:6px;
  }
  .contact-item a, .contact-item span{
    font-size:16.5px; color:var(--ivory); text-decoration:none;
  }
  .contact-item a:hover{color:var(--gold-bright);}

  @media (max-width:900px){
    .contact{padding:80px 6vw;}
    .contact-wrap{grid-template-columns:1fr; gap:44px;}
  }

  /* ---------- GALLERY ---------- */
  .gallery{
    background:var(--panel);
    padding:120px 6vw;
    border-top:1px solid var(--line);
  }
  .gallery-head{max-width:620px; margin:0 auto 56px; text-align:center;}
  .gallery-head .eyebrow{justify-content:center; opacity:1; animation:none; margin-bottom:16px;}
  .gallery-head .eyebrow::before{display:none;}
  .gallery-head h2{
    font-family:'Cormorant Garamond',serif; font-weight:600;
    font-size:clamp(1.9rem, 3.4vw, 2.6rem); color:var(--ivory); line-height:1.2;
  }

  .gallery-grid{
    max-width:1180px; margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    grid-auto-rows:150px;
    gap:2px;
  }
  .gallery-tile{
    position:relative; overflow:hidden;
    background:#10151f;
  }
  .gallery-tile img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; filter:saturate(0.85) brightness(0.85);
    transition:transform .5s ease, filter .5s ease;
  }
  .gallery-tile:hover img{transform:scale(1.06); filter:saturate(1) brightness(0.7);}
  .gallery-tile.g-big{grid-column:span 2; grid-row:span 2;}
  .gallery-tile-label{
    position:absolute; left:0; right:0; bottom:0;
    padding:14px 16px;
    background:linear-gradient(0deg, rgba(10,14,20,0.85), transparent);
    font-family:'JetBrains Mono',monospace;
    font-size:10.5px; letter-spacing:0.08em; color:var(--ivory);
    opacity:0; transform:translateY(6px);
    transition:opacity .3s ease, transform .3s ease;
  }
  .gallery-tile:hover .gallery-tile-label{opacity:1; transform:translateY(0);}
  .gallery-tile-label b{display:block; color:var(--gold); font-size:9.5px; margin-bottom:4px; letter-spacing:0.14em;}

  @media (max-width:900px){
    .gallery{padding:80px 6vw;}
    .gallery-grid{grid-template-columns:repeat(2, 1fr); grid-auto-rows:130px;}
    .gallery-tile.g-big{grid-column:span 2; grid-row:span 1;}
  }

  /* ---------- FOOTER ---------- */
  .site-footer{
    background:var(--bg);
    border-top:1px solid var(--line);
    padding:80px 6vw 32px;
  }
  .footer-wrap{
    max-width:1180px; margin:0 auto;
    display:grid; grid-template-columns:1.4fr 1fr 1fr;
    gap:48px;
    padding-bottom:56px;
  }
  .footer-brand .eyebrow{opacity:1; animation:none; margin-bottom:18px;}
  .footer-brand .eyebrow::before{display:none;}
  .footer-brand p{font-size:13.5px; line-height:1.75; color:var(--slate); max-width:320px;}
  .footer-col h4{
    font-family:'JetBrains Mono',monospace;
    font-size:11px; letter-spacing:0.12em; color:var(--gold);
    text-transform:uppercase; margin-bottom:22px;
  }
  .footer-col a, .footer-col span{
    display:block; font-size:14px; color:var(--slate); text-decoration:none;
    margin-bottom:13px; line-height:1.5;
  }
  .footer-col a:hover{color:var(--gold-bright);}
  .footer-bottom{
    max-width:1180px; margin:0 auto;
    padding-top:28px; border-top:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  }
  .footer-bottom span{
    font-family:'JetBrains Mono',monospace;
    font-size:11px; letter-spacing:0.04em; color:var(--slate);
  }

  @media (max-width:700px){
    .site-footer{padding:64px 6vw 28px;}
    .footer-wrap{grid-template-columns:1fr; gap:40px;}
  }

  /* ---------- ACCESSIBILITY: focus states ---------- */
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
    outline:2px solid var(--gold-bright);
    outline-offset:3px;
    border-radius:1px;
  }

  /* ---------- MOBILE HAMBURGER MENU ---------- */
  .nav-menu-toggle{
    display:none;
    background:none; border:none; cursor:pointer;
    width:32px; height:22px; position:relative; z-index:20;
  }
  .nav-menu-toggle span{
    position:absolute; left:0; right:0; height:1px; background:var(--ivory);
    transition:transform .25s ease, opacity .25s ease;
  }
  .nav-menu-toggle span:nth-child(1){top:0;}
  .nav-menu-toggle span:nth-child(2){top:10px;}
  .nav-menu-toggle span:nth-child(3){top:20px;}
  .nav-menu-toggle.open span:nth-child(1){transform:translateY(10px) rotate(45deg);}
  .nav-menu-toggle.open span:nth-child(2){opacity:0;}
  .nav-menu-toggle.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg);}

  @media (max-width:900px){
    .nav-menu-toggle{display:block;}
    .site-nav .nav-mark{display:none;}
    .site-nav .nav-links{
      display:flex; flex-direction:column; align-items:flex-start; gap:0;
      position:fixed; top:0; right:0; height:100svh; width:min(78vw, 320px);
      background:#0D1219; border-left:1px solid var(--line);
      padding:90px 32px 32px;
      transform:translateX(100%);
      transition:transform .3s ease;
      z-index:15;
    }
    .site-nav .nav-links.open{transform:translateX(0);}
    .site-nav .nav-links a{
      font-size:16px; color:var(--ivory);
      padding:16px 0; width:100%; border-bottom:1px solid var(--line);
    }
    .nav-scrim{
      display:none; position:fixed; inset:0; background:rgba(6,8,12,0.6); z-index:12;
    }
    .nav-scrim.open{display:block;}
  }

  /* ---------- FLOATING WHATSAPP ---------- */
  .float-whatsapp{
    position:fixed; right:22px; bottom:22px; z-index:30;
    width:56px; height:56px; border-radius:50%;
    background:var(--gold);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,0.4);
    transition:transform .2s ease, background .2s ease;
  }
  .float-whatsapp:hover{background:var(--gold-bright); transform:translateY(-2px);}
  .float-whatsapp svg{width:26px; height:26px; fill:#181206;}

  /* ---------- INQUIRY FORM ---------- */
  .inquiry-form{
    background:var(--panel); border:1px solid var(--line);
    padding:32px; margin-top:32px;
  }
  .inquiry-form .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  .inquiry-form label{
    display:block; font-family:'JetBrains Mono',monospace;
    font-size:10.5px; letter-spacing:0.1em; color:var(--slate);
    text-transform:uppercase; margin-bottom:8px;
  }
  .inquiry-form label .req-mark{color:var(--gold-bright); font-weight:700;}
  .inquiry-form input, .inquiry-form select, .inquiry-form textarea{
    width:100%; background:var(--bg); border:1px solid var(--line);
    color:var(--ivory); font-family:'Inter',sans-serif; font-size:14px;
    padding:12px 14px; border-radius:2px;
  }
  .inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus{
    outline:none; border-color:var(--gold);
  }
  .inquiry-form .field{margin-bottom:16px;}
  .inquiry-form textarea{resize:vertical; min-height:90px;}
  .inquiry-form input::placeholder, .inquiry-form textarea::placeholder{
    color:var(--slate); opacity:0.75;
  }
  .inquiry-form button{
    font-family:'Inter',sans-serif; font-weight:600; font-size:14px;
    padding:14px 30px; border-radius:2px; border:none; cursor:pointer;
    background:var(--gold); color:#181206;
    transition:background .2s ease;
  }
  .inquiry-form button:hover{background:var(--gold-bright);}
  .inquiry-note{
    font-size:12px; color:var(--slate); margin-top:14px; line-height:1.6;
  }
  @media (max-width:520px){
    .inquiry-form .form-row{grid-template-columns:1fr;}
  }
