:root{
  --ink:#132638;
  --ink-soft:#3d5162;
  --white:#FFFFFF;
  --canvas-soft:#F2F7FC;
  --canvas-soft2:#E9F1F9;
  --blue:#1F5C99;
  --blue-dark:#153F6B;
  --blue-bright:#2C79C0;
  --blue-pale:#DCE9F5;
  --gold:#C89A44;
  --aqua:#C4E3EF;
  --line: rgba(19,38,56,0.10);
  --shadow-sm: 0 4px 14px rgba(19,38,56,0.06);
  --shadow: 0 18px 44px rgba(19,38,56,0.10);
  --radius: 16px;
  --radius-lg: 26px;
  --maxw: 1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

body{
  margin:0;
  font-family:'Roboto', sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{ font-family:'Roboto', sans-serif; margin:0 0 0.4em 0; line-height:1.12; font-weight:700; letter-spacing:-0.02em; }
h1{ font-size:clamp(2.1rem, 5vw, 3.6rem); }
h2{ font-size:clamp(1.7rem, 3.4vw, 2.6rem); }
p{margin:0 0 1em 0;}
a{color:var(--blue); text-decoration:none;}
img,svg{display:block; max-width:100%;}

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:3px solid var(--gold); outline-offset:2px;
}

/* --- stitch signature --- */
.stitch{ height:2px; width:100%; background-image:repeating-linear-gradient(90deg, var(--blue) 0 9px, transparent 9px 17px); opacity:0.55; }
.stitch.gold{ background-image:repeating-linear-gradient(90deg, var(--gold) 0 9px, transparent 9px 17px); }

.eyebrow{
  font-family:'Roboto', sans-serif; text-transform:uppercase; letter-spacing:0.16em;
  font-size:0.74rem; font-weight:700; color:var(--blue); display:inline-flex; align-items:center; gap:10px; margin-bottom:16px;
}
.eyebrow .stitch{ width:30px; height:2px; opacity:0.85; }

.btn{
  display:inline-flex; align-items:center; gap:9px; padding:15px 28px; border-radius:999px;
  font-weight:600; font-size:0.96rem; border:1.5px solid transparent; cursor:pointer;
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
  font-family:'Roboto', sans-serif;
}
.btn svg{ width:18px; height:18px; }
.btn-primary{ background:var(--blue); color:var(--white); box-shadow:0 8px 20px rgba(31,92,153,0.28); }
.btn-primary:hover{ background:var(--blue-dark); transform:translateY(-2px); box-shadow:0 12px 26px rgba(31,92,153,0.34); }
.btn-outline{ background:transparent; color:var(--ink); border-color:rgba(19,38,56,0.22); }
.btn-outline:hover{ border-color:var(--blue); color:var(--blue); transform:translateY(-2px); }


/* ---------- TOPBAR ---------- */
.topbar{ background:var(--aqua); color:#14344F; font-size:0.86rem; }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:9px 0; }
.topbar-left{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.topbar-cta{ font-weight:700; }
.topbar-left a{ color:#14344F; display:inline-flex; align-items:center; gap:7px; font-weight:600; }
.topbar-left a:hover{ color:var(--blue-dark); }
.topbar-left svg{ width:15px; height:15px; }
.topbar-right{ display:flex; align-items:center; gap:12px; }
.topbar-right a{ color:#14344F; font-weight:600; }
.topbar-right a:hover{ color:var(--blue-dark); }
.topbar-right .sep{ opacity:0.4; }
@media (max-width:920px){ .topbar{ display:none; } }

/* ---------- HEADER ---------- */
header{ position:sticky; top:0; z-index:80; background:var(--white); border-bottom:1px solid var(--line); box-shadow:0 1px 0 rgba(19,38,56,0.04); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:16px; }
.logo{ display:flex; flex-direction:column; line-height:1; font-family:'Roboto', sans-serif; flex-shrink:0; }
.logo .l1{ font-style:italic; font-weight:700; font-size:1.55rem; color:var(--blue); }
.logo .l2{ font-family:'Roboto', sans-serif; font-size:0.6rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--ink-soft); margin-top:3px; }

nav.primary{ display:flex; align-items:center; gap:28px; }
nav.primary a{ color:var(--ink); font-weight:500; font-size:0.95rem; position:relative; }
nav.primary a.active{ color:var(--blue); font-weight:600; }
nav.primary a:not(.btn)::after{ content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--blue); transform:scaleX(0); transition:transform .2s ease; transform-origin:left; }
nav.primary a:not(.btn):hover::after, nav.primary a.active::after{ transform:scaleX(1); }

.header-actions{ display:flex; align-items:center; gap:14px; }
.nav-phone{ display:inline-flex; align-items:center; gap:8px; font-weight:600; white-space:nowrap; color:var(--ink); font-size:0.95rem; }
.nav-phone svg{ width:18px; height:18px; color:var(--blue); }
.nav-phone .phone-txt{ display:inline; }
.menu-toggle{ display:none; background:var(--canvas-soft); border:1px solid var(--line); border-radius:10px; cursor:pointer; padding:9px; line-height:0; }
.menu-toggle svg{ width:22px; height:22px; color:var(--ink); }

/* mobile header — slide-in paneel van rechts */
.nav-overlay{ display:none; }
@media (max-width:920px){
  .menu-toggle{ display:inline-flex; position:relative; z-index:95; }
  .nav-inner{ padding-left:4px; padding-right:4px; }
  nav.primary{
    position:fixed; top:0; right:0; bottom:0;
    width:min(82vw, 340px);
    background:var(--white);
    flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0;
    padding:88px 26px 32px;
    transform:translateX(105%);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
    box-shadow:-18px 0 50px rgba(19,38,56,0.18);
    overflow-y:auto;
    z-index:90;
  }
  nav.primary.open{ transform:translateX(0); }
  nav.primary a{ width:100%; padding:15px 2px; font-size:1.06rem; border-bottom:1px solid var(--line); }
  nav.primary a::after{ display:none; }
  nav.primary a.active{ color:var(--blue); }
  nav.primary a.btn{ margin-top:20px; justify-content:center; border-bottom:none; padding:15px 28px; }
  .nav-overlay{
    display:block; position:fixed; inset:0; background:rgba(10,25,40,0.45);
    opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; z-index:70;
  }
  .nav-overlay.show{ opacity:1; visibility:visible; }
}
/* hide long phone number on small screens to prevent header crowding */
@media (max-width:600px){
  .nav-phone .phone-txt{ display:none; }
  .nav-phone{ background:var(--canvas-soft); border:1px solid var(--line); border-radius:10px; padding:9px; }
  .logo .l1{ font-size:1.35rem; }
  .nav-inner{ padding:12px 0; }
}

/* ---------- HOME HERO ---------- */
.hero{ position:relative; padding:72px 0 88px; overflow:hidden; background:radial-gradient(1200px 500px at 82% -10%, var(--canvas-soft2), transparent 60%), var(--white); }
.hero-inner{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.hero .lead{ font-size:1.15rem; max-width:520px; color:var(--ink-soft); }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-top:32px; }
.hero-badges{ display:flex; gap:16px; margin-top:44px; flex-wrap:wrap; }
.hero-badge{ background:var(--canvas-soft); border:1px solid var(--line); border-radius:14px; padding:14px 20px; }
.hero-badge b{ display:block; font-family:'Roboto', sans-serif; font-size:1.5rem; color:var(--blue-dark); }
.hero-badge span{ font-size:0.8rem; color:var(--ink-soft); }
.hero-art{ position:relative; }
.hero-slider{ position:relative; display:grid; aspect-ratio:4/3; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); background:var(--canvas-soft); }
.hero-slide{ grid-area:1 / 1; min-width:0; opacity:0; transition:opacity .8s ease; }
.hero-slide.is-active{ opacity:1; }
.hero-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-dots{ position:absolute; left:0; right:0; bottom:14px; display:flex; gap:8px; justify-content:center; z-index:3; }
.hero-dot{ width:9px; height:9px; border-radius:50%; border:none; cursor:pointer; background:rgba(255,255,255,0.55); padding:0; transition:background .2s ease, transform .2s ease; box-shadow:0 1px 3px rgba(0,0,0,0.25); }
.hero-dot:hover{ background:rgba(255,255,255,0.85); }
.hero-dot.is-active{ background:#fff; transform:scale(1.3); }
.hero-float{ position:absolute; left:-14px; bottom:26px; z-index:4; background:var(--white); border-radius:14px; box-shadow:var(--shadow); padding:14px 18px; display:flex; align-items:center; gap:12px; }
.hero-float .dot{ width:40px; height:40px; border-radius:10px; background:var(--gold); display:grid; place-items:center; }
.hero-float .dot svg{ width:22px; height:22px; color:#fff; }
.hero-float b{ font-family:'Roboto', sans-serif; font-size:0.98rem; display:block; }
.hero-float span{ font-size:0.78rem; color:var(--ink-soft); }
@media (max-width:920px){
  .hero-inner{ grid-template-columns:1fr; gap:34px; }
  .hero-art{ max-width:520px; margin:0 auto; }
  .hero-float{ left:12px; bottom:12px; padding:12px 16px; }
}

/* ---------- PAGE HERO (sub pages) ---------- */
.page-hero{ padding:52px 0 56px; background:radial-gradient(900px 380px at 88% -20%, var(--canvas-soft2), transparent 60%), var(--canvas-soft); border-bottom:1px solid var(--line); }
.page-hero p{ max-width:600px; color:var(--ink-soft); }
.breadcrumb{ font-size:0.85rem; color:var(--ink-soft); margin-bottom:14px; }
.breadcrumb a{ color:var(--ink-soft); }
.breadcrumb a:hover{ color:var(--blue); }

/* ---------- SECTION ---------- */
section{ padding:84px 0; }
.section-head{ max-width:660px; margin-bottom:52px; }
.section-head.center{ margin:0 auto 52px; text-align:center; }
.section-head p{ color:var(--ink-soft); }
.band-soft{ background:var(--canvas-soft); }
.band-ink{ background:linear-gradient(160deg,#14344F,#0E2740); color:var(--white); }
.band-ink .eyebrow{ color:var(--gold); }
.band-ink h2{ color:var(--white); }

/* ---------- DIENSTEN GRID ---------- */
.diensten-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.dienst-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; }
.dienst-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.dienst-card .thumb{ aspect-ratio:4/3; overflow:hidden; background:var(--canvas-soft); }
.dienst-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.dienst-card:hover .thumb img{ transform:scale(1.04); }
.dienst-body{ padding:24px 24px 26px; display:flex; flex-direction:column; gap:10px; flex-grow:1; }
.dienst-card h3{ font-size:1.22rem; margin:0; }
.dienst-card p{ color:var(--ink-soft); font-size:0.95rem; margin:0; flex-grow:1; }
.dienst-link{ font-weight:600; font-size:0.9rem; display:inline-flex; align-items:center; gap:6px; margin-top:6px; }
.dienst-link svg{ width:15px; height:15px; transition:transform .15s ease; }
.dienst-link:hover svg{ transform:translateX(4px); }
@media (max-width:920px){ .diensten-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .diensten-grid{ grid-template-columns:1fr; } }

/* ---------- DIENST DETAIL ---------- */
.dienst-detail{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; padding:52px 0; border-bottom:1px solid var(--line); scroll-margin-top:90px; }
.dienst-detail:last-child{ border-bottom:none; }
.dienst-detail .media img{ width:100%; border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.dienst-detail.reverse .media{ order:2; }
.dienst-detail ul{ padding-left:0; list-style:none; margin:16px 0 24px; }
.dienst-detail li{ padding-left:28px; position:relative; margin-bottom:10px; color:var(--ink-soft); font-size:0.97rem; }
.dienst-detail li::before{ content:""; position:absolute; left:0; top:9px; width:14px; height:2px; background:var(--gold); }
@media (max-width:820px){
  .dienst-detail{ grid-template-columns:1fr; gap:28px; }
  .dienst-detail.reverse .media{ order:0; }
}

/* ---------- WERKWIJZE ---------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.step{ position:relative; }
.step .num{ font-family:'Roboto', sans-serif; font-style:italic; font-size:2.2rem; color:var(--gold); margin-bottom:8px; display:block; }
.step h3{ color:var(--white); font-size:1.1rem; }
.step p{ color:#c1d0dd; font-size:0.92rem; }
@media (max-width:820px){ .steps{ grid-template-columns:1fr 1fr; gap:30px; } }
@media (max-width:520px){ .steps{ grid-template-columns:1fr; } }

/* ---------- OVER ONS ---------- */
.over-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.over-grid .media img{ width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.stats-row{ display:flex; gap:34px; margin-top:28px; flex-wrap:wrap; }
.stat b{ display:block; font-family:'Roboto', sans-serif; font-size:2rem; color:var(--blue); }
.stat span{ font-size:0.85rem; color:var(--ink-soft); }
@media (max-width:920px){ .over-grid{ grid-template-columns:1fr; } .over-grid .media{ order:-1; } }

/* ---------- REVIEWS ---------- */
.reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.review-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; box-shadow:var(--shadow-sm); }
.stars{ display:flex; gap:3px; margin-bottom:14px; }
.stars svg{ width:17px; height:17px; fill:var(--gold); }
.review-card p{ font-size:0.96rem; color:var(--ink); }
.review-name{ font-weight:600; font-family:'Roboto', sans-serif; font-size:1rem; }
.review-tag{ font-size:0.76rem; color:var(--blue); text-transform:uppercase; letter-spacing:0.07em; font-weight:600; }
@media (max-width:920px){ .reviews-grid{ grid-template-columns:1fr; } }

/* ---------- CONTACT / OFFERTE ---------- */
.cf-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px; align-items:start; }
.info-card{ background:linear-gradient(160deg,#14344F,#0E2740); color:var(--white); border-radius:var(--radius); padding:36px 32px; }
.info-card h3{ color:var(--white); font-size:1.3rem; }
.info-list{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:18px; }
.info-list li{ display:flex; gap:14px; align-items:flex-start; font-size:0.96rem; }
.info-list svg{ width:20px; height:20px; flex-shrink:0; margin-top:2px; stroke:var(--gold); }
.info-list a{ color:var(--white); }
.info-list a:hover{ color:var(--gold); }
.info-map{ margin-top:24px; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,0.15); }
.info-map iframe{ width:100%; height:200px; border:0; display:block; }

form{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:34px 32px; box-shadow:var(--shadow-sm); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px; }
.field input, .field select, .field textarea{
  width:100%; padding:13px 14px; border:1.5px solid var(--line); border-radius:10px;
  font-family:'Roboto', sans-serif; font-size:0.96rem; background:var(--white); color:var(--ink); transition:border-color .15s ease, box-shadow .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--blue); outline:none; box-shadow:0 0 0 3px rgba(31,92,153,0.12); }
.field textarea{ resize:vertical; min-height:120px; }
.field.checkbox{ display:flex; align-items:flex-start; gap:10px; }
.field.checkbox input{ width:auto; margin-top:3px; }
.field.checkbox label{ font-weight:400; font-size:0.85rem; margin-bottom:0; color:var(--ink-soft); }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-msg{ display:none; padding:15px 17px; border-radius:10px; font-size:0.92rem; margin-bottom:20px; }
.form-msg.show{ display:block; }
.form-msg.ok{ background:#E4F3E7; color:#245c2c; border:1px solid #b9e0c0; }
.form-msg.err{ background:#FBE9E7; color:#8a2b1e; border:1px solid #f2c4bd; }
@media (max-width:920px){ .cf-grid{ grid-template-columns:1fr; } }
@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } form{ padding:26px 20px; } }

/* ---------- CTA BAND ---------- */
.cta-band{ background:linear-gradient(135deg,var(--blue),var(--blue-dark)); color:var(--white); border-radius:var(--radius-lg); padding:56px 40px; text-align:center; margin:0 auto; }
.cta-band.full{ border-radius:0; }
.cta-band h2{ color:var(--white); }
.cta-band p{ color:var(--blue-pale); max-width:520px; margin:0 auto 26px; }
.cta-band .btn-primary{ background:var(--white); color:var(--blue-dark); box-shadow:0 10px 24px rgba(0,0,0,0.18); }
.cta-band .btn-primary:hover{ background:var(--blue-pale); }
.cta-section{ padding:0 0 84px; }


/* ---------- REFERENTIES ---------- */
.ref-project{ padding:46px 0; border-bottom:1px solid var(--line); scroll-margin-top:90px; }
.ref-project:first-child{ padding-top:0; }
.ref-project:last-child{ border-bottom:none; }
.ref-head{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.ref-head h2{ margin:0; font-size:clamp(1.4rem,2.6vw,1.8rem); }
.ref-tag{ color:var(--blue); font-weight:700; font-size:0.76rem; text-transform:uppercase; letter-spacing:0.08em; }
.ref-desc{ width:100%; margin:6px 0 0; color:var(--ink-soft); font-size:0.96rem; }
.ref-gallery{ display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:center; }
.ref-img{ position:relative; margin:0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.ref-img img{ width:100%; display:block; }
.ref-badge{ position:absolute; top:12px; left:12px; padding:5px 13px; border-radius:999px; font-size:0.72rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; }
.ref-badge.voor{ background:rgba(19,38,56,0.82); color:#fff; }
.ref-badge.na{ background:var(--gold); color:#3a2c07; }
.ref-arrow{ width:44px; height:44px; border-radius:50%; background:var(--blue); display:grid; place-items:center; flex-shrink:0; box-shadow:0 6px 16px rgba(31,92,153,0.3); }
.ref-arrow svg{ width:22px; height:22px; color:#fff; }
@media (max-width:640px){
  .ref-gallery{ grid-template-columns:1fr; }
  .ref-arrow{ transform:rotate(90deg); margin:-4px auto; }
}

/* referenties preview op home */
.ref-preview{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ref-card{ border-radius:var(--radius); overflow:hidden; background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.ref-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.ref-card .cap{ padding:16px 18px; }
.ref-card .cap b{ font-family:'Roboto', sans-serif; font-size:1.02rem; display:block; }
.ref-card .cap span{ font-size:0.8rem; color:var(--blue); text-transform:uppercase; letter-spacing:0.05em; font-weight:600; }
@media (max-width:820px){ .ref-preview{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .ref-preview{ grid-template-columns:1fr; } }


/* ref-layout varianten */
.ref-gallery.pair{ max-width:760px; margin-left:auto; margin-right:auto; align-items:start; }
.ref-gallery.pair .ref-arrow{ align-self:center; }
.ref-gallery-multi{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.ref-gallery-multi .ref-img{ aspect-ratio:4/3; }
.ref-gallery-multi .ref-img img{ width:100%; height:100%; object-fit:cover; }
.ref-single .ref-img{ max-width:1000px; margin:0 auto; }
@media (max-width:640px){ .ref-gallery-multi{ grid-template-columns:1fr; } }

/* fotogalerij grid */
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gal-item{ padding:0; border:none; background:var(--canvas-soft); border-radius:12px; overflow:hidden; cursor:pointer; aspect-ratio:4/3; box-shadow:var(--shadow-sm); }
.gal-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.gal-item:hover img{ transform:scale(1.06); }
@media (max-width:820px){ .gallery-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); gap:8px; } }

/* lightbox */
.lightbox{ position:fixed; inset:0; z-index:200; background:rgba(10,20,30,0.92); display:none; align-items:center; justify-content:center; }
.lightbox.open{ display:flex; }
.lb-figure{ margin:0; max-width:92vw; max-height:88vh; display:flex; flex-direction:column; align-items:center; gap:12px; }
.lb-figure img{ max-width:92vw; max-height:80vh; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,0.5); object-fit:contain; }
.lb-figure figcaption{ color:#e7eef5; font-size:0.9rem; letter-spacing:0.02em; }
.lb-close{ position:absolute; top:18px; right:22px; width:46px; height:46px; border-radius:50%; border:none; background:rgba(255,255,255,0.12); color:#fff; font-size:1.8rem; line-height:1; cursor:pointer; transition:background .2s ease; }
.lb-close:hover{ background:rgba(255,255,255,0.24); }
.lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:none; background:rgba(255,255,255,0.12); color:#fff; font-size:2rem; line-height:1; cursor:pointer; transition:background .2s ease; }
.lb-nav:hover{ background:rgba(255,255,255,0.24); }
.lb-prev{ left:18px; }
.lb-next{ right:18px; }
@media (max-width:560px){ .lb-nav{ width:42px; height:42px; font-size:1.5rem; } .lb-close{ top:12px; right:12px; } }

/* ---------- FOOTER ---------- */
footer{ background:#0E2740; color:#a9bccd; padding:56px 0 26px; }
.footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; margin-bottom:40px; }
footer .logo .l1{ color:var(--gold); }
footer .logo .l2{ color:#d5e3f0; }
footer h4{ color:var(--white); font-family:'Roboto', sans-serif; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.12em; margin-bottom:16px; }
footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
footer a{ color:#a9bccd; font-size:0.92rem; }
footer a:hover{ color:var(--gold); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,0.1); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.82rem; }
@media (max-width:700px){ .footer-grid{ grid-template-columns:1fr 1fr; } .footer-grid > div:first-child{ grid-column:1 / -1; } }
@media (max-width:460px){ .footer-grid{ grid-template-columns:1fr; } }
