/* ====== Tokens ====== */
:root{
  --red:#e53935;
  --red-dark:#c62828;
  --ink:#0f1a28;
  --ink-2:#17263a;
  --ink-3:#22324b;
  --text:#102039;
  --muted:#6b7789;
  --paper:#ffffff;
  --paper-2:#f5f8fd;
  --paper-3:#eef3f8;
  --radius:14px;
  --shadow:0 10px 30px rgba(16,25,38,.12);
  --shadow-lg:0 24px 60px rgba(16,25,38,.18);
  --brand-font:'Anton', system-ui, -apple-system, sans-serif;
  --body-font:'Inter', system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--body-font);color:var(--text);background:var(--paper-2);line-height:1.6}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.spacer-8{height:8px}.spacer-16{height:16px}

/* ====== Header / Nav ====== */
.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #e8edf5}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand-logo{height:46px}
.brand-logo.small{height:38px}
.nav{display:flex;gap:26px;align-items:center}
.nav a{font-weight:600;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;color:#24344f}
.nav a:hover{color:var(--red)}
.burger{display:none;background:none;border:none;width:40px;height:40px;cursor:pointer}
.burger span{display:block;width:28px;height:3px;background:#24344f;margin:6px 0;border-radius:3px;transition:.3s}

/* ====== Hero ====== */
.hero{position:relative;background:linear-gradient(180deg,#f7f9fc 0%, #0e1a2b 85%);color:#fff}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;mix-blend:multiply;opacity:.55}
.hero-inner{position:relative;padding:120px 0 140px;text-align:center}
.display{font-family:var(--brand-font);font-size:clamp(2.6rem,7vw,5rem);letter-spacing:.02em;text-shadow:0 6px 18px rgba(0,0,0,.18)}
.lead-hero{max-width:720px;margin:16px auto 28px;color:#d7deea}
.btn{display:inline-block;padding:14px 22px;border-radius:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.btn-primary{background:var(--red);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--red-dark)}

/* ====== Sections ====== */
.section{padding:72px 0}
.section-verylight{background:var(--paper-2)}
.section-light{background:#fff}
.section-dark{background:var(--ink-2);color:#edf2fb}
.section-title{font-family:var(--brand-font);font-size:clamp(1.8rem,3.6vw,2.6rem);letter-spacing:.02em;text-align:center;color:#192a44}
.section-sub{text-align:center;color:var(--muted);max-width:860px;margin:10px auto 0}
.section-dark .section-title{color:#fff}.section-dark .section-sub{color:#b8c3d6}
.h3-red{font-family:var(--brand-font);font-size:1.6rem;color:var(--red);margin:8px 0 10px}

/* Two Column */
.two-col{display:grid;grid-template-columns:1.1fr 0.9fr;gap:38px;align-items:center}
.two-col.reverse{grid-template-columns:0.9fr 1.1fr}
@media(max-width: 960px){.two-col,.two-col.reverse{grid-template-columns:1fr}}
.card-shadow{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}
.card-shadow img{width:100%;height:380px;object-fit:cover}

/* Services grid */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:26px}
@media(max-width: 960px){.service-grid{grid-template-columns:1fr}}
.service-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:24px 22px;display:flex;flex-direction:column;gap:8px;border:1px solid #e9eff6}
.service-card .icon{font-size:28px;color:var(--red)}
.service-card h3{font-family:var(--brand-font);color:#0f1f35;letter-spacing:.01em}

/* Checklist */
.checklist{margin:14px 0 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.checklist li{position:relative;list-style:none;padding-left:26px}
.checklist li::before{content:'✔';position:absolute;left:0;top:0;color:var(--red);font-weight:800}

/* Quote form */
.quote-form{max-width:820px;margin:26px auto 0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:26px;box-shadow:0 14px 60px rgba(0,0,0,.25)}
.form-row{display:flex;gap:18px;margin:10px 0}
.form-row.two > .field{flex:1}
.field label{display:block;font-size:.85rem;margin-bottom:6px;color:#cbd7ea}
.field input,.field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #3a4a60;background:#14233a;color:#eff5ff}
.field textarea{resize:vertical}
.upload{position:relative;border:2px dashed #3b4a61;border-radius:12px;padding:28px;display:flex;align-items:center;justify-content:center;gap:12px;background:#132236;color:#c8d5ea}
.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload-icon{font-size:26px;margin-right:8px}
.btn.wide{width:100%}

/* Gallery */
.gallery-grid{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gallery-grid figure{background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.gallery-grid img{width:100%;height:280px;object-fit:cover}
@media(max-width: 960px){.gallery-grid{grid-template-columns:1fr}}

/* Footer */
.footer{background:#0d1727;color:#cfd8e6;padding:26px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.footer .foot-right{display:flex;gap:16px;align-items:center;opacity:.9}
.footer .foot-right img{height:28px;filter:grayscale(100%)}

/* Scroll to top */
.scroll-top{position:fixed;right:20px;bottom:20px;width:42px;height:42px;border-radius:50%;background:#0e1a2b;color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow);opacity:.85}
.scroll-top:hover{opacity:1}

/* Responsive nav */
@media(max-width: 840px){
  .nav{position:fixed;inset:0 0 0 40%;background:#fff;flex-direction:column;justify-content:center;align-items:center;
       transform:translateX(100%);transition:.35s;gap:22px}
  .nav.open{transform:translateX(0)}
  .burger{display:block}
}

.footer a { text-decoration: underline; color: #cfd8e6; }
.footer a:hover { color: #ffffff; }