/* Nano ProteK21 — feuille de style */
@font-face{font-family:'Caladea';src:url('../fonts/caladea-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Caladea';src:url('../fonts/caladea-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/manrope.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}

:root{
  --noir:#0D0D0E;--noir-2:#111112;--or:#C89B62;--or-clair:#E2C08A;--bronze:#5E4D36;
  --ivoire:#EDE7DC;--gris:#B5AFA4;--gris-2:#8C867C;--trait:#2A2723;
  --serif:'Caladea',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --pad:clamp(20px,6.6vw,96px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--noir) url('../img/texture.jpg') repeat;background-size:256px 256px;color:var(--ivoire);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--or)}a:hover{color:var(--or-clair)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--or);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.surtitre{font-size:12px;font-weight:500;letter-spacing:.34em;color:var(--or);text-transform:uppercase;margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance}
h2{font-size:clamp(36px,4.2vw,60px);line-height:1.08}
h3{font-size:clamp(22px,1.9vw,26px);line-height:1.25}
p{margin:0}
.muted{color:var(--gris)}
.btn{display:inline-block;padding:19px 37px;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;border:1px solid var(--or);cursor:pointer;font-family:var(--sans);transition:background .2s,color .2s,border-color .2s}
.btn-plein{background:var(--or);color:var(--noir)}.btn-plein:hover{background:var(--or-clair);border-color:var(--or-clair);color:var(--noir)}
.btn-contour{color:var(--or);background:transparent}.btn-contour:hover{background:var(--or);color:var(--noir)}
.btn-discret{border-color:var(--bronze);color:var(--ivoire);font-weight:500}.btn-discret:hover{border-color:var(--or);color:var(--or)}

/* En-tête */
.entete{position:sticky;top:0;z-index:10;height:104px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(13,13,14,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:height .25s,border-color .25s}
.entete.defile{height:80px;border-bottom-color:var(--trait)}
.entete .logo{display:flex;align-items:center}
.entete .logo img{height:72px;width:auto;transition:height .25s}
.entete.defile .logo img{height:58px}
.nav{display:flex;align-items:center;gap:clamp(20px,3vw,44px);font-size:12px;font-weight:500;letter-spacing:.24em}
.nav a{color:var(--ivoire);text-decoration:none;text-transform:uppercase}
.nav a:hover{color:var(--or)}
.nav .btn{padding:14px 24px;color:var(--or)}
.nav .btn:hover{color:var(--noir)}
.menu-btn{display:none;background:none;border:1px solid var(--bronze);color:var(--ivoire);width:48px;height:48px;padding:0;cursor:pointer;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:1.5px;background:currentColor;position:relative;transition:transform .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}

/* Accueil */
.hero{min-height:min(820px,calc(100svh - 104px));padding:64px var(--pad);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;text-align:center}
.hero h1{font-size:clamp(46px,6.7vw,96px);line-height:1.02;letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--or)}
.filet{width:64px;height:1px;background:var(--or)}
.hero p{max-width:620px;font-size:18px;line-height:1.75;color:var(--gris)}
.hero .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding-top:8px}
.separateur{margin:0 var(--pad);height:1px;background:var(--trait)}

/* Sections */
.section{padding:clamp(80px,9.7vw,140px) var(--pad)}
.engagement{display:flex;flex-direction:column;gap:clamp(56px,6vw,88px)}
.deux-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6.6vw,96px);align-items:end}
.titre-bloc{display:flex;flex-direction:column;gap:24px}
.intro{font-size:17px;line-height:1.8;color:var(--gris)}
.quatre{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}
.atout{display:flex;flex-direction:column;gap:18px;padding-top:28px;border-top:1px solid var(--bronze)}
.atout .num{font-family:var(--serif);font-size:22px;color:var(--or)}
.atout p,.etape p{font-size:15px;line-height:1.75;color:var(--gris)}

.clients{background:rgba(17,17,18,.92);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6.6vw,96px)}
.liste-clients{list-style:none;margin:0;padding:0}
.liste-clients li{padding:26px 0;border-top:1px solid var(--trait);display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.liste-clients li:last-child{border-bottom:1px solid var(--trait)}
.liste-clients strong{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.1vw,30px)}
.liste-clients span{font-size:14px;color:var(--gris);text-align:right}

.methode{display:flex;flex-direction:column;align-items:center;gap:clamp(56px,6vw,88px)}
.methode .titre-bloc{align-items:center;text-align:center}
.etapes{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px;list-style:none;margin:0;padding:0}
.etape{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.etape .num{font-family:var(--serif);font-size:56px;line-height:1;color:var(--or)}
.etape .trait{width:32px;height:1px;background:var(--bronze)}

.entretien{padding:0 var(--pad)}
.cadre{padding:clamp(40px,5.5vw,80px);border:1px solid var(--bronze);display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}
.cadre h2{font-size:clamp(32px,3.4vw,48px);line-height:1.1;max-width:760px}
.cadre p{font-size:16px;line-height:1.8;color:var(--gris)}

/* Contact */
.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,6.6vw,96px)}
.coords{display:flex;flex-direction:column;gap:40px}
.coords address{font-style:normal;display:flex;flex-direction:column;gap:18px;font-size:16px}
.coords address a{text-decoration:none}
.coords .tel{color:var(--ivoire)}
form{display:flex;flex-direction:column;gap:30px}
.ligne{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
label{display:flex;flex-direction:column;gap:10px;font-size:11px;font-weight:500;letter-spacing:.24em;color:var(--gris);text-transform:uppercase}
input,select,textarea{width:100%;min-height:44px;padding:8px 0;background:transparent;border:0;border-bottom:1px solid var(--bronze);border-radius:0;color:var(--ivoire);font-size:16px;font-family:var(--sans);font-weight:400;letter-spacing:normal;text-transform:none;-webkit-appearance:none;appearance:none}
select{background:var(--noir) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C89B62' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 4px center;padding-right:24px}
textarea{resize:vertical;min-height:96px;line-height:1.6}
input::placeholder,textarea::placeholder{color:#6F6A62}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--or);outline:none}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.facultatif{text-transform:none;letter-spacing:normal;font-weight:400;color:var(--gris-2)}
.mention-form{font-size:13px;line-height:1.6;color:var(--gris-2);text-transform:none;letter-spacing:normal}
.mention-form a{color:var(--gris)}
form .btn{align-self:flex-start;height:58px;padding:0 40px}
form .btn[disabled]{opacity:.6;cursor:wait}
.retour{display:none;padding:16px 20px;border:1px solid var(--bronze);font-size:15px;line-height:1.6}
.retour.ok{display:block;border-color:var(--or);color:var(--ivoire)}
.retour.erreur{display:block;border-color:#A5544A;color:#F0C9C2}

/* Pied de page */
.pied{padding:72px var(--pad) 48px;border-top:1px solid var(--trait);display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}
.pied .logo-pied{width:204px;height:auto}
.pied-infos{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;font-size:12px;letter-spacing:.08em;color:var(--gris-2)}
.pied-infos a{color:var(--gris-2)}

/* Pages de texte (mentions légales, merci) */
.page-texte{max-width:820px;margin:0 auto;padding:clamp(56px,8vw,112px) var(--pad)}
.page-texte h1{font-size:clamp(38px,5vw,64px);line-height:1.05;margin:16px 0 40px}
.page-texte h2{font-size:clamp(26px,2.6vw,34px);margin:56px 0 18px;padding-top:24px;border-top:1px solid var(--trait)}
.page-texte p,.page-texte li{font-size:16px;line-height:1.8;color:var(--gris)}
.page-texte p+p{margin-top:14px}
.page-texte ul{padding-left:20px;margin:14px 0}
.page-texte strong{color:var(--ivoire);font-weight:500}

/* Apparition douce */
@media (prefers-reduced-motion:no-preference){
  .revele{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
  .revele.vu{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Tablette */
@media (max-width:1100px){
  .quatre,.etapes{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:56px}
}
/* Mobile */
@media (max-width:860px){
  .entete{height:76px}.entete.defile{height:68px}
  .entete .logo img,.entete.defile .logo img{height:52px}
  .menu-btn{display:inline-flex}
  .nav{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 28px;background:var(--noir);border-bottom:1px solid var(--trait);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
  .entete.defile .nav{inset:68px 0 auto 0}
  .nav a{padding:18px 0;border-bottom:1px solid var(--trait);font-size:13px}
  .nav .btn{margin-top:20px;text-align:center;border-bottom:1px solid var(--or);padding:18px}
  .entete.ouvert .nav{opacity:1;visibility:visible;transform:none}
  .entete.ouvert .menu-btn span{background:transparent}
  .entete.ouvert .menu-btn span::before{transform:translateY(6px) rotate(45deg)}
  .entete.ouvert .menu-btn span::after{transform:translateY(-6px) rotate(-45deg)}
  .hero{min-height:auto;padding-top:72px;padding-bottom:88px;gap:32px}
  .hero p{font-size:17px}
  .hero .actions{flex-direction:column;align-items:stretch;width:100%;max-width:360px}
  .hero .actions .btn{text-align:center}
  .deux-col,.clients,.contact{grid-template-columns:1fr}
  .deux-col{align-items:start}
  .liste-clients li{flex-direction:column;gap:6px}
  .liste-clients span{text-align:left}
  .ligne{grid-template-columns:1fr}
  form .btn{align-self:stretch}
}
@media (max-width:560px){
  .surtitre{letter-spacing:.22em}
  .quatre,.etapes{grid-template-columns:1fr;row-gap:44px}
  .btn{padding:18px 26px}
}

/* Page « Nettoyage de vitres » et lien depuis la méthode */
.lien-service{font-size:15px;color:var(--gris);text-align:center}
.lien-service a{white-space:nowrap}
.page-texte .offres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:40px 0 8px}
.page-texte .offre{border:1px solid var(--trait);padding:28px 26px;display:flex;flex-direction:column;gap:10px;background:rgba(13,13,14,.55)}
.page-texte .offre-or{border-color:var(--or)}
.page-texte .offre p{font-size:15px;line-height:1.7}
.page-texte .faq details{border-top:1px solid var(--trait);padding:18px 0}
.page-texte .faq details:last-child{border-bottom:1px solid var(--trait)}
.page-texte .faq summary{cursor:pointer;font-family:var(--serif);font-size:21px;color:var(--ivoire);list-style-position:inside}
.page-texte .faq summary:hover{color:var(--or)}
.page-texte .faq details p{margin-top:10px}
.cta-service{display:flex;flex-wrap:wrap;gap:16px;margin-top:56px}
@media (max-width:560px){
  .page-texte .offres{grid-template-columns:1fr}
  .lien-service a{white-space:normal}
  .cta-service .btn{flex:1 1 100%;text-align:center}
}
