*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  scroll-snap-type:y mandatory;
}

body{
  background:#050505;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.65;
  overflow-x:hidden;
}

img{
  width:100%;
  height:auto;
  display:block;
}

/* HEADER */
.site-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:82px;
  z-index:1000;
  padding:0 5%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(211,162,42,.18);
}

.brand img{
  width:145px;
  height:auto;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:22px;
}

.main-nav a,
.nav-cta{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.72rem;
  letter-spacing:1.7px;
  font-weight:900;
  transition:.25s;
}

.main-nav a:hover,
.nav-cta:hover{
  color:#d3a22a;
}

.nav-cta{
  border:1px solid rgba(211,162,42,.72);
  padding:12px 18px;
  border-radius:4px;
  background:rgba(0,0,0,.18);
}

/* STRUCTURE */
.snap-wrapper{
  width:100%;
}

.panel{
  min-height:100vh;
  position:relative;
  scroll-snap-align:start;
  overflow:hidden;
}

.panel.bg-accueil,
.panel.bg-dtf,
.panel.bg-broderie,
.panel.bg-flocage,
.panel.bg-devis{
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* BACKGROUNDS */
.bg-accueil{
  background-image:url("../images/textile-professionnel-personnalise-valras-plage-aubard-print.webp");
}

.bg-dtf{
  background-image:url("../images/impression-dtf-textile-professionnel-serignan-aubard-print.webp");
}

.bg-broderie{
  background-image:url("../images/broderie-textile-professionnelle-valras-plage-aubard-print.webp");
}

.bg-flocage{
  background-image:url("../images/flocage-textile-professionnel-serignan-aubard-print.webp");
}

.bg-devis{
  background-image:url("../images/demande-devis-textile-professionnel-aubard-print.webp");
}

/* VOILE IMAGE */
.veil{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.17) 42%, rgba(0,0,0,.02) 100%),
    linear-gradient(0deg, rgba(0,0,0,.16), rgba(0,0,0,.02));
}

.veil.light{
  background:
    linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.12) 44%, rgba(0,0,0,.01) 100%),
    linear-gradient(0deg, rgba(0,0,0,.12), rgba(0,0,0,.01));
}

/* CONTENU */
.panel-content{
  position:relative;
  z-index:3;
  width:min(760px,88%);
  margin-left:7%;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
  text-shadow:0 8px 34px rgba(0,0,0,.95);
}

.hero-content{
  width:min(900px,88%);
}

.eyebrow{
  display:inline-block;
  color:#d3a22a;
  text-transform:uppercase;
  letter-spacing:3.2px;
  font-size:.76rem;
  font-weight:900;
  margin-bottom:12px;
}

.signature{
  color:#fff;
  font-size:1rem;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:8px;
}

h1,
h2{
  font-size:clamp(1.9rem,3.2vw,3.8rem);
  line-height:1.05;
  letter-spacing:-.03em;
  margin-bottom:20px;
  max-width:950px;
  font-weight:900;
}

h3{
  font-size:1.25rem;
  margin:22px 0 8px;
}

.panel-content p,
.editorial-content p{
  color:#f1f1f1;
  font-size:1.1rem;
  max-width:760px;
  margin-bottom:22px;
}

/* SCEAU */
.premium-seal{
  position:absolute;
  z-index:5;
  right:7%;
  bottom:10%;
  width:152px;
  height:152px;
  border:2px solid #d3a22a;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  text-transform:uppercase;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
  box-shadow:
    0 0 0 8px rgba(211,162,42,.08),
    0 0 42px rgba(211,162,42,.32);
}

.premium-seal span{
  color:#d3a22a;
  font-size:.68rem;
  letter-spacing:2.2px;
  font-weight:900;
}

.premium-seal strong{
  color:#fff;
  font-size:.9rem;
  line-height:1.18;
  letter-spacing:1.2px;
  font-weight:900;
}

/* MINI POINTS */
.mini-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:26px 0 28px;
}

.mini-points span{
  display:inline-block;
  border-left:2px solid #d3a22a;
  padding:8px 14px;
  background:rgba(0,0,0,.20);
  text-transform:uppercase;
  font-size:.72rem;
  letter-spacing:1.5px;
  font-weight:900;
}

/* BOUTONS */
.actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.btn{
  display:inline-block;
  text-decoration:none;
  border-radius:4px;
  padding:15px 28px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.3px;
  font-size:.78rem;
  transition:.25s;
}

.btn-red{
  background:#c31824;
  color:#fff;
  box-shadow:0 18px 42px rgba(195,24,36,.28);
}

.btn-red:hover{
  background:#e32632;
  transform:translateY(-2px);
}

.btn-glass{
  color:#fff;
  border:1px solid rgba(255,255,255,.48);
  background:rgba(0,0,0,.16);
}

.btn-glass:hover{
  border-color:#d3a22a;
  color:#d3a22a;
  transform:translateY(-2px);
}

/* IMAGES PLEIN ÉCRAN NON COUPÉES */
.image-only{
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100vh;
  padding-top:82px;
  overflow:hidden;
}

.image-only img{
  width:100%;
  height:calc(100vh - 82px);
  object-fit:contain !important;
  object-position:center center !important;
}

/* PANELS ÉDITORIAUX */
.editorial-panel,
.contact-panel{
  background:
    radial-gradient(circle at 18% 22%, rgba(211,162,42,.13), transparent 28%),
    radial-gradient(circle at 82% 78%, rgba(195,24,36,.10), transparent 32%),
    linear-gradient(135deg,#050505 0%,#0b0b0d 55%,#050505 100%);
  display:flex;
  align-items:center;
}

.editorial-content{
  width:min(1120px,88%);
  margin:auto;
  padding-top:70px;
}

.editorial-content h2{
  max-width:980px;
}

.sector-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
  margin-top:36px;
}

.sector-grid article{
  border:1px solid rgba(211,162,42,.22);
  background:linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border-radius:4px;
  padding:26px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.sector-grid h3{
  color:#fff;
  text-transform:uppercase;
  letter-spacing:1.2px;
  font-size:1rem;
}

.sector-grid p{
  font-size:.96rem;
  margin-bottom:0;
}

/* LIENS */
.local-links,
.contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.local-links a,
.contact-links a{
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(211,162,42,.30);
  border-radius:4px;
  padding:11px 17px;
  transition:.25s;
  background:rgba(255,255,255,.025);
  text-transform:uppercase;
  font-size:.76rem;
  letter-spacing:1px;
  font-weight:900;
}

.local-links a:hover,
.contact-links a:hover{
  border-color:#d3a22a;
  color:#d3a22a;
  transform:translateY(-2px);
}

/* TRUST */
.trust-block{
  margin-top:38px;
  padding-left:20px;
  border-left:2px solid #d3a22a;
}

.trust-block p{
  margin-bottom:6px;
}

/* RESPONSIVE TABLETTE */
@media(max-width:1050px){
  .main-nav{
    display:none;
  }

  .site-header{
    height:74px;
  }

  .brand img{
    width:130px;
  }

  .panel-content{
    margin:0 auto;
  }

  .premium-seal{
    right:5%;
    bottom:5%;
    width:128px;
    height:128px;
  }

  .image-only{
    padding-top:74px;
  }

  .image-only img{
    height:calc(100vh - 74px);
  }
}

/* RESPONSIVE MOBILE */
@media(max-width:720px){
  html{
    scroll-snap-type:none;
  }

  .panel{
    min-height:auto;
  }

  .panel.bg-accueil,
  .panel.bg-dtf,
  .panel.bg-broderie,
  .panel.bg-flocage,
  .panel.bg-devis{
    min-height:88vh;
    background-position:center;
  }

  .veil,
  .veil.light{
    background:linear-gradient(0deg, rgba(0,0,0,.62), rgba(0,0,0,.10));
  }

  .panel-content{
    width:90%;
    padding-top:64px;
  }

  .premium-seal{
    position:relative;
    right:auto;
    bottom:auto;
    margin:96px auto 0;
    width:118px;
    height:118px;
  }

  h1,
  h2{
    font-size:clamp(2rem,10vw,3.35rem);
  }

  .actions,
  .local-links,
  .contact-links{
    flex-direction:column;
  }

  .btn,
  .local-links a,
  .contact-links a{
    width:100%;
    text-align:center;
  }

  .editorial-panel,
  .contact-panel{
    min-height:auto;
    padding:90px 0 70px;
  }

  .editorial-content{
    width:90%;
    padding-top:0;
  }

  .image-only{
    height:100vh;
    padding-top:74px;
  }

  .image-only img{
    width:100%;
    height:calc(100vh - 74px);
    object-fit:contain !important;
    object-position:center center !important;
  }
}
/* CORRECTION PAGE SECTEURS */
#secteurs{
  min-height:100vh;
  height:auto;
  padding:105px 0 55px;
  display:flex;
  align-items:center;
}

#secteurs .editorial-content{
  padding-top:0;
}

#secteurs h2{
  font-size:clamp(1.8rem,3.4vw,3.6rem);
  margin-bottom:18px;
}

#secteurs .editorial-content > p{
  font-size:1rem;
  margin-bottom:14px;
}

#secteurs .sector-grid{
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:20px;
}

#secteurs .sector-grid article{
  padding:16px;
}

#secteurs .sector-grid h3{
  font-size:.86rem;
  margin:0 0 8px;
}

#secteurs .sector-grid p{
  font-size:.84rem;
  line-height:1.45;
}

@media(max-width:900px){
  #secteurs .sector-grid{
    grid-template-columns:1fr;
  }
}
