  :root{
    --navy:#0F2242;
    --navy-2:#16305A;
    --blue:#0A5FB5;
    --blue-light:#3B82D6;
    --amber:#F0A62A;
    --bg:#F5F7FA;
    --white:#FFFFFF;
    --line:#E3E8EF;
    --ink:#101828;
    --slate:#5B6B84;
    --good:#2E8B57;
    --wa:#25D366;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{font-family:'Inter',sans-serif; background:var(--bg); color:var(--ink); line-height:1.55; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,.disp{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.015em; color:var(--navy);}
  .mono{font-family:'IBM Plex Mono',monospace;}
  a{text-decoration:none; color:inherit;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer;}
  ul{list-style:none;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 28px;}
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{outline:3px solid var(--amber); outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

  /* ===== TOPBAR + HEADER ===== */
  .topbar{background:var(--navy); color:#B9C6DC; font-family:'IBM Plex Mono'; font-size:11.5px;}
  .topbar .wrap{display:flex; justify-content:space-between; padding:8px 28px; flex-wrap:wrap; gap:6px;}
  .topbar a{color:#B9C6DC;}
  .topbar a:hover{color:var(--amber);}
  .topbar-login{background:var(--amber); color:var(--navy) !important; font-weight:600; padding:3px 14px; border-radius:3px; letter-spacing:0.04em; text-transform:uppercase; font-size:11px;}
  .topbar-login:hover{background:#f5b752; color:var(--navy) !important;}
  .logo-img{height:44px; width:auto;}
  header{position:sticky; top:0; z-index:60; background:var(--white); border-bottom:1px solid var(--line); box-shadow:0 1px 0 rgba(16,24,40,0.02);}
  .nav{display:flex; align-items:center; justify-content:space-between; padding:16px 0;}
  .logo{display:flex; align-items:center; gap:11px;}
  .logo .mark{width:40px; height:40px; background:var(--navy); display:flex; align-items:center; justify-content:center; font-family:'Oswald'; font-weight:700; color:var(--amber); font-size:14px;}
  .logo .name{color:var(--navy); font-size:18px; font-weight:600; letter-spacing:0.03em;}
  .logo .name b{color:var(--blue);}
  .logo .name small{display:block; font-family:'IBM Plex Mono'; font-size:9px; color:var(--slate); letter-spacing:0.08em; font-weight:400; text-transform:uppercase;}
  nav.mainnav ul{display:flex; gap:26px;}
  nav.mainnav ul li a{color:var(--navy); font-size:13px; font-weight:500; letter-spacing:0.02em; padding:6px 0; border-bottom:2px solid transparent; transition:color .2s;}
  nav.mainnav ul li a:hover, nav.mainnav ul li a.active{color:var(--blue); border-color:var(--blue);}
  .nav-cta{background:var(--wa); color:var(--white); font-weight:600; padding:10px 18px; font-size:12.5px; letter-spacing:0.03em; display:flex; align-items:center; gap:8px; border:none; border-radius:3px;}
  .nav-cta:hover{background:#1EBE5A;}
  .mobile-toggle{display:none; background:none; border:none; color:var(--navy); font-size:22px;}

  .page{display:none;}
  .page.active{display:block;}

  /* ===== HERO with overlay search ===== */
  .hero{
    background:
      linear-gradient(135deg, rgba(15,34,66,0.72) 0%, rgba(22,48,90,0.6) 55%, rgba(10,95,181,0.55) 130%),
      url('https://images.pexels.com/photos/17623758/pexels-photo-17623758.jpeg?auto=compress&cs=tinysrgb&w=1920') center 38% / cover no-repeat;
    position:relative; padding:64px 0 100px; overflow:hidden;
  }
  .hero::after{content:''; position:absolute; right:-80px; top:-80px; width:420px; height:420px; border-radius:50%; background:rgba(255,255,255,0.04);}
  .hero-inner{position:relative; z-index:1; text-align:center; color:var(--white); max-width:720px; margin:0 auto;}
  .hero .eyebrow{display:inline-flex; align-items:center; gap:9px; color:var(--amber); font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:16px; justify-content:center;}
  .hero .eyebrow::before, .hero .eyebrow::after{content:''; width:24px; height:1px; background:var(--amber);}
  .hero h1{font-size:clamp(30px,4.2vw,48px); line-height:1.1; margin-bottom:16px; color:var(--white); text-shadow:0 2px 16px rgba(0,0,0,0.35);}
  .hero p{color:#EAF0F8; font-size:16px; margin-bottom:8px; text-shadow:0 1px 8px rgba(0,0,0,0.3);}

  .search-float{background:var(--white); max-width:1000px; margin:36px auto 0; padding:22px; border-radius:6px; box-shadow:0 24px 50px rgba(6,20,45,0.28); display:grid; grid-template-columns:1.3fr 1fr 1fr 0.7fr 0.7fr auto; gap:12px; align-items:end; position:relative; z-index:2;}
  .search-float label{display:block; font-size:10px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate); margin-bottom:6px; text-align:left;}
  .search-float input, .search-float select{width:100%; border:1px solid var(--line); padding:11px 12px; font-size:13.5px; background:var(--bg); color:var(--ink); border-radius:3px;}
  .search-float button{background:var(--blue); color:var(--white); border:none; padding:12px 22px; font-size:12.5px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; white-space:nowrap; border-radius:3px; transition:background .2s;}
  .search-float button:hover{background:var(--navy);}

  .hero-strip{max-width:1000px; margin:40px auto 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; position:relative; z-index:1;}
  .hero-strip div{font-family:'IBM Plex Mono'; font-size:11.5px; color:#C6D3E6;}
  .hero-strip div b{color:var(--white); font-weight:500;}

  /* ===== GENERIC SECTION ===== */
  .sec{padding:80px 0;}
  .sec.tight{padding-top:56px;}
  .sec-head{text-align:center; max-width:600px; margin:0 auto 44px;}
  .sec-head .eyebrow{display:inline-flex; align-items:center; gap:9px; color:var(--blue); font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:12px;}
  .sec-head .eyebrow::before, .sec-head .eyebrow::after{content:''; width:22px; height:1px; background:var(--blue);}
  .sec-head h2{font-size:clamp(24px,3vw,34px); margin-bottom:10px;}
  .sec-head p{color:var(--slate); font-size:14.5px;}
  .sec.alt{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

  .page-hero{background:var(--navy); color:var(--white); padding:52px 0; text-align:center;}
  .page-hero .eyebrow{color:var(--amber); display:inline-flex; align-items:center; gap:9px; font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:12px; justify-content:center;}
  .page-hero .eyebrow::before, .page-hero .eyebrow::after{content:''; width:22px; height:1px; background:var(--amber);}
  .page-hero h1{color:var(--white); font-size:clamp(26px,3.4vw,38px);}
  .page-hero p{color:#C6D3E6; margin-top:10px; max-width:520px; margin-inline:auto;}

  /* ===== NEW ARRIVALS BADGE ===== */
  .new-badge{position:absolute; top:12px; right:12px; background:var(--amber); color:var(--navy); font-family:'IBM Plex Mono'; font-size:9.5px; padding:4px 8px; letter-spacing:0.06em; border-radius:2px; font-weight:600;}

  /* ===== STOCK GRID / CARDS ===== */
  .search-bar{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:20px; display:grid; grid-template-columns:1fr 1fr 0.7fr 0.7fr auto; gap:14px; align-items:end; margin-bottom:36px;}
  .search-bar label{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:0.07em; color:var(--slate); margin-bottom:6px;}
  .search-bar select, .search-bar input{width:100%; border:1px solid var(--line); padding:11px 12px; font-size:13.5px; background:var(--bg); border-radius:3px;}
  .search-bar button{background:var(--navy); color:var(--white); border:none; padding:12px 20px; font-size:12.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; white-space:nowrap; border-radius:3px;}
  .search-bar button:hover{background:var(--blue);}
  .stock-meta{font-family:'IBM Plex Mono'; font-size:12px; color:var(--slate); margin-bottom:20px;}
  .pager-row{display:flex; justify-content:center; gap:6px; margin-top:36px; flex-wrap:wrap;}
  .pager-btn{background:var(--white); border:1px solid var(--line); color:var(--navy); padding:8px 14px; font-size:12.5px; font-weight:600; border-radius:3px;}
  .pager-btn:hover:not(:disabled){border-color:var(--blue); color:var(--blue);}
  .pager-btn.active{background:var(--navy); color:var(--white); border-color:var(--navy);}
  .pager-btn:disabled{opacity:0.4; cursor:not-allowed;}
  .stock-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .car-card{border:1px solid var(--line); background:var(--white); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s;}
  .car-card:hover{box-shadow:0 16px 32px rgba(16,24,40,0.1); transform:translateY(-3px);}
  .car-photo{height:176px; background:linear-gradient(135deg,#D7DEE8,#B9C6DC); display:flex; align-items:center; justify-content:center; color:var(--navy); font-family:'Oswald'; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; position:relative; cursor:pointer; overflow:hidden;}
  .car-tag{position:absolute; top:12px; left:12px; background:var(--navy); color:var(--white); font-family:'IBM Plex Mono'; font-size:9.5px; padding:4px 8px; letter-spacing:0.06em; border-radius:2px; z-index:2;}
  .car-status{position:absolute; top:12px; right:12px; background:var(--good); color:var(--white); font-family:'IBM Plex Mono'; font-size:9.5px; padding:4px 8px; letter-spacing:0.06em; border-radius:2px; z-index:2;}
  .car-status.sold{background:#B5493C;}
  .zoom-hint{position:absolute; bottom:10px; right:10px; background:rgba(15,34,66,0.75); color:#fff; font-size:10.5px; padding:4px 9px; border-radius:2px; font-family:'IBM Plex Mono'; z-index:2; letter-spacing:0.04em;}
  .car-body{padding:18px 20px 20px; flex:1; display:flex; flex-direction:column;}
  .car-body h3{font-size:16.5px; margin-bottom:4px;}
  .car-ref{font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--slate); margin-bottom:14px;}
  .car-specs{display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; margin-bottom:16px;}
  .car-specs div{font-family:'IBM Plex Mono'; font-size:11px; color:var(--slate); display:flex; justify-content:space-between; border-bottom:1px dashed var(--line); padding-bottom:4px;}
  .car-specs div b{color:var(--ink); font-weight:500;}
  .car-foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:14px; border-top:1px solid var(--line);}
  .car-price{font-family:'Oswald'; font-size:18px; color:var(--navy);}
  .car-price span{display:block; font-family:'Inter'; font-size:9.5px; color:var(--slate); text-transform:uppercase; font-weight:400;}
  .wa-btn{background:var(--wa); color:var(--white); padding:9px 14px; font-size:11.5px; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; display:flex; align-items:center; gap:6px; border-radius:3px; transition:background .2s;}
  .wa-btn:hover{background:#1EBE5A;}
  .empty-state{text-align:center; padding:60px 20px; color:var(--slate);}

  /* watermark overlay tiled across photo */
  .wm-overlay{position:absolute; inset:0; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); pointer-events:none; z-index:1;}
  .wm-overlay span{display:flex; align-items:center; justify-content:center; font-family:'Oswald'; font-size:11px; letter-spacing:0.08em; color:rgba(15,34,66,0.28); transform:rotate(-22deg); white-space:nowrap; text-transform:uppercase;}

  /* ===== WHY / ICON GRID ===== */
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .why-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:26px; text-align:center;}
  .why-icon{width:52px; height:52px; background:var(--bg); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; margin:0 auto 16px;}
  .why-card h3{font-size:14.5px; margin-bottom:8px;}
  .why-card p{font-size:13px; color:var(--slate);}

  /* ===== STATS ===== */
  .stats{background:var(--navy); color:var(--white);}
  .stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
  .stats-grid div b{display:block; font-family:'Oswald'; font-size:38px; color:var(--amber);}
  .stats-grid div span{font-size:12px; color:#B9C6DC; text-transform:uppercase; letter-spacing:0.06em;}

  /* ===== TESTIMONIALS ===== */
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .testi-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:26px;}
  .testi-stars{color:var(--amber); font-size:13px; margin-bottom:14px; letter-spacing:2px;}
  .testi-card p{font-size:14.5px; color:var(--ink); margin-bottom:20px;}
  .testi-who{display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--line);}
  .testi-avatar{width:38px; height:38px; background:var(--navy); color:var(--amber); font-family:'Oswald'; font-size:13px; display:flex; align-items:center; justify-content:center; border-radius:50%;}
  .testi-who b{display:block; font-size:13.5px; color:var(--ink);}
  .testi-who span{font-size:11.5px; color:var(--slate);}

  /* ===== FAQ ===== */
  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{background:var(--white); border:1px solid var(--line); border-radius:6px; margin-bottom:10px; overflow:hidden;}
  .faq-q{width:100%; background:none; border:none; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; font-size:14.5px; font-weight:600; color:var(--navy); text-align:left;}
  .faq-q .plus{color:var(--blue); font-size:18px; transition:transform .2s;}
  .faq-item.open .faq-q .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
  .faq-a p{padding:0 22px 18px; color:var(--slate); font-size:13.5px;}

  /* ===== ABOUT ===== */
  .about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:52px; align-items:center;}
  .about-panel{background:var(--navy); color:var(--white); padding:34px; border-radius:6px;}
  .about-panel h3{color:var(--white); font-size:18px; margin-bottom:12px;}
  .about-panel p{color:#C6D3E6; font-size:14px; margin-bottom:18px;}
  .stat-row{display:flex; gap:24px;}
  .stat-row div b{display:block; font-family:'Oswald'; font-size:23px; color:var(--amber);}
  .stat-row div span{font-size:10.5px; color:#B9C6DC; text-transform:uppercase; letter-spacing:0.05em;}
  .about-copy p{color:var(--slate); font-size:15px; margin-bottom:16px;}
  .about-list li{display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px;}
  .about-list li::before{content:'✓'; color:var(--blue); font-weight:700;}

  /* ===== HOW TO BUY ===== */
  .buy-steps{counter-reset:step; max-width:720px; margin:0 auto;}
  .buy-step{display:flex; gap:22px; padding:26px 0; border-bottom:1px solid var(--line);}
  .buy-step:first-child{padding-top:0;}
  .buy-num{counter-increment:step; font-family:'Oswald'; font-size:26px; color:var(--blue); width:44px; flex-shrink:0;}
  .buy-num::before{content:counter(step, decimal-leading-zero);}
  .buy-step h3{font-size:16px; margin-bottom:8px;}
  .buy-step p{color:var(--slate); font-size:14.5px;}

  .text-page{max-width:760px; margin:0 auto;}
  .text-page h3{margin:28px 0 12px; font-size:17px;}
  .text-page p, .text-page li{color:var(--slate); font-size:14.5px; margin-bottom:12px;}
  .text-page ul{padding-left:20px; list-style:disc;}
  .placeholder-note{background:#FFF6E5; border-left:3px solid var(--amber); padding:16px 20px; font-family:'IBM Plex Mono'; font-size:12px; color:#7A5A12; margin-bottom:28px; border-radius:0 4px 4px 0;}

  /* ===== ADMIN ===== */
  .admin-link{font-family:'IBM Plex Mono'; font-size:11px; color:#8A98AE;}
  .admin-link:hover{color:var(--amber);}
  .modal-backdrop{display:none; position:fixed; inset:0; background:rgba(15,34,66,0.72); z-index:100; align-items:center; justify-content:center;}
  .modal-backdrop.active{display:flex;}
  .modal{background:var(--white); width:340px; padding:32px; position:relative; border-radius:6px;}
  .modal h3{font-size:16px; margin-bottom:4px;}
  .modal .sub{font-family:'IBM Plex Mono'; font-size:11px; color:var(--slate); margin-bottom:22px;}
  .modal label{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate); margin-bottom:6px; margin-top:14px;}
  .modal label:first-of-type{margin-top:0;}
  .modal input{width:100%; border:1px solid var(--line); padding:11px 12px; font-size:13.5px; background:var(--bg); border-radius:3px;}
  .modal button.btn-primary{width:100%; justify-content:center; margin-top:22px;}
  .modal-close{position:absolute; top:14px; right:16px; background:none; border:none; font-size:18px; color:var(--slate);}

  .btn{padding:13px 24px; font-size:12.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; border-radius:3px; border:none; transition:all .2s;}
  .btn-primary{background:var(--blue); color:var(--white);}
  .btn-primary:hover{background:var(--navy);}
  .btn-outline{border:1px solid var(--line); color:var(--navy); background:var(--white);}
  .btn-outline:hover{border-color:var(--blue); color:var(--blue);}

  /* ===== CONTACT ===== */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
  .contact-info h2{font-size:clamp(24px,3vw,32px); margin-bottom:16px;}
  .contact-info p{color:var(--slate); margin-bottom:26px; max-width:400px;}
  .contact-item{display:flex; gap:14px; padding:16px 0; border-top:1px solid var(--line);}
  .contact-item .ci-icon{width:38px; height:38px; background:var(--bg); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;}
  .contact-item b{display:block; font-size:13px; text-transform:uppercase; letter-spacing:0.04em; color:var(--navy); margin-bottom:3px;}
  .contact-item span{font-size:14px; color:var(--slate);}
  .form{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:32px;}
  .form label{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate); margin-bottom:6px; margin-top:16px;}
  .form label:first-child{margin-top:0;}
  .form input, .form textarea{width:100%; border:1px solid var(--line); background:var(--bg); padding:12px 14px; font-family:'Inter'; font-size:14px; color:var(--ink); border-radius:3px;}
  .form input:focus, .form textarea:focus{border-color:var(--blue); outline:none;}
  .form button{width:100%; margin-top:22px; justify-content:center;}
  .form-note{font-family:'IBM Plex Mono'; font-size:11px; color:var(--slate); margin-top:12px;}

  /* Admin / Add Vehicle */
  .admin-panel{max-width:900px; margin:0 auto;}
  .admin-block{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:26px; margin-bottom:22px;}
  .admin-block-title{font-size:15px; margin-bottom:16px;}
  .admin-block-title span{font-family:'IBM Plex Mono'; font-size:11px; color:var(--slate); text-transform:none; font-weight:400; letter-spacing:0;}
  .bulk-upload-row{display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap;}
  .bulk-upload-hint{font-size:12px; color:var(--slate);}
  .photo-upload-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; border-radius:8px; transition:background-color .15s, box-shadow .15s;}
  .photo-upload-grid.drag-over{background:#eaf1fb; box-shadow:0 0 0 2px var(--blue) inset;}
  .photo-slot{aspect-ratio:1/1; border:2px dashed var(--line); border-radius:6px; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; color:var(--slate); background:var(--bg); position:relative; overflow:hidden; text-align:center; padding:8px;}
  .photo-slot:hover{border-color:var(--blue); color:var(--blue);}
  .photo-slot .plus-icon{font-size:22px; margin-bottom:6px;}
  .photo-slot .slot-label{font-family:'IBM Plex Mono'; font-size:10px; letter-spacing:0.05em;}
  .photo-slot img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .photo-slot.has-photo .plus-icon, .photo-slot.has-photo .slot-label{display:none;}
  .photo-slot .remove-photo{position:absolute; top:4px; right:4px; background:rgba(15,34,66,0.75); color:#fff; border:none; width:20px; height:20px; border-radius:50%; font-size:11px; z-index:2;}
  .photo-slot input[type="file"]{display:none;}
  .admin-form-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px;}
  .admin-form-grid label{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate); margin-bottom:6px;}
  .admin-form-grid label .req{color:#b5493c; margin-left:2px;}
  .admin-form-grid input, .admin-form-grid select{width:100%; border:1px solid var(--line); background:var(--bg); padding:10px 12px; font-size:13.5px; border-radius:3px; color:var(--ink);}
  .admin-form-grid input:required, .admin-form-grid select:required{border-color:#d9b98a;}
  .admin-actions{display:flex; justify-content:flex-end; gap:12px;}
  @media (max-width:700px){ .photo-upload-grid{grid-template-columns:repeat(2,1fr);} .admin-form-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .admin-form-grid{grid-template-columns:1fr;} }
  .contact-fit{padding:18px 0; display:flex; align-items:center; min-height:calc(100vh - 130px);}
  .contact-card{max-width:600px; margin:0 auto; width:100%;}
  .contact-title{font-size:clamp(20px,2.4vw,26px); text-align:center; margin-bottom:16px;}
  .compact-form{padding:20px;}
  .compact-form label{margin-top:8px; font-size:10px;}
  .compact-form label:first-child{margin-top:0;}
  .compact-form input, .compact-form textarea{padding:9px 12px; font-size:13px;}
  .compact-form button{margin-top:14px; padding:11px 22px;}
  .form-row-2{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
  .form-row-2 label{margin-top:8px; font-size:10px;}
  .form-row-2:first-of-type label{margin-top:0;}
  @media (max-width:560px){ .form-row-2{grid-template-columns:1fr;} .contact-fit{min-height:0;} }

  /* ===== FOOTER ===== */
  footer{background:var(--navy); color:#B9C6DC; padding:48px 0 22px;}
  .foot-top{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:32px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,0.1);}
  .foot-top.foot-top-2col{grid-template-columns:1fr 1fr; max-width:500px;}
  .foot-top .logo .name{color:var(--white); font-size:16px;}
  .foot-top .logo .mark{background:var(--amber); color:var(--navy);}
  .foot-top p{font-size:12.5px; color:#8A98AE; margin-top:14px; max-width:260px;}
  .foot-col h4{color:var(--white); font-size:12px; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:14px; font-weight:600;}
  .foot-col li{margin-bottom:9px; font-size:13px;}
  .foot-col a:hover{color:var(--amber);}

  .offices-row{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:30px 0; border-bottom:1px solid rgba(255,255,255,0.1);}
  .office-card{}
  .office-card .office-tag{font-family:'IBM Plex Mono'; font-size:10px; color:var(--amber); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:8px;}
  .office-card b{display:block; color:var(--white); font-size:14px; margin-bottom:6px;}
  .office-card span{font-size:13px; color:#B9C6DC; line-height:1.7; display:block;}

  .foot-bottom{display:flex; justify-content:space-between; padding-top:20px; font-size:11.5px; flex-wrap:wrap; gap:10px; color:#8A98AE;}
  .foot-bottom .tagline{font-family:'IBM Plex Mono'; letter-spacing:0.04em;}

  .wa-float{position:fixed; bottom:24px; right:24px; z-index:60; background:var(--wa); color:var(--white); width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 8px 20px rgba(0,0,0,0.28); transition:transform .2s;}
  .wa-float:hover{transform:scale(1.08);}

  /* ===== GALLERY LIGHTBOX ===== */
  .gallery-backdrop{display:none; position:fixed; inset:0; background:rgba(8,16,30,0.92); z-index:200; align-items:center; justify-content:center; padding:24px;}
  .gallery-backdrop.active{display:flex;}
  .gallery-modal{background:var(--white); width:100%; max-width:980px; max-height:92vh; display:grid; grid-template-columns:1.4fr 1fr; border-radius:8px; overflow:hidden;}
  .gallery-main{background:var(--ink); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; user-select:none; touch-action:pan-y;}
  .gallery-slide{width:100%; height:100%; min-height:380px; display:flex; align-items:center; justify-content:center; position:relative; cursor:grab;}
  .gallery-slide:active{cursor:grabbing;}
  .gallery-photo{width:100%; height:100%; min-height:380px; background:linear-gradient(135deg,#D7DEE8,#B9C6DC); display:flex; align-items:center; justify-content:center; font-family:'Oswald'; color:var(--navy); font-size:14px; letter-spacing:0.08em; position:relative;}
  .gallery-nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.85); border:none; width:40px; height:40px; border-radius:50%; font-size:18px; color:var(--navy); z-index:3;}
  .gallery-nav:hover{background:var(--white);}
  .gallery-nav.prev{left:14px;} .gallery-nav.next{right:14px;}
  .gallery-count{position:absolute; bottom:14px; left:50%; transform:translateX(-50%); background:rgba(15,34,66,0.75); color:#fff; font-family:'IBM Plex Mono'; font-size:11px; padding:5px 12px; border-radius:12px; z-index:3;}
  .gallery-close{position:absolute; top:14px; right:14px; background:rgba(255,255,255,0.85); border:none; width:34px; height:34px; border-radius:50%; font-size:16px; color:var(--navy); z-index:4;}
  .gallery-thumbs{display:flex; gap:6px; padding:10px 14px; background:rgba(0,0,0,0.3); position:absolute; bottom:44px; left:50%; transform:translateX(-50%); z-index:3;}
  .gallery-thumbs span{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.4);}
  .gallery-thumbs span.active{background:var(--amber);}
  .gallery-details{padding:28px; overflow-y:auto;}
  .gallery-details h3{font-size:19px; margin-bottom:4px;}
  .gallery-details .ref{font-family:'IBM Plex Mono'; font-size:11px; color:var(--slate); margin-bottom:18px;}
  .gallery-specs{display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; margin-bottom:20px;}
  .gallery-specs div{font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--slate); display:flex; justify-content:space-between; border-bottom:1px dashed var(--line); padding-bottom:6px;}
  .gallery-specs div b{color:var(--ink); font-weight:500;}
  .gallery-price{font-family:'Oswald'; font-size:24px; color:var(--navy); margin-bottom:18px;}
  .gallery-price span{display:block; font-family:'Inter'; font-size:10px; color:var(--slate); text-transform:uppercase; font-weight:400;}

  @media (max-width:900px){
    nav.mainnav ul, .nav-cta{display:none;}
    .mobile-toggle{display:block;}
    .hero-grid, .about-grid, .contact-grid{grid-template-columns:1fr;}
    .stock-grid, .testi-grid, .why-grid{grid-template-columns:1fr 1fr;}
    .stats-grid{grid-template-columns:1fr 1fr;}
    .search-bar, .search-float{grid-template-columns:1fr 1fr;}
    .foot-top, .offices-row{grid-template-columns:1fr;}
    .gallery-modal{grid-template-columns:1fr;}
  }
  @media (max-width:560px){
    .stock-grid, .testi-grid, .foot-top, .why-grid, .stats-grid, .offices-row{grid-template-columns:1fr;}
    .search-bar, .search-float{grid-template-columns:1fr;}
  }

  /* ===== PHP-only additions (not in prototype) ===== */
  .form-errors{background:#fff0f0; border:1px solid #f5c6cb; border-radius:4px; padding:12px 16px; margin-bottom:16px; color:#721c24; font-size:13px;}
  .form-errors p{margin:0; padding:2px 0;}
  .contact-success{text-align:center; padding:40px 20px;}
  .contact-success h2{font-size:24px; margin-bottom:12px; color:var(--good);}
  .contact-success p{color:var(--slate); font-size:15px;}
  nav.mainnav.open ul{display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--white); border-bottom:1px solid var(--line); padding:16px 28px; gap:12px; z-index:50;}

