/* ======================== RESET & BASE ======================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;color:#333;background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}

/* ======================== CSS VARIABLES ======================== */
:root{
  --accent:#c0392b;
  --accent2:#e8820c;
  --dark:#111;
  --darker:#0d0d0d;
  --grey:#f5f5f5;
  --text:#555;
  --border:#e0e0e0;
  --white:#fff;
}

/* ======================== TOPBAR ======================== */
.topbar{
  background:#1a1a1a;
  padding:9px 0;
  font-size:13px;
  color:#aaa;
  position:relative;
  z-index:200;
}
.topbar .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:6px;
}
.topbar-left{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topbar-left a{color:#aaa;transition:color .2s}
.topbar-left a:hover{color:var(--accent)}
.topbar-left span{color:var(--accent);font-weight:700}
.topbar-left .tb-sep{color:#333;font-size:10px}
.topbar-right{display:flex;align-items:center;gap:16px}
.topbar-socials{display:flex;gap:6px}
.topbar-socials a{
  width:26px;height:26px;border-radius:4px;
  background:#2a2a2a;color:#aaa;font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;letter-spacing:0;
}
.topbar-socials a:hover{background:var(--accent);color:#fff}

/* ======================== HEADER ======================== */
.header{
  background:#fff;
  padding:16px 0;
  border-bottom:1px solid #f0f0f0;
  box-shadow:0 2px 20px rgba(0,0,0,.05);
  position:relative;
  z-index:100;
}
.header .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
}
.logo{
  display:flex;align-items:center;gap:11px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:28px;font-weight:800;color:#111;letter-spacing:.5px;
  transition:opacity .2s;
}
.logo:hover{opacity:.85}
.logo-mark{
  width:46px;height:46px;background:var(--accent);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:22px;font-weight:900;
  box-shadow:0 4px 16px rgba(192,57,43,.4);
  flex-shrink:0;
}
.logo span{color:var(--accent)}
.header-contacts{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hc-item{display:flex;align-items:center;gap:12px}
.hc-icon{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,#fff5f5,#ffe8e8);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:var(--accent);flex-shrink:0;
  border:1px solid rgba(192,57,43,.1);
}
.hc-text small{color:#aaa;font-size:10px;display:block;margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}
.hc-text strong{font-size:13px;color:#111;font-weight:700}
.hc-divider{width:1px;height:38px;background:#ebebeb}

/* ======================== NAVBAR ======================== */
.navbar{
  background:#111;
  position:sticky;top:0;z-index:1000;
  transition:background .3s, box-shadow .3s;
}
.navbar.scrolled{
  background:#fff;
  box-shadow:0 4px 30px rgba(0,0,0,.15);
}
.navbar .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:flex;align-items:center;
}

/* Nav logo — toujours visible dans la navbar sticky */
.nav-logo{
  display:flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:21px;font-weight:800;color:#fff;letter-spacing:.5px;
  margin-right:28px;flex-shrink:0;
  text-decoration:none;
}
.nav-logo .nm{
  width:34px;height:34px;background:var(--accent);
  border-radius:6px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:16px;font-weight:900;flex-shrink:0;
  box-shadow:0 3px 12px rgba(192,57,43,.4);
}
.nav-logo span{color:var(--accent)}

.nav-list{display:flex;align-items:stretch;flex:1;justify-content:flex-end}
.nav-list>li{position:relative}
.nav-list>li>a{
  display:flex;align-items:center;gap:5px;
  color:#bbb;padding:18px 15px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:15px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  transition:color .2s;
  border-bottom:3px solid transparent;
  white-space:nowrap;
}
.nav-list>li>a:hover,.nav-list>li.active>a{
  color:#fff;border-bottom-color:var(--accent);
}
/* White navbar when scrolled */
.navbar.scrolled .nav-list>li>a{color:#333}
.navbar.scrolled .nav-list>li>a:hover,
.navbar.scrolled .nav-list>li.active>a{color:var(--accent);border-bottom-color:var(--accent)}
.navbar.scrolled .nav-cta{background:var(--accent);color:#fff!important}
.navbar.scrolled .hamburger span{background:#333}
.nav-list>li>a .arr{font-size:10px;opacity:.5;transition:transform .25s;margin-left:2px}
.nav-list>li:hover>a .arr{transform:rotate(180deg)}

/* Dropdown */
.dropdown{
  position:absolute;top:100%;left:0;min-width:240px;
  background:#fff;border-top:3px solid var(--accent);
  box-shadow:0 16px 50px rgba(0,0,0,.15);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .25s;z-index:999;
}
.nav-list>li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown li a{
  display:flex;align-items:center;gap:10px;
  padding:12px 22px;color:#444;font-size:13px;font-weight:500;
  border-bottom:1px solid #f5f5f5;transition:all .2s;
}
.dropdown li:last-child a{border-bottom:none}
.dropdown li a:hover{background:#fff5f5;color:var(--accent);padding-left:30px}

.nav-spacer{flex:1}
.nav-cta{
  background:var(--accent);color:#fff !important;
  padding:18px 28px !important;font-weight:700 !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:14px !important;display:flex !important;align-items:center;gap:8px;
  border-bottom:none !important;letter-spacing:.5px;
  transition:background .2s !important;white-space:nowrap;
  border-bottom:none !important;
}
.nav-cta:hover{background:#a93226 !important;color:#fff !important}

/* Hamburger */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;margin-left:auto}
.hamburger span{display:block;width:24px;height:2px;background:#fff;transition:all .3s;border-radius:2px}

/* ======================== HERO SLIDER ======================== */
.hero{
  position:relative;
  height:680px;
  overflow:hidden;
  background:#0d0d0d;
}
.slide{
  position:absolute;inset:0;opacity:0;
  transition:opacity 1s ease;
}
.slide.active{opacity:1}
.slide-bg{
  position:absolute;inset:0;width:100%;height:100%;
  background-size:cover;background-position:center;
  transition:transform 7s ease;
}
.slide.active .slide-bg{transform:scale(1.05)}

/* Split layout: dark left + image right */
.slide-left-panel{
  position:absolute;left:0;top:0;bottom:0;width:52%;
  background:linear-gradient(110deg,#0d0d0d 60%,transparent 100%);
  z-index:2;
}
.slide-right-img{
  position:absolute;right:0;top:0;width:60%;height:100%;
  background-size:cover;background-position:center;
  transition:transform 7s ease;
}
.slide.active .slide-right-img{transform:scale(1.04)}
.slide-right-overlay{
  position:absolute;inset:0;
  background:linear-gradient(100deg,#0d0d0d 20%,rgba(13,13,13,.6) 50%,rgba(13,13,13,.1) 100%);
}

.slide-body{
  position:absolute;inset:0;
  display:flex;align-items:center;
  padding:0 80px;
  z-index:5;
}
.slide-text{max-width:580px}

.slide-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--accent);font-size:12px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;
  opacity:0;transform:translateY(20px);
  transition:opacity .7s .1s ease,transform .7s .1s ease;
}
.slide-eyebrow::before{content:'';display:block;width:40px;height:2px;background:var(--accent)}
.slide.active .slide-eyebrow{opacity:1;transform:translateY(0)}

.slide-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:66px;font-weight:800;color:#fff;
  line-height:1.03;margin-bottom:22px;
  opacity:0;transform:translateY(30px);
  transition:opacity .75s .3s ease,transform .75s .3s ease;
}
.slide.active .slide-title{opacity:1;transform:translateY(0)}
.slide-title em{color:var(--accent);font-style:normal}

.slide-subtitle{
  color:rgba(255,255,255,.72);font-size:16px;line-height:1.75;
  margin-bottom:38px;max-width:480px;
  opacity:0;transform:translateY(20px);
  transition:opacity .7s .5s ease,transform .7s .5s ease;
}
.slide.active .slide-subtitle{opacity:1;transform:translateY(0)}

.slide-btns{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  opacity:0;transform:translateY(20px);
  transition:opacity .7s .65s ease,transform .7s .65s ease;
}
.slide.active .slide-btns{opacity:1;transform:translateY(0)}

.btn-fill{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent);color:#fff;
  padding:15px 36px;
  font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;
  transition:all .25s;
}
.btn-fill:hover{background:#a93226;transform:translateX(3px)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid rgba(255,255,255,.45);color:#fff;
  padding:13px 30px;
  font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;
  transition:all .25s;
}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* Slide number indicator */
.slide-counter{
  position:absolute;bottom:34px;right:80px;z-index:20;
  display:flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;font-size:13px;color:rgba(255,255,255,.4);
}
.slide-counter .cur{font-size:32px;color:#fff;font-weight:700;line-height:1}
.slide-counter .total{margin-top:4px}

/* Slider nav arrows */
.slider-prev,.slider-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;
  border:2px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(4px);
  color:#fff;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .25s;z-index:20;
  border-radius:4px;
}
.slider-prev:hover,.slider-next:hover{background:var(--accent);border-color:var(--accent)}
.slider-prev{left:28px}
.slider-next{right:28px}

/* Progress bar dots */
.slider-dots{
  position:absolute;bottom:34px;left:80px;z-index:20;
  display:flex;gap:10px;align-items:center;
}
.sdot{
  height:3px;border-radius:2px;
  background:rgba(255,255,255,.3);border:none;cursor:pointer;
  transition:all .4s;width:24px;
}
.sdot.active{background:var(--accent);width:48px}

/* Vertical line accent */
.hero-vline{
  position:absolute;left:80px;top:0;bottom:0;
  width:2px;background:rgba(255,255,255,.05);z-index:4;pointer-events:none;
}

/* ======================== SERVICES CAROUSEL ======================== */
.services-carousel-wrap{
  background:#f3f3f3;padding:75px 0 50px;
  position:relative;
}
.services-carousel-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}
.services-carousel-wrap .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
}
.sc-header{text-align:center;margin-bottom:52px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--accent);font-size:12px;font-weight:700;
  letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px;
}
.eyebrow::before{content:'';display:block;width:30px;height:2px;background:var(--accent)}
.section-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:42px;font-weight:800;color:#111;line-height:1.15;
}
.section-title span{color:var(--accent)}
.title-line{width:54px;height:3px;background:var(--accent);margin:14px auto 0}

.sc-outer{position:relative;overflow:hidden;padding:10px 0 30px}
.sc-track{display:flex;gap:0;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.sc-slide{min-width:calc(33.333% - 1px);padding:0 12px}

/* ===== CARTE SERVICE — EFFET RIDEAU CONSULTIO ===== */
.service-card{
  background:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
  box-shadow:0 2px 20px rgba(0,0,0,.06);
  transition:box-shadow .35s, transform .35s;
  height:100%;
  cursor:pointer;
  border:none;
}
.service-card:hover{
  box-shadow:0 14px 50px rgba(0,0,0,.18);
  transform:translateY(-4px);
}

/* ---- IMAGE RIDEAU : descend depuis le haut ---- */
/* 
  Au repos  : translateY(-100%) → image hors-écran EN HAUT
  Au hover  : translateY(0)     → image couvre toute la carte
  Effet     : rideau qui tombe du haut vers le bas
*/
.service-card-img{
  position:absolute;
  top:0; left:0; right:0;
  height:100%;
  background-size:cover;
  background-position:center top;
  z-index:1;
  transform:translateY(-100%);
  transition:transform .65s cubic-bezier(.77,0,.18,1);
}
/* Overlay sombre sur l'image pour lisibilité du texte */
.service-card-img::after{
  content:'';
  position:absolute;inset:0;
  background:rgba(10,10,10,.72);
}
/* Hover : le rideau descend */
.service-card:hover .service-card-img{
  transform:translateY(0);
}

/* ---- CONTENU de la carte (au-dessus du rideau) ---- */
.service-card-content{
  position:relative;
  z-index:2;
  padding:44px 32px 40px;
  transition:all .35s;
}

/* État hover : l'icône sort vers le haut, le "+" apparaît */
.sc-icon-wrap{
  width:90px;height:90px;margin:0 auto 24px;
  position:relative;display:flex;align-items:center;justify-content:center;
  transition:transform .4s ease, opacity .4s ease;
}
/* Au hover l'icône glisse vers le haut et disparaît */
.service-card:hover .sc-icon-wrap{
  transform:translateY(-30px);
  opacity:0;
}
.sc-icon-main{font-size:50px;position:relative;z-index:2}
.sc-icon-bg{
  position:absolute;bottom:-10px;right:-10px;
  font-size:82px;opacity:.06;color:var(--accent);
  z-index:1;line-height:1;
}

/* Bouton "+" circulaire blanc — apparaît au hover à la place de l'icône */
.sc-plus-btn{
  position:absolute;
  top:44px;
  left:50%;transform:translateX(-50%) scale(0);
  width:50px;height:50px;
  border-radius:50%;
  background:#fff;
  color:#111;font-size:22px;font-weight:300;
  display:flex;align-items:center;justify-content:center;
  z-index:3;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1) .1s, opacity .3s .1s;
  opacity:0;
  box-shadow:0 4px 20px rgba(0,0,0,.2);
  text-decoration:none;
}
.service-card:hover .sc-plus-btn{
  transform:translateX(-50%) scale(1);
  opacity:1;
}
.sc-plus-btn:hover{
  background:var(--accent);color:#fff;
}

.service-card h3{
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px;font-weight:700;color:#111;
  margin-bottom:10px;
  transition:color .35s;
}
.service-card:hover h3{color:#fff}

.sc-line{
  width:40px;height:2px;background:var(--accent);
  margin:0 auto 14px;
  transition:width .4s ease;
}
.service-card:hover .sc-line{width:54px}

.service-card p{
  color:#888;font-size:14px;line-height:1.75;
  transition:color .35s;
}
.service-card:hover p{color:rgba(255,255,255,.80)}

/* Bouton "voir" — monte depuis le bas au hover */
.sc-hover-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent);color:#fff;
  padding:10px 22px;
  font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;
  margin-top:18px;
  opacity:0;transform:translateY(14px);
  transition:opacity .35s .25s ease, transform .35s .25s ease;
}
.service-card:hover .sc-hover-btn{
  opacity:1;transform:translateY(0);
}
.sc-hover-btn:hover{background:#a93226 !important}

.sc-arrows{display:flex;gap:10px;justify-content:center;margin-top:20px}
.sc-btn{
  width:42px;height:42px;border-radius:50%;
  border:2px solid #ccc;background:#fff;
  color:#444;font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;
}
.sc-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.sc-link{text-align:center;margin-top:28px;font-size:14px;color:#999}
.sc-link a{color:var(--accent);font-weight:700}
.sc-link a:hover{text-decoration:underline}

/* ======================== ABOUT ======================== */
.about-section{padding:90px 0;background:#fff}
.about-section .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
}
.about-img-col{position:relative}
.about-main-placeholder{
  width:100%;height:460px;
  background:linear-gradient(135deg,#1a1a2e,#0d0d1a);
  display:flex;align-items:center;justify-content:center;font-size:90px;
  position:relative;overflow:hidden;
}
.about-main-placeholder::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(192,57,43,.08),transparent);
}
.about-badge-circle{
  position:absolute;bottom:-20px;right:-20px;
  width:116px;height:116px;border-radius:50%;
  background:var(--accent);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;text-align:center;
  border:5px solid #fff;
  box-shadow:0 10px 40px rgba(192,57,43,.4);
}
.about-badge-circle strong{font-size:30px;font-weight:900;font-family:'Barlow Condensed',sans-serif;line-height:1}
.about-badge-circle span{font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.5px}
.about-text-col{}
.about-h2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:40px;font-weight:800;color:#111;line-height:1.15;margin-bottom:16px;
}
.about-h2 span{color:var(--accent)}
.about-lead{color:#666;font-size:15px;line-height:1.8;margin-bottom:28px}
.about-features{display:flex;flex-direction:column;gap:22px;margin-bottom:34px}
.af-item{display:flex;gap:16px;align-items:flex-start}
.af-icon{
  width:50px;height:50px;background:#fff5f5;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:22px;
  flex-shrink:0;border:1px solid rgba(192,57,43,.1);
  box-shadow:0 2px 10px rgba(192,57,43,.08);
}
.af-text h4{color:#111;font-size:15px;font-weight:700;margin-bottom:4px}
.af-text p{color:#888;font-size:13px;line-height:1.7}

/* ======================== MISSION (DARK) ======================== */
.mission-section{background:#111;padding:90px 0}
.mission-section .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
}
.mission-line{
  width:50px;height:3px;background:var(--accent);margin-bottom:22px;
}
.mission-h2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:40px;font-weight:800;color:#fff;line-height:1.15;margin-bottom:18px;
}
.mission-h2 span{color:var(--accent)}
.mission-p{color:#888;font-size:15px;line-height:1.8;margin-bottom:30px}
.mission-points{display:flex;flex-direction:column;gap:20px;margin-bottom:36px}
.mp-item{display:flex;gap:14px;align-items:flex-start}
.mp-arr{
  color:var(--accent);font-size:18px;font-weight:900;flex-shrink:0;margin-top:2px;
}
.mp-text h4{color:#ddd;font-size:15px;font-weight:700;margin-bottom:4px}
.mp-text p{color:#777;font-size:13px;line-height:1.6}
.mission-right{position:relative}
.mission-img-placeholder{
  width:100%;height:440px;
  background:linear-gradient(135deg,#1a1a2e,#16213e);
  display:flex;align-items:center;justify-content:center;font-size:90px;
  position:relative;overflow:hidden;
}
.mission-img-placeholder::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(192,57,43,.1),transparent);
}
.award-badge{
  position:absolute;bottom:28px;left:-28px;
  width:118px;height:118px;border-radius:50%;
  background:var(--accent);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;text-align:center;
  border:4px solid #111;
  animation:spin-badge 24s linear infinite;
}
@keyframes spin-badge{to{transform:rotate(360deg)}}
.award-badge-inner{z-index:2;text-align:center}
.award-badge-inner strong{font-size:26px;font-weight:800;line-height:1;display:block;font-family:'Barlow Condensed',sans-serif}
.award-badge-inner span{font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.5px}

/* ======================== SKILLS / STATS ======================== */
.skills-section{padding:90px 0;background:#f8f8f8}
.skills-section .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
}
.skills-text .eyebrow{justify-content:flex-start}
.skills-h2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:38px;font-weight:800;color:#111;line-height:1.2;margin-bottom:16px;
}
.skills-h2 span{color:var(--accent)}
.skills-p{color:#888;font-size:14px;line-height:1.8;margin-bottom:30px}
.circles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.circle-item{text-align:center}
.circle-wrap{position:relative;width:120px;height:120px;margin:0 auto 14px}
.circle-svg{width:120px;height:120px;transform:rotate(-90deg)}
.circle-bg{fill:none;stroke:#e8e8e8;stroke-width:8}
.circle-fg{
  fill:none;stroke:var(--accent);stroke-width:8;
  stroke-linecap:round;
  stroke-dasharray:283;stroke-dashoffset:283;
  transition:stroke-dashoffset 1.6s ease;
}
.circle-label{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px;font-weight:800;color:#111;
}
.circle-item p{font-size:13px;font-weight:600;color:#777}
.stats-side{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.stat-card{
  background:#fff;padding:32px 20px;text-align:center;
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  border-bottom:3px solid transparent;transition:all .3s;
  position:relative;overflow:hidden;
}
.stat-card::before{
  content:'';position:absolute;top:0;left:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transform:scaleX(0);transform-origin:left;transition:transform .4s ease;
}
.stat-card:hover::before{transform:scaleX(1)}
.stat-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.1)}
.stat-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:54px;font-weight:800;color:var(--accent);line-height:1;
}
.stat-label{font-size:13px;color:#999;margin-top:8px;font-weight:500}

/* ======================== PROJECTS ======================== */
.projects-section{padding:90px 0}
.projects-section .inner{max-width:1260px;margin:0 auto;padding:0 30px}
.projects-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;
}
.proj-card{
  position:relative;overflow:hidden;height:290px;cursor:pointer;
}
.proj-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;
  transition:transform .5s;
}
.proj-card:hover .proj-placeholder{transform:scale(1.06)}
.proj-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,10,10,.92) 0%,rgba(10,10,10,.2) 60%,transparent 100%);
  opacity:0;transition:opacity .3s;
  display:flex;flex-direction:column;justify-content:flex-end;padding:24px;
}
.proj-card:hover .proj-overlay{opacity:1}
.proj-cat{
  position:absolute;top:16px;left:16px;
  background:var(--accent);color:#fff;
  font-size:11px;font-weight:700;padding:5px 12px;letter-spacing:1px;text-transform:uppercase;
}
.proj-overlay h4{
  font-family:'Barlow Condensed',sans-serif;
  color:#fff;font-size:19px;margin-bottom:5px;
}
.proj-overlay span{color:var(--accent);font-size:13px}
.center-btn{text-align:center;margin-top:44px}

/* ======================== DARK CALLOUT ======================== */
.callout-section{
  background:#111;padding:90px 0;
  position:relative;overflow:hidden;
}
.callout-section::before{
  content:'';position:absolute;left:-100px;top:-100px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(192,57,43,.08) 0%,transparent 70%);
}
.callout-section::after{
  content:'';position:absolute;right:-60px;bottom:-60px;
  width:350px;height:350px;border-radius:50%;
  background:radial-gradient(circle,rgba(192,57,43,.12) 0%,transparent 70%);
}
.callout-section .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
  position:relative;z-index:2;
}
.callout-text h2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:44px;font-weight:800;color:#fff;line-height:1.1;
}
.callout-text h2 span{color:var(--accent)}
.callout-right p{color:#888;font-size:15px;line-height:1.8;margin-bottom:28px}

/* ======================== TEAM ======================== */
.team-section{padding:90px 0;background:#f8f8f8}
.team-section .inner{max-width:1260px;margin:0 auto;padding:0 30px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:52px}
.team-card{overflow:hidden;background:#fff;transition:all .3s;border-bottom:3px solid transparent}
.team-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,.1);border-bottom-color:var(--accent)}
.team-img{height:260px;overflow:hidden;position:relative}
.team-img-ph{
  width:100%;height:100%;
  background:linear-gradient(135deg,#1a1a2e,#16213e);
  display:flex;align-items:center;justify-content:center;
  font-size:64px;color:var(--accent);
  transition:transform .5s;
}
.team-card:hover .team-img-ph{transform:scale(1.05)}
.team-body{padding:18px 20px}
.team-body h4{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:700;color:#111;margin-bottom:3px}
.team-body p{font-size:13px;color:var(--accent);font-weight:600}

/* ======================== TESTIMONIALS ======================== */
.testi-section{background:#111;padding:90px 0}
.testi-section .inner{max-width:1260px;margin:0 auto;padding:0 30px}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.testi-card{
  background:#1a1a1a;padding:38px 30px;position:relative;
  border-top:3px solid transparent;transition:border-color .3s;
}
.testi-card:hover{border-top-color:var(--accent)}
.testi-card::before{
  content:'"';position:absolute;top:12px;right:24px;
  font-size:80px;color:var(--accent);opacity:.15;
  font-family:Georgia,serif;line-height:1;
}
.testi-stars{color:var(--accent);font-size:15px;margin-bottom:18px;letter-spacing:2px}
.testi-text{color:#888;font-size:14px;line-height:1.85;margin-bottom:26px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-av{
  width:46px;height:46px;border-radius:50%;
  background:var(--accent);display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;flex-shrink:0;
}
.testi-name{color:#ddd;font-weight:700;font-size:14px}
.testi-role{color:#555;font-size:12px}

/* ======================== GALLERY ======================== */
.gallery-section{padding:90px 0}
.gallery-section .inner{max-width:1260px;margin:0 auto;padding:0 30px}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:220px 220px;
  gap:14px;margin-top:52px;
}
.gal-item{overflow:hidden;position:relative;cursor:pointer}
.gal-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.gal-item-ph{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:50px;transition:transform .5s;
}
.gal-item:hover .gal-item-ph{transform:scale(1.07)}
.gal-overlay{
  position:absolute;inset:0;
  background:rgba(192,57,43,.75);
  display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;
  opacity:0;transition:opacity .3s;
}
.gal-item:hover .gal-overlay{opacity:1}

/* ======================== AWARDS ======================== */
.awards-section{background:#111;padding:80px 0}
.awards-section .inner{
  max-width:1260px;margin:0 auto;padding:0 30px;
  display:grid;grid-template-columns:220px 1fr 240px;gap:50px;align-items:center;
}
.awards-text{text-align:center}
.awards-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:90px;font-weight:900;color:var(--accent);line-height:1;
}
.awards-text p{color:#666;font-size:14px;max-width:160px;margin:8px auto 0;line-height:1.6}
.awards-list{display:flex;flex-direction:column;gap:16px}
.award-item{
  display:flex;align-items:center;gap:16px;
  padding:16px 20px;background:#1a1a1a;
  border-left:3px solid var(--accent);
  transition:background .2s;
}
.award-item:hover{background:#222}
.award-item-icon{font-size:24px;flex-shrink:0}
.award-item-text h5{color:#ddd;font-size:14px;font-weight:700;margin-bottom:2px}
.award-item-text p{color:#666;font-size:12px}
.awards-photos-right{display:flex;flex-direction:column;gap:14px}
.aw-photo{
  height:80px;background:linear-gradient(135deg,#1a1a2e,#16213e);
  display:flex;align-items:center;justify-content:center;font-size:30px;
  border-left:3px solid var(--accent);
}

/* ======================== NEWS ======================== */
.news-section{padding:90px 0;background:#f8f8f8}
.news-section .inner{max-width:1260px;margin:0 auto;padding:0 30px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.news-card{background:#fff;overflow:hidden;transition:all .3s}
.news-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.1)}
.news-img{
  height:200px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-size:54px;
  transition:transform .5s;
}
.news-card:hover .news-img{transform:scale(1.04)}
.news-cat{
  position:absolute;bottom:0;left:0;
  background:var(--accent);color:#fff;
  font-size:11px;font-weight:700;padding:5px 14px;letter-spacing:1px;text-transform:uppercase;
}
.news-body{padding:22px}
.news-date{color:#bbb;font-size:12px;margin-bottom:8px}
.news-body h4{font-family:'Barlow Condensed',sans-serif;font-size:19px;color:#111;font-weight:700;margin-bottom:10px;line-height:1.3}
.news-body p{color:#888;font-size:13px;line-height:1.7;margin-bottom:14px}
.news-link{color:var(--accent);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.news-link:hover{gap:9px}

/* ======================== PARTNERS ======================== */
.partners-section{padding:55px 0;background:#fff;border-top:1px solid #f0f0f0}
.partners-section .inner{max-width:1260px;margin:0 auto;padding:0 30px}
.partners-title{text-align:center;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#ccc;margin-bottom:30px}
.partners-logos{
  display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;
}
.partner-logo{
  display:flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:800;
  color:#ccc;letter-spacing:.5px;
  transition:color .3s;filter:grayscale(1);opacity:.4;
  transition:all .3s;
}
.partner-logo:hover{opacity:.8;color:#888;filter:none}
.partner-logo .pl-mark{
  width:28px;height:28px;background:currentColor;border-radius:4px;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;
}

/* ======================== FOOTER ======================== */
footer{background:#0d0d0d;padding:70px 0 0}
.footer-inner{
  max-width:1260px;margin:0 auto;padding:0 30px 60px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px;
}
.footer-logo{
  display:flex;align-items:center;gap:10px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:24px;font-weight:800;color:#ddd;letter-spacing:.5px;
  margin-bottom:18px;
}
.footer-brand p{color:#555;font-size:13px;line-height:1.8;margin-bottom:20px}
.footer-socials{display:flex;gap:8px}
.footer-socials a{
  width:34px;height:34px;border-radius:6px;
  background:#1a1a1a;color:#666;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;border:1px solid #2a2a2a;
}
.footer-socials a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.footer-col h4{
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;color:#ddd;font-weight:700;
  margin-bottom:18px;padding-bottom:12px;
  border-bottom:2px solid var(--accent);display:inline-block;
}
.footer-links li{margin-bottom:10px}
.footer-links li a{
  color:#555;font-size:13px;
  display:flex;align-items:center;gap:6px;transition:all .2s;
}
.footer-links li a::before{content:'›';color:var(--accent);font-size:16px}
.footer-links li a:hover{color:var(--accent);padding-left:5px}
.footer-newsletter h4{
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;color:#ddd;font-weight:700;
  margin-bottom:18px;padding-bottom:12px;
  border-bottom:2px solid var(--accent);display:inline-block;
}
.footer-newsletter p{color:#555;font-size:13px;margin-bottom:16px;line-height:1.7}
.newsletter-form{display:flex;gap:0}
.newsletter-form input{
  flex:1;padding:12px 14px;border:1px solid #2a2a2a;
  background:#1a1a1a;color:#ccc;font-size:13px;outline:none;
  font-family:'Barlow',sans-serif;
}
.newsletter-form input::placeholder{color:#444}
.newsletter-form input:focus{border-color:var(--accent)}
.newsletter-form button{
  background:var(--accent);border:none;
  padding:12px 16px;color:#fff;cursor:pointer;font-size:16px;
  transition:background .2s;
}
.newsletter-form button:hover{background:#a93226}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.footer-contact-item .fci{color:var(--accent);font-size:14px;margin-top:2px;flex-shrink:0}
.footer-contact-item p{color:#555;font-size:13px;line-height:1.6}

.footer-bottom{
  border-top:1px solid #1a1a1a;padding:22px 30px;
  max-width:1260px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.footer-bottom p{color:#3a3a3a;font-size:12px}
.footer-bottom a{color:var(--accent)}

/* ======================== PAGES ======================== */
.page{display:none}
.page.active{display:block}
.page-hero{
  background:#111;padding:60px 0;
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(192,57,43,.1) 0%,transparent 60%);
}
.page-hero::after{
  content:'';position:absolute;right:0;bottom:0;
  width:50%;height:100%;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 0,transparent 50%);
  background-size:20px 20px;
}
.page-hero .inner{max-width:1260px;margin:0 auto;padding:0 30px;position:relative;z-index:2}
.page-hero h1{
  font-family:'Barlow Condensed',sans-serif;
  font-size:48px;font-weight:800;color:#fff;margin-bottom:12px;
}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#555}
.breadcrumb a{color:var(--accent);transition:color .2s}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{color:var(--accent)}

/* Service detail */
.service-detail-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:60px;
}
.service-detail-img{
  height:440px;background:linear-gradient(135deg,#1a1a2e,#16213e);
  display:flex;align-items:center;justify-content:center;font-size:110px;
  position:relative;overflow:hidden;
}
.service-detail-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(192,57,43,.08),transparent);
}
.service-detail-text .eyebrow{justify-content:flex-start}
.service-detail-text h2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:38px;font-weight:800;color:#111;margin-bottom:16px;line-height:1.2;
}
.service-detail-text h2 span{color:var(--accent)}
.service-detail-text p{color:#777;font-size:14px;line-height:1.8;margin-bottom:14px}
.service-list{margin:20px 0 30px;display:flex;flex-direction:column;gap:10px}
.service-list li{
  display:flex;align-items:center;gap:10px;
  font-size:14px;color:#555;padding:8px 0;border-bottom:1px solid #f5f5f5;
}
.service-list li::before{content:'✓';color:var(--accent);font-size:13px;flex-shrink:0;font-weight:700}

/* Project grids */
.proj-full-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px;
}
.pfc{background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.06);overflow:hidden;transition:all .3s}
.pfc:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.1)}
.pfc-img{
  height:180px;display:flex;align-items:center;justify-content:center;font-size:42px;
}
.pfc-body{padding:18px}
.pfc-cat{
  display:inline-block;background:#fff5f5;color:var(--accent);
  font-size:10px;font-weight:700;padding:4px 9px;letter-spacing:1px;
  text-transform:uppercase;margin-bottom:7px;
}
.pfc-body h4{font-family:'Barlow Condensed',sans-serif;font-size:16px;color:#111;margin-bottom:4px}
.pfc-body p{color:#999;font-size:12px}

/* Gallery page */
.gal-full-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:180px;gap:14px;margin-top:50px;
}
.gfi{overflow:hidden;cursor:pointer;position:relative}
.gfi-ph{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:38px;
  transition:transform .5s;
}
.gfi:hover .gfi-ph{transform:scale(1.08)}
.gfi-ov{
  position:absolute;inset:0;background:rgba(192,57,43,.65);
  display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;
  opacity:0;transition:opacity .3s;
}
.gfi:hover .gfi-ov{opacity:1}

/* Contact */
.contact-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:50px}
.contact-info-box{background:#111;padding:44px 36px}
.contact-info-box h3{
  font-family:'Barlow Condensed',sans-serif;font-size:26px;color:#fff;font-weight:700;margin-bottom:30px;
}
.ci-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid #1a1a1a}
.ci-item:last-of-type{border:none;margin-bottom:0;padding-bottom:0}
.ci-icon{
  width:44px;height:44px;background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.4);
  display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:16px;flex-shrink:0;
}
.ci-item h4{color:#666;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}
.ci-item p{color:#bbb;font-size:13px;line-height:1.65}
.contact-form h3{
  font-family:'Barlow Condensed',sans-serif;font-size:30px;color:#111;font-weight:800;margin-bottom:26px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:7px;letter-spacing:.3px}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:13px 16px;border:1px solid #e0e0e0;
  font-family:'Barlow',sans-serif;font-size:14px;color:#333;outline:none;
  transition:border-color .2s;background:#fff;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(192,57,43,.07)}
.form-group textarea{min-height:130px;resize:vertical}
.btn-submit{
  width:100%;background:var(--accent);color:#fff;border:none;cursor:pointer;
  padding:16px;font-size:17px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  font-family:'Barlow Condensed',sans-serif;transition:background .2s;
}
.btn-submit:hover{background:#a93226}

/* ======================== BACK TO TOP ======================== */
.back-top{
  position:fixed;bottom:28px;right:28px;
  width:46px;height:46px;background:var(--accent);color:#fff;
  border-radius:6px;font-size:18px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:500;opacity:0;transition:opacity .3s,transform .3s;
  box-shadow:0 4px 20px rgba(192,57,43,.4);
}
.back-top.show{opacity:1}
.back-top:hover{transform:translateY(-3px)}

/* ======================== ANIMATIONS ======================== */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.anim{opacity:0}
.anim.triggered{animation:fadeUp .65s forwards}
.d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}.d4{animation-delay:.4s}

/* ======================== RESPONSIVE ======================== */
@media(max-width:1100px){
  .header-contacts .hc-divider:last-of-type,.hc-item:last-child{display:none}
  .awards-section .inner{grid-template-columns:160px 1fr 200px;gap:24px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:30px}
  .footer-newsletter{grid-column:1/-1}
}
@media(max-width:900px){
  .header-contacts{display:none}
  .hamburger{display:flex}
  .navbar .inner{padding:0 20px}
  .nav-list{
    display:none;flex-direction:column;
    position:absolute;top:100%;left:0;right:0;
    background:#111;z-index:999;max-height:80vh;overflow-y:auto;
  }
  .nav-list.open{display:flex}
  .nav-spacer{display:none}
  .nav-list>li>a{padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px}
  .nav-cta{margin:10px 20px !important;padding:12px 20px !important;justify-content:center}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;border-top:none;box-shadow:none;display:none;background:rgba(0,0,0,.3)}
  .nav-list>li.dd-open .dropdown{display:block}
  .dropdown li a{padding-left:36px;color:#aaa}
  .hero{height:520px}
  .slide-body{padding:0 40px}
  .slide-title{font-size:48px}
  .hero-vline{display:none}
  .slide-counter{right:40px;bottom:24px}
  .slider-dots{left:40px;bottom:24px}
  .about-section .inner{grid-template-columns:1fr;gap:40px}
  .mission-section .inner{grid-template-columns:1fr;gap:40px}
  .skills-section .inner{grid-template-columns:1fr;gap:40px}
  .callout-section .inner{grid-template-columns:1fr;gap:30px}
  .projects-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .testi-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}
  .gallery-grid .gal-item{height:160px}
  .gallery-grid .gal-item:nth-child(1){grid-column:span 1;grid-row:span 1}
  .awards-section .inner{grid-template-columns:1fr;gap:30px}
  .awards-photos-right{display:none}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr;gap:28px}
  .footer-brand{grid-column:1/-1}
  .sc-slide{min-width:calc(50% - 1px)}
  .contact-wrap{grid-template-columns:1fr}
  .proj-full-grid{grid-template-columns:repeat(2,1fr)}
  .gal-full-grid{grid-template-columns:repeat(3,1fr)}
  .service-detail-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:640px){
  .topbar-left{display:none}
  .topbar .inner{justify-content:center}
  .hero{height:440px}
  .slide-body{padding:0 22px}
  .slide-title{font-size:34px}
  .slide-subtitle{font-size:14px}
  .btn-ghost{display:none}
  .slider-prev,.slider-next{width:38px;height:38px;font-size:14px}
  .section-title{font-size:32px}
  .projects-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr;gap:28px}
  .footer-inner .footer-newsletter{grid-column:1}
  .footer-bottom{flex-direction:column;text-align:center}
  .form-row{grid-template-columns:1fr}
  .sc-slide{min-width:100%}
  .proj-full-grid{grid-template-columns:1fr}
  .gal-full-grid{grid-template-columns:repeat(2,1fr)}
  .circles-grid{grid-template-columns:repeat(2,1fr)}
  .stats-side{grid-template-columns:repeat(2,1fr)}
  .slide-counter{display:none}
  .about-main-placeholder{height:280px}
  .page-hero h1{font-size:34px}
}
@media(max-width:420px){
  .slide-title{font-size:26px}
  .team-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .gal-full-grid{grid-template-columns:1fr}
}


/* Multi-page mode */
.page { display: block !important; }
.nav-list>li.has-dd { position: relative; }
@media(max-width:900px){
  .nav-list>li.has-dd .dropdown{display:none}
  .nav-list>li.has-dd.dd-open .dropdown{display:block}
}



/* === SCROLL BEHAVIOUR === */
/* Logo in navbar: hidden at top, shown when scrolled */
.nav-logo {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-10px);
  transition: opacity .3s, transform .3s;
  display: flex;
}
.navbar.scrolled .nav-logo {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}
/* Header slides up when scrolled */
.header {
  transition: transform .35s ease, opacity .35s ease, box-shadow .35s;
}
.header.hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
/* Navbar gets slightly taller/visible box-shadow when scrolled */
.navbar.scrolled {
  box-shadow: 0 4px 30px rgba(0,0,0,.5);
}