/* SurMesures Prestations — styles globaux (charte : angles vifs, aucune ombre, aucun arrondi) */
@font-face{font-family:'Kiln Sans';src:url('fonts/KilnSans-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Futura';src:url('fonts/FuturaLT.ttf') format('truetype');font-weight:400 500;font-style:normal;font-display:swap}

:root{
  --noir:#312F2D; --panneau:#46443F; --texte:#F4F4F4; --para:#D6D5D5; --label:#ADACAB; --inactif:#838281;
  --filet:#5A5957; --filet-pointille:#6F6D6C; --cuivre:#B5754A; --cuivre-fonce:#7D4F31;
  --px:clamp(20px,4vw,48px);
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{background:var(--noir)}
body{margin:0;background:var(--noir);color:var(--texte);font-family:'Futura',sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--texte)} a:hover{color:var(--cuivre)}
img{display:block;max-width:100%}
input,textarea,button{font-family:'Futura',sans-serif}
input::placeholder,textarea::placeholder{color:var(--inactif)}
:focus-visible{outline:2px solid var(--cuivre);outline-offset:2px}

/* Typo */
.display{margin:0;font-family:'Kiln Sans',sans-serif;font-weight:400;line-height:.9;letter-spacing:.01em;text-transform:uppercase}
.h1-page{font-size:clamp(56px,8vw,120px)}
.cuivre{color:var(--cuivre)}
.ui{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.label{font-size:12px;letter-spacing:.14em;color:var(--label)}
.intro{margin:0;font-size:17px;line-height:1.65;color:var(--para);max-width:520px;text-wrap:pretty}
.pole{letter-spacing:.03em} .pole i{color:var(--cuivre)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Boutons */
.btn{display:inline-block;cursor:pointer;text-decoration:none;color:var(--texte);border:1px solid var(--texte);background:transparent;padding:13px 24px;font-size:12px;letter-spacing:.14em;font-weight:400;line-height:1.2}
.btn:hover{border-color:var(--cuivre);color:var(--cuivre)}
.btn-plein{background:var(--cuivre-fonce);border-color:var(--cuivre-fonce);font-weight:500}
.btn-plein:hover{background:var(--cuivre);border-color:var(--cuivre);color:var(--texte)}
.lien-souligne{font-size:12px;letter-spacing:.14em;border-bottom:1px solid var(--cuivre);padding-bottom:3px;text-decoration:none;color:var(--texte)}
.chip{font-size:12px;letter-spacing:.12em;padding:10px 16px;cursor:pointer;border:1px solid var(--inactif);background:transparent;color:var(--texte);line-height:1.2}
.chip[aria-pressed="true"],.chip.actif{background:var(--cuivre-fonce);border-color:var(--cuivre-fonce)}
.chip:hover{border-color:var(--cuivre)}

/* Header */
.site-header{position:sticky;top:0;z-index:10;background:var(--noir);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:20px var(--px);border-bottom:1px solid var(--filet)}
.marque{display:flex;align-items:center;gap:14px;text-decoration:none}
.marque img{width:160px;height:auto}
.marque span{font-family:'Kiln Sans';font-size:19px;letter-spacing:.06em;color:var(--cuivre)}
.nav{display:flex;flex-wrap:wrap;gap:6px 26px}
.nav a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;font-size:12px;letter-spacing:.14em}
.nav a[aria-current="page"]{border-bottom-color:var(--cuivre)}
.btn-devis{padding:10px 18px}
.burger{display:none;background:transparent;border:0;padding:8px;cursor:pointer;color:var(--texte)}
.burger span{display:block;width:26px;height:2px;background:currentColor;margin:5px 0}
@media (max-width:800px){
  .burger{display:block}
  .nav,.btn-devis{display:none}
  .site-header.ouvert .nav{display:flex;flex-direction:column;width:100%;gap:14px;padding:12px 0 6px;border-top:1px solid var(--filet)}
  .site-header.ouvert .nav a{font-size:14px;align-self:flex-start}
  .site-header.ouvert .btn-devis{display:inline-block}
}

/* Grilles */
.hero{padding:clamp(40px,6vw,72px) var(--px) 44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:end}
.entete-filet{border-bottom:1px solid var(--filet);padding-bottom:48px}

/* Photos */
.photo{position:relative;overflow:hidden;background:var(--panneau)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo-vide{display:flex;align-items:center;justify-content:center;color:var(--inactif);font-size:12px;letter-spacing:.14em}

/* Carte réalisation */
.carte{display:flex;flex-direction:column;text-decoration:none;color:var(--texte)}
.carte .infos{padding:16px 20px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:12px}
.carte .num{font-family:'Kiln Sans';font-size:28px;color:var(--cuivre);grid-row:span 2;line-height:1}
.carte b{font-size:14px;letter-spacing:.04em}
.carte .meta{color:var(--label);letter-spacing:.1em}
a.carte:hover b{color:var(--cuivre)}
a.carte:hover img{opacity:.9}

/* CTA + footer */
.cta{background:var(--cuivre-fonce);padding:48px var(--px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px}
.cta .display{font-size:clamp(36px,4.5vw,56px);line-height:1;letter-spacing:.02em}
.cta .coord{display:flex;flex-direction:column;gap:8px;font-size:15px}
.cta .tel{font-size:22px;font-weight:700;text-decoration:none}
.cta .btn{padding:12px 22px;margin-top:8px;align-self:flex-start}
.cta .btn:hover{background:var(--texte);color:var(--cuivre-fonce);border-color:var(--texte)}
.site-footer{padding:20px var(--px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:var(--label);letter-spacing:.08em;border-top:1px solid var(--filet)}
.site-footer a{color:var(--label);text-decoration:none} .site-footer a:hover{color:var(--cuivre)}

/* Prose (mentions légales) */
.prose{padding:clamp(40px,6vw,72px) var(--px);max-width:860px}
.prose h2{font-size:14px;letter-spacing:.12em;margin:36px 0 10px}
.prose p,.prose li{font-size:15px;line-height:1.65;color:var(--para)}


/* components/PageService.astro */
.deroule{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));border-top:1px solid var(--filet)}
  .deroule li{padding:24px 24px 24px 0;border-right:1px dashed var(--filet);display:flex;flex-direction:column;gap:12px;margin-right:24px}
  .deroule .n{font-family:'Kiln Sans';font-size:44px;line-height:1;color:var(--cuivre)}
  .deroule b{font-size:15px;letter-spacing:.08em}
  .deroule p{margin:0;font-size:14px;line-height:1.6;color:var(--para)}
  .associees{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}

/* pages/contact.astro */
.contact{padding:clamp(40px,6vw,72px) var(--px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:56px;align-items:start}
  .infos{border-top:1px solid var(--filet);padding-top:20px;display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:14px;align-items:baseline}
  .formulaire{display:flex;flex-direction:column;gap:26px;border:1px solid var(--filet);padding:clamp(20px,3vw,36px)}
  .besoins{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
  .besoins legend{padding:0;margin-bottom:12px}
  .chip-case{position:relative}
  .chip-case input{position:absolute;opacity:0;width:1px;height:1px}
  .chip-case input:checked + .chip{background:var(--cuivre-fonce);border-color:var(--cuivre-fonce)}
  .chip-case input:focus-visible + .chip{outline:2px solid var(--cuivre);outline-offset:2px}
  .chip-case .chip{display:inline-block}
  .champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:20px}
  .champs label,.champ-projet{display:flex;flex-direction:column;gap:8px;font-size:12px;letter-spacing:.14em;color:var(--label)}
  .champs input{background:transparent;border:0;border-bottom:1px solid var(--inactif);color:var(--texte);font-size:15px;padding:8px 0;outline:none;letter-spacing:0;border-radius:0}
  .champs input:focus{border-bottom-color:var(--cuivre)}
  .champ-projet textarea{background:transparent;border:1px solid var(--inactif);color:var(--texte);font-size:15px;padding:12px;outline:none;resize:vertical;letter-spacing:0;border-radius:0}
  .champ-projet textarea:focus{border-color:var(--cuivre)}
  .erreur{margin:0;font-size:14px;color:#F18A5A}
  .succes{background:var(--cuivre-fonce);padding:48px 36px;display:flex;flex-direction:column;gap:16px;outline:none}
  .succes .btn:hover{background:var(--texte);color:var(--cuivre-fonce);border-color:var(--texte)}

/* pages/equipe.astro */
.grille-equipe{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));border-top:1px solid var(--filet)}
  .grille-equipe li{border-right:1px solid var(--filet);display:flex;flex-direction:column}
  .grille-equipe .nb img{filter:grayscale(1)}

/* pages/index.astro */
.bande{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
  .bande > .carte{border-right:1px solid var(--filet)}
  .savoirs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
  .savoir{padding:48px clamp(20px,3vw,36px);border-right:1px solid var(--filet);display:flex;flex-direction:column;gap:16px}
  .presta{list-style:none;margin:0;padding:12px 0 0;font-size:13px;line-height:2;border-top:1px dashed var(--filet-pointille)}
  .presta li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--filet)}

/* pages/label.astro */
.logo-label{background:#F4F4F4;aspect-ratio:1/1;max-width:360px;width:100%;justify-self:center;display:flex;align-items:center;justify-content:center;color:var(--noir);font-family:'Kiln Sans';font-size:28px;line-height:1;text-align:center}
  .piliers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border-top:1px solid var(--filet)}
  .piliers > div{padding:40px clamp(20px,3vw,40px);border-right:1px solid var(--filet);display:flex;flex-direction:column;gap:14px}
  .piliers > div:last-child{border-right:0}
  .piliers .n{font-family:'Kiln Sans';font-size:28px;color:var(--cuivre)}
  .piliers b{font-size:14px;letter-spacing:.12em}
  .piliers p{margin:0;font-size:15px;line-height:1.65;color:var(--para);text-wrap:pretty}

/* pages/realisations.astro */
.filtres{display:flex;flex-wrap:wrap;gap:8px}
  .grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));border-top:1px solid var(--filet)}
  .grille > .carte{border-right:1px solid var(--filet);border-bottom:1px solid var(--filet)}
  .grille > .carte[hidden]{display:none}
