/* =========================================================
   Reforbox — Single Page Site
   ========================================================= */

:root{
  --dark:#1b1f27;
  --dark-2:#242a35;
  --accent:#f5a623;
  --accent-dark:#d98a0d;
  --text:#4c5262;
  --text-light:#8990a0;
  --bg:#ffffff;
  --bg-tint:#f6f7f9;
  --border:#e7e8ec;
  --white:#ffffff;
  --radius:10px;
  --shadow-sm:0 4px 14px rgba(27,31,39,.06);
  --shadow-md:0 14px 34px rgba(27,31,39,.10);
  --shadow-lg:0 24px 60px rgba(27,31,39,.16);
  --ff-head:'Poppins',sans-serif;
  --ff-body:'Inter',sans-serif;
  --container:1200px;
  --header-h:84px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--ff-head);
  color:var(--dark);
  line-height:1.25;
  margin:0 0 .6em;
  font-weight:700;
}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.2rem;margin-bottom:.4em}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none;margin:0;padding:0}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea{font:inherit}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--accent);color:var(--dark);
  padding:10px 16px;z-index:1000;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0}

/* ---------- Icon system (CSS mask, currentColor) ---------- */
.ic{
  display:inline-block;
  width:1em;height:1em;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  vertical-align:-0.15em;
  flex-shrink:0;
}
.ic-mail{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22 6 12 13 2 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22 6 12 13 2 6'/%3E%3C/svg%3E")}
.ic-phone{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.964.361 1.914.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.896.339 1.846.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.964.361 1.914.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.896.339 1.846.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.ic-clock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")}
.ic-pin{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.ic-chevron{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}
.ic-arrow{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E")}
.ic-arrow-left{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E")}
.ic-arrow-up{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5 12 12 5 19 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5 12 12 5 19 12'/%3E%3C/svg%3E")}
.ic-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}
.ic-smile{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2'/%3E%3Cline x1='9' y1='9' x2='9.01' y2='9'/%3E%3Cline x1='15' y1='9' x2='15.01' y2='9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2'/%3E%3Cline x1='9' y1='9' x2='9.01' y2='9'/%3E%3Cline x1='15' y1='9' x2='15.01' y2='9'/%3E%3C/svg%3E")}
.ic-team{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E")}
.ic-award{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E")}
.ic-calendar{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E")}
.ic-comment{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E")}
.ic-quote{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4.583 17.321C3.553 16.227 3 15 3 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-3.335 1.804-3.987 4.145-4.247 5.621.537-.278 1.24-.375 1.929-.311 1.804.167 3.226 1.648 3.226 3.489a3.5 3.5 0 0 1-3.5 3.5c-1.073 0-2.099-.49-2.748-1.179zm10 0C13.553 16.227 13 15 13 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-3.335 1.804-3.987 4.145-4.247 5.621.537-.278 1.24-.375 1.929-.311 1.804.167 3.226 1.648 3.226 3.489a3.5 3.5 0 0 1-3.5 3.5c-1.073 0-2.099-.49-2.748-1.179z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4.583 17.321C3.553 16.227 3 15 3 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-3.335 1.804-3.987 4.145-4.247 5.621.537-.278 1.24-.375 1.929-.311 1.804.167 3.226 1.648 3.226 3.489a3.5 3.5 0 0 1-3.5 3.5c-1.073 0-2.099-.49-2.748-1.179zm10 0C13.553 16.227 13 15 13 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-3.335 1.804-3.987 4.145-4.247 5.621.537-.278 1.24-.375 1.929-.311 1.804.167 3.226 1.648 3.226 3.489a3.5 3.5 0 0 1-3.5 3.5c-1.073 0-2.099-.49-2.748-1.179z'/%3E%3C/svg%3E")}
.ic-helmet{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18v-2a8 8 0 0 1 16 0v2'/%3E%3Cpath d='M2 18h20'/%3E%3Cpath d='M12 4v4'/%3E%3Cpath d='M2 18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18v-2a8 8 0 0 1 16 0v2'/%3E%3Cpath d='M2 18h20'/%3E%3Cpath d='M12 4v4'/%3E%3Cpath d='M2 18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2'/%3E%3C/svg%3E")}
.ic-tools{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E")}
.ic-blueprint{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/%3E%3C/svg%3E")}
.ic-ruler{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E")}
.ic-lamp{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E")}
.ic-building{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v18'/%3E%3Cpath d='M6 12H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M18 9h2a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-2'/%3E%3Cline x1='10' y1='6' x2='14' y2='6'/%3E%3Cline x1='10' y1='10' x2='14' y2='10'/%3E%3Cline x1='10' y1='14' x2='14' y2='14'/%3E%3Cline x1='10' y1='18' x2='14' y2='18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v18'/%3E%3Cpath d='M6 12H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M18 9h2a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-2'/%3E%3Cline x1='10' y1='6' x2='14' y2='6'/%3E%3Cline x1='10' y1='10' x2='14' y2='10'/%3E%3Cline x1='10' y1='14' x2='14' y2='14'/%3E%3Cline x1='10' y1='18' x2='14' y2='18'/%3E%3C/svg%3E")}
.ic-facebook{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E")}
.ic-instagram{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E")}
.ic-linkedin{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E")}
.ic-youtube{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z'/%3E%3Cpolygon points='9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z'/%3E%3Cpolygon points='9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02'/%3E%3C/svg%3E")}
.ic-twitter{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z'/%3E%3C/svg%3E")}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:14px 30px;border-radius:6px;font-weight:600;font-size:.95rem;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
  white-space:nowrap;
}
.btn--primary{background:var(--accent);color:var(--dark)}
.btn--primary:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn--outline-light{border:2px solid rgba(255,255,255,.6);color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--dark);border-color:#fff;transform:translateY(-2px)}
.btn--ghost{border:2px solid var(--border);color:var(--dark)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateY(-2px)}
.btn--light{background:#fff;color:var(--dark)}
.btn--light:hover{background:var(--dark);color:#fff;transform:translateY(-2px)}

/* ---------- Helpers ---------- */
.eyebrow{
  display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;
  font-weight:700;color:var(--accent-dark);margin-bottom:.9em;position:relative;padding-left:34px;
}
.eyebrow::before{content:'';position:absolute;left:0;top:50%;width:24px;height:2px;background:var(--accent);transform:translateY(-50%)}
.eyebrow--light{color:var(--accent)}
.section{padding:100px 0}
.section--tint{background:var(--bg-tint)}
.section-head{max-width:640px;margin:0 auto 56px;text-align:center}
.section-head__lead{color:var(--text-light)}
.grid{display:grid;gap:30px}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* ---------- Scroll reveal ---------- */
[data-aos]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
[data-aos].in-view{opacity:1;transform:translateY(0)}

/* ---------- Topbar ---------- */
.topbar{background:var(--dark);color:#cfd3da;font-size:.85rem}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;height:44px}
.topbar__contact{display:flex;gap:26px}
.topbar__contact li{display:flex;align-items:center;gap:8px}
.topbar__contact .ic{color:var(--accent)}
.topbar__right{display:flex;align-items:center;gap:22px}
.topbar__social{display:flex;gap:14px}
.topbar__social a{color:#cfd3da;transition:color .2s}
.topbar__social a:hover{color:var(--accent)}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:500;background:rgba(27,31,39,.0);
  transition:background .35s ease,box-shadow .35s ease,padding .3s ease;
}
.site-header.is-scrolled{background:rgba(27,31,39,.96);backdrop-filter:blur(6px);box-shadow:0 6px 24px rgba(0,0,0,.18)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--ff-head);font-weight:700;font-size:1.4rem;color:#fff}
.logo__mark{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;
  background:var(--accent);color:var(--dark);font-weight:800;
}
.logo__text em{color:var(--accent);font-style:normal}

.nav__list{display:flex;gap:6px}
.nav__link{display:inline-block;padding:10px 16px;font-weight:500;color:#e7e9ee;border-radius:6px;transition:color .2s,background .2s}
.nav__link:hover,.nav__link.active{color:var(--dark);background:var(--accent)}

.lang-switch{display:flex;align-items:center;gap:6px}
.lang-switch a{color:#9aa0ab;font-weight:600;transition:color .2s}
.lang-switch a.is-active{color:var(--accent)}
.lang-switch a:hover{color:#fff}
.lang-switch span{color:#565c68}

.hamburger{display:none;flex-direction:column;gap:5px;width:34px;height:28px;padding:0}
.hamburger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  margin-top:calc(var(--header-h) * -1);color:#fff;overflow:hidden;
}
.hero__slides{position:absolute;inset:0}
.hero__slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.4s ease;transform:scale(1.06);
}
.hero__slide.is-active{opacity:1;animation:heroZoom 9s ease forwards}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,23,30,.72),rgba(20,23,30,.55) 45%,rgba(20,23,30,.86))}
.hero__content{position:relative;z-index:2;padding-top:var(--header-h);max-width:760px}
.hero__content>*{opacity:0;animation:heroFadeUp .8s ease forwards}
.hero__content>.eyebrow{animation-delay:.15s}
.hero__content>h1{animation-delay:.3s}
.hero__content>.hero__lead{animation-delay:.45s}
.hero__content>.hero__actions{animation-delay:.6s}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero h1{color:#fff;margin-bottom:.4em}
.hero h1 span{color:var(--accent)}
.hero__lead{font-size:1.1rem;color:#dfe2e8;max-width:560px;margin-bottom:2em}
.hero__actions{display:flex;gap:18px;flex-wrap:wrap}

.hero__dots{position:absolute;right:40px;bottom:50%;transform:translateY(50%);display:flex;flex-direction:column;gap:12px;z-index:3}
.hero__dots button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);transition:background .3s,transform .3s}
.hero__dots button.is-active{background:var(--accent);transform:scale(1.3)}

.scroll-cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:3;width:26px;height:42px;border:2px solid rgba(255,255,255,.6);border-radius:20px;display:flex;justify-content:center;padding-top:8px}
.scroll-cue span{width:4px;height:8px;border-radius:2px;background:#fff;animation:scrollCue 1.8s infinite}
@keyframes scrollCue{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(14px)}}

/* ---------- Info strip ---------- */
.info-strip{background:var(--dark-2);color:#fff;padding:34px 0;margin-top:-1px}
.info-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.info-card{display:flex;align-items:center;gap:14px}
.info-card .ic{width:1.6em;height:1.6em;color:var(--accent)}
.info-card span{display:block;font-size:.78rem;color:#a7acb6;text-transform:uppercase;letter-spacing:.06em}
.info-card strong{font-family:var(--ff-head);font-weight:600;font-size:1rem}

/* ---------- About ---------- */
.about__grid{display:grid;grid-template-columns:.85fr 1fr;gap:70px;align-items:center}
.about__media{position:relative}
.about__media img{border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.about__badge{
  position:absolute;left:-24px;bottom:-24px;background:var(--dark);color:#fff;
  padding:20px 24px;border-radius:var(--radius);box-shadow:var(--shadow-md);text-align:center;
}
.about__badge strong{display:block;font-family:var(--ff-head);font-size:2.1rem;color:var(--accent);line-height:1}
.about__badge span{display:block;font-size:.75rem;color:#c9cdd5;margin-top:4px;white-space:nowrap}
.check-list{margin:22px 0}
.check-list li{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-weight:500;color:var(--dark)}
.check-list .ic,.check-list li::before{content:'';display:inline-flex;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--accent);position:relative}
.check-list li{position:relative;padding-left:32px}
.check-list li::before{
  position:absolute;left:0;top:2px;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:52%;mask-size:52%;
  background-color:var(--dark);
}
.about__actions{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap}

/* ---------- Why choose ---------- */
.why__grid{display:grid;grid-template-columns:.85fr 1fr;gap:70px;align-items:center}
.why__media img{border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.why__lead{margin-bottom:28px}
.accordion__item{border-bottom:1px solid var(--border)}
.accordion__trigger{
  width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:20px 0;
  font-family:var(--ff-head);font-weight:600;color:var(--dark);font-size:1.02rem;
}
.accordion__trigger span{color:var(--accent-dark);font-weight:700}
.accordion__trigger .ic-chevron{margin-left:auto;color:var(--text-light);transition:transform .3s}
.accordion__item.is-open .accordion__trigger .ic-chevron{transform:rotate(180deg);color:var(--accent-dark)}
.accordion__panel{max-height:0;overflow:hidden;transition:max-height .35s ease}
.accordion__item.is-open .accordion__panel{max-height:200px}
.accordion__panel p{padding-bottom:20px;margin:0;color:var(--text-light)}

/* ---------- Services ---------- */
.service-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.service-card__media{height:210px;overflow:hidden}
.service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.service-card:hover .service-card__media img{transform:scale(1.08)}
.service-card__body{padding:28px}
.service-card__body .ic{width:1.8em;height:1.8em;color:var(--accent);margin-bottom:14px}
.service-card__body p{color:var(--text-light);font-size:.95rem}
.service-card__link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--dark)}
.service-card__link .ic{width:.9em;height:.9em;transition:transform .25s}
.service-card__link:hover{color:var(--accent-dark)}
.service-card__link:hover .ic{transform:translateX(4px)}

/* ---------- Stats ---------- */
.stats{background:linear-gradient(rgba(20,23,30,.86),rgba(20,23,30,.86)),url('../img/hero-3.jpg') center/cover fixed;color:#fff;padding:70px 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.stat .ic{width:2.2em;height:2.2em;color:var(--accent);margin-bottom:14px}
.stat__num{display:block;font-family:var(--ff-head);font-size:2.6rem;font-weight:800}
.stat span{color:#c9cdd5;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}

/* ---------- Gallery ---------- */
.filter-bar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:44px}
.filter-btn{padding:9px 20px;border-radius:30px;border:1px solid var(--border);font-weight:600;font-size:.85rem;color:var(--text);transition:.25s}
.filter-btn:hover{border-color:var(--accent)}
.filter-btn.is-active{background:var(--dark);border-color:var(--dark);color:#fff}
.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.gallery__item{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;aspect-ratio:1/1;transition:opacity .3s,transform .3s}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery__item:hover img{transform:scale(1.1)}
.gallery__item figcaption{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;
  background:linear-gradient(180deg,transparent 40%,rgba(15,17,22,.88));
  opacity:0;transition:opacity .35s;color:#fff;
}
.gallery__item:hover figcaption{opacity:1}
.gallery__item figcaption span{color:var(--accent);text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;font-weight:700}
.gallery__item figcaption strong{font-family:var(--ff-head);font-size:1.05rem}
.gallery__item.is-hidden{display:none}

/* ---------- CTA banner ---------- */
.cta-banner{background:var(--accent);padding:60px 0}
.cta-banner__inner{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta-banner h2{color:var(--dark);margin:0}
.cta-banner .eyebrow{color:rgba(27,31,39,.65)}
.cta-banner .eyebrow::before{background:var(--dark)}

/* ---------- Testimonials ---------- */
.testi-slider{max-width:760px;margin:0 auto;text-align:center}
.testi-track{position:relative;min-height:230px}
.testi-card{
  position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s ease;transform:translateY(10px);
}
.testi-card.is-active{opacity:1;pointer-events:auto;position:relative;transform:translateY(0)}
.testi-card .ic-quote{width:2.4em;height:2.4em;color:var(--accent);margin-bottom:16px}
.testi-card p{font-size:1.15rem;color:var(--dark);font-family:var(--ff-head);font-weight:500;line-height:1.6}
.testi-card__person{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}
.testi-card__person img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}
.testi-card__person strong{display:block;font-family:var(--ff-head)}
.testi-card__person span{font-size:.85rem;color:var(--text-light)}
.testi-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px}
.testi-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:.25s}
.testi-nav button:hover{background:var(--accent);border-color:var(--accent)}
.testi-dots{display:flex;gap:8px}
.testi-dots button{width:8px;height:8px;border-radius:50%;background:var(--border);border:none}
.testi-dots button.is-active{background:var(--accent);width:22px;border-radius:5px}

/* ---------- Team ---------- */
.team-card{text-align:center}
.team-card__media{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:18px;aspect-ratio:1/1.05}
.team-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.team-card:hover .team-card__media img{transform:scale(1.08)}
.team-card__social{
  position:absolute;left:0;right:0;bottom:-50px;display:flex;justify-content:center;gap:10px;
  padding:16px 0;background:rgba(20,23,30,.55);transition:bottom .3s ease;
}
.team-card:hover .team-card__social{bottom:0}
.team-card__social a{
  width:34px;height:34px;border-radius:50%;background:#fff;color:var(--dark);display:flex;align-items:center;justify-content:center;transition:.25s;
}
.team-card__social a:hover{background:var(--accent)}
.team-card__social .ic{width:1em;height:1em}
.team-card h3{margin-bottom:.15em}
.team-card span{color:var(--accent-dark);font-weight:600;font-size:.9rem}

/* ---------- Blog ---------- */
.blog-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.blog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.blog-card__media{display:block;height:210px;overflow:hidden}
.blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog-card:hover .blog-card__media img{transform:scale(1.08)}
.blog-card__body{padding:26px}
.blog-card__meta{display:flex;gap:18px;margin-bottom:12px}
.blog-card__meta li{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-light)}
.blog-card__meta .ic{color:var(--accent)}
.blog-card h3{font-size:1.1rem}
.blog-card h3 a:hover{color:var(--accent-dark)}
.blog-card p{color:var(--text-light);font-size:.95rem}
.blog-card__link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--dark)}
.blog-card__link .ic{width:.9em;height:.9em;transition:transform .25s}
.blog-card__link:hover{color:var(--accent-dark)}
.blog-card__link:hover .ic{transform:translateX(4px)}

/* ---------- Contact ---------- */
.contact__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.contact__list{margin-top:30px}
.contact__list li{display:flex;gap:16px;margin-bottom:22px}
.contact__list .ic{width:1.3em;height:1.3em;color:var(--accent);flex-shrink:0;margin-top:2px}
.contact__list strong{display:block;font-family:var(--ff-head);font-size:.95rem}
.contact__list span{color:var(--text-light);font-size:.92rem}
.contact__list .phone-note{display:block;margin-top:4px;font-size:.78rem;color:var(--text-light);font-style:italic}

.contact__form{background:#fff;border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-md)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{margin-bottom:20px}
.form-field label{display:block;font-weight:600;font-size:.85rem;margin-bottom:8px;color:var(--dark)}
.form-field input,.form-field textarea{
  width:100%;padding:13px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg-tint);
  transition:border-color .2s,background .2s;resize:vertical;
}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);background:#fff}
.form-status{margin-top:14px;font-size:.9rem;font-weight:600;color:var(--accent-dark);min-height:1.4em}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark);color:#c9cdd5}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:44px;padding:80px 0 50px}
.footer__col h4{color:#fff;margin-bottom:20px;font-size:1.05rem}
.logo--footer{margin-bottom:18px}
.footer__col--brand p{font-size:.92rem;line-height:1.8}
.footer__social{display:flex;gap:10px;margin-top:20px}
.footer__social a{width:38px;height:38px;border-radius:50%;background:var(--dark-2);display:flex;align-items:center;justify-content:center;transition:.25s}
.footer__social a:hover{background:var(--accent);color:var(--dark)}
.footer__links li{margin-bottom:12px}
.footer__links a{transition:color .2s;font-size:.93rem}
.footer__links a:hover{color:var(--accent)}
.newsletter-form{display:flex;margin-top:18px;background:var(--dark-2);border-radius:6px;overflow:hidden}
.newsletter-form input{flex:1;background:transparent;border:none;padding:13px 16px;color:#fff}
.newsletter-form input::placeholder{color:#8990a0}
.newsletter-form input:focus{outline:none}
.newsletter-form button{width:48px;background:var(--accent);color:var(--dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.newsletter-form button:hover{background:var(--accent-dark)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0}
.footer__bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85rem;color:#8990a0}

/* ---------- Back to top ---------- */
.back-to-top{
  position:fixed;right:26px;bottom:26px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--dark);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s,transform .3s,visibility .3s;z-index:400;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--accent-dark)}

/* ---------- Lightbox ---------- */
.lightbox{
  position:fixed;inset:0;background:rgba(10,11,15,.94);display:flex;align-items:center;justify-content:center;
  z-index:900;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding:40px;
}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox img{max-width:min(900px,100%);max-height:85vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox__close{position:absolute;top:24px;right:30px;font-size:2.2rem;color:#fff;line-height:1;width:44px;height:44px}
.lightbox__prev,.lightbox__next{
  position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;transition:.25s;
}
.lightbox__prev:hover,.lightbox__next:hover{background:var(--accent);color:var(--dark)}
.lightbox__prev{left:24px}
.lightbox__next{right:24px}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .gallery__grid{grid-template-columns:repeat(3,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:980px){
  :root{--header-h:72px}
  .topbar__contact .topbar__hours{display:none}
  .nav{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:var(--dark);
    transform:translateX(-100%);transition:transform .35s ease;overflow-y:auto;padding:20px 0;z-index:400}
  .nav.is-open{transform:translateX(0)}
  .nav__list{flex-direction:column;gap:2px;padding:0 24px}
  .nav__link{display:block;padding:14px 10px;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0}
  .hamburger{display:flex}
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .about__grid,.why__grid,.contact__grid{grid-template-columns:1fr;gap:50px}
  .about__media img{width:100%}
  .why__media{order:2}
  .stats__grid{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .info-strip__grid{grid-template-columns:repeat(2,1fr);row-gap:24px}
}

@media (max-width:720px){
  .section{padding:70px 0}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;padding:60px 0 30px}
  .cta-banner__inner{flex-direction:column;text-align:center}
  .about__badge{position:static;margin-top:20px;display:inline-flex;align-items:center;gap:14px;text-align:left}
  .topbar__inner{flex-direction:column;height:auto;padding:10px 0;gap:8px}
  .topbar__contact{flex-wrap:wrap;justify-content:center;gap:14px}
  .topbar__right{justify-content:center}
  .lightbox__prev,.lightbox__next{width:42px;height:42px;font-size:1.5rem}
}

@media (max-width:480px){
  .gallery__grid{grid-template-columns:1fr}
  .info-strip__grid{grid-template-columns:1fr}
  .stats__grid{grid-template-columns:1fr}
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__dots{right:16px}
}
