
:root{--ink:#20201e;--cream:#f4f0e8;--paper:#fbfaf7;--gold:#d7ad69;--muted:#77756f;--line:#dcd6ca}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}
.topbar{min-height:34px;background:#191a18;color:#eee;font-size:10px;letter-spacing:.12em;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 15px;text-transform:uppercase}
header{position:absolute;top:34px;left:0;right:0;z-index:5;color:#fff;border-bottom:1px solid #ffffff2b}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;flex-direction:column;letter-spacing:.13em;font-size:19px;font-weight:600;line-height:1;white-space:nowrap}.brand small{font-size:8px;letter-spacing:.35em;margin-top:8px;text-align:center}.brand i{height:3px;background:linear-gradient(90deg,#16834a 0 33%,#fff 33% 66%,#c7473d 66%);margin-top:7px}.navlinks{display:flex;align-items:center;gap:22px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.navlinks a{opacity:.92}.navlinks a:hover{color:var(--gold)}.outline{border:1px solid #ffffffb0;padding:12px 15px;white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.menu-toggle{display:none;background:none;border:1px solid #ffffff70;color:white;padding:10px}
.hero{min-height:680px;height:min(850px,94svh);position:relative;background:#333 url('../assets/hero-cuisine-italienne.jpg') center center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,18,17,.86) 0%,rgba(17,18,17,.61) 42%,rgba(17,18,17,.05) 85%),linear-gradient(0deg,rgba(0,0,0,.25),transparent 45%)}.hero-content{position:relative;z-index:1;padding-top:90px;max-width:680px}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:30px;height:1px;background:currentColor}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.04;letter-spacing:-.045em;font-weight:400;margin:24px 0}.hero h1 em{font-style:normal;color:#e6bd7c}.hero p{font-size:15px;line-height:1.8;max-width:540px;color:#e5e2dc}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 20px;border:1px solid transparent;text-transform:uppercase;font-size:10px;letter-spacing:.1em;font-weight:700;cursor:pointer}.btn-gold{background:var(--gold);color:#201f1c}.btn-ghost{border-color:#ffffffa8;color:#fff;background:#ffffff08}.hero-foot{position:absolute;bottom:28px;left:0;right:0;z-index:1;display:flex;gap:34px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.hero-foot span{display:flex;align-items:center;gap:9px}.hero-foot b{font-size:18px;color:var(--gold);font-weight:400}
section{padding:82px 0}.section-head{max-width:730px;margin-bottom:38px}.kicker{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#a57d43}.section-head h2{font-size:clamp(30px,4vw,49px);font-weight:400;letter-spacing:-.04em;line-height:1.12;margin:14px 0}.section-head p,.copy p{color:var(--muted);line-height:1.85;font-size:14px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.intro-art{min-height:420px;position:relative;background:linear-gradient(135deg,#b6afa4,#e9e4da 50%,#9b958a);overflow:hidden}.intro-art:before{content:"";position:absolute;inset:9% 12% 0 18%;background:linear-gradient(90deg,#343532,#555650 40%,#292a27);box-shadow:0 25px 45px #0002}.intro-art:after{content:"";position:absolute;left:7%;right:6%;bottom:14%;height:22%;background:linear-gradient(135deg,#f3eee5,#aaa398);box-shadow:0 10px 25px #0002;border-top:4px solid #262724}.art-label{position:absolute;z-index:1;bottom:26px;left:26px;color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.checks span{font-size:12px}.checks span:before{content:"✦";color:#b18a50;margin-right:8px}
.collections{background:var(--cream)}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.collection{position:relative;min-height:300px;display:flex;align-items:flex-end;padding:20px;color:#fff;overflow:hidden;background:#333;isolation:isolate}.collection:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,16,14,.95) 0%,rgba(15,16,14,.28) 62%,rgba(15,16,14,.02) 100%);z-index:1}.collection .scene{position:absolute;inset:0;transition:transform .5s;z-index:0}.collection:hover .scene{transform:scale(1.04)}.scene.infinity{background:linear-gradient(90deg,#252623 0 31%,#686a62 31% 32%,#343530 32% 70%,#9d998e 70% 71%,#292a26 71%),linear-gradient(0deg,#c5c0b5,#4b4b45)}.scene.palio{background:linear-gradient(0deg,#b8b0a2 0 24%,transparent 24%),linear-gradient(90deg,#6e5949 0 26%,#ded4c4 26% 49%,#887b6c 49% 51%,#e7e0d5 51% 74%,#6a5b4d 74%)}.scene.young{background:linear-gradient(0deg,#bcb7aa 0 22%,transparent 22%),linear-gradient(90deg,#d6c8b3 0 25%,#8a9a91 25% 50%,#f0e8db 50% 74%,#c2a48a 74%)}.scene.aliant{background:linear-gradient(0deg,#bcb8b0 0 24%,transparent 24%),linear-gradient(90deg,#383b3a 0 28%,#c6c7c2 28% 55%,#6b6c67 55% 57%,#e2dfd7 57% 80%,#30312f 80%)}.scene.natural{background:linear-gradient(0deg,#b8ad9c 0 23%,transparent 23%),repeating-linear-gradient(90deg,#8d765d 0 28px,#a68d70 28px 32px,#c8b49a 32px 62px)}.scene.metropolis{background:linear-gradient(0deg,#a7a49d 0 24%,transparent 24%),linear-gradient(90deg,#242523 0 33%,#74756e 33% 34%,#3d3e39 34% 66%,#c4c0b7 66% 67%,#282925 67%)}.scene.color-trend{background:linear-gradient(0deg,#b6b0a5 0 23%,transparent 23%),linear-gradient(90deg,#263b43 0 24%,#c3a16e 24% 48%,#d8d0c3 48% 72%,#596b5e 72%)}.scene.karma{background:linear-gradient(0deg,#bcb8ae 0 23%,transparent 23%),linear-gradient(90deg,#d8d0c3 0 30%,#aaa397 30% 32%,#333531 32% 67%,#716b60 67% 69%,#242522 69%)}.collection-copy{position:relative;z-index:2}.collection small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#e5c18a}.collection h3{font-weight:400;font-size:21px;line-height:1.15;margin:8px 0}.collection p{font-size:11px;line-height:1.6;color:#e2dfd8;margin:0 0 12px}.collection a{font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #d7ad69;padding-bottom:4px}.collection-note{font-size:11px;line-height:1.7;color:#77756f;margin-top:20px}.collection-note a{color:#8b693b;text-decoration:underline;text-underline-offset:3px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.service{border-top:1px solid var(--line);padding-top:20px}.service .num{color:#b18a50;font-size:11px;letter-spacing:.1em}.service h3{font-size:18px;font-weight:400;margin:15px 0 9px}.service p{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.quote{background:#222320;color:#fff;padding:65px 0}.quote-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.quote blockquote{font-size:clamp(25px,3.5vw,40px);line-height:1.2;letter-spacing:-.03em;font-weight:300;margin:0;max-width:760px}.quote blockquote em{font-style:normal;color:var(--gold)}
.content-page{padding-top:170px}.content-page .section-head{max-width:850px}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:55px}.side-card{background:var(--cream);padding:26px;height:max-content}.side-card h3{font-size:19px;font-weight:400;margin-top:0}.side-card a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.town-card{padding:17px;background:var(--cream);font-size:13px}.town-card small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.faq details{border-top:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-size:14px}.faq p{color:var(--muted);font-size:13px;line-height:1.8}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.contact-info p{color:var(--muted);line-height:1.8}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.field input,.field select,.field textarea{border:1px solid var(--line);background:white;padding:13px;color:var(--ink);outline:none;border-radius:0}.field textarea{min-height:100px;resize:vertical}.form-note{font-size:10px;color:var(--muted);line-height:1.6;grid-column:1/-1}.form-message{display:none;grid-column:1/-1;padding:13px;background:#e8efe6;color:#34513a;font-size:12px}
footer{background:#191a18;color:#fff;padding:32px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-note{font-size:10px;color:#aaa;line-height:1.7}.footer-links{display:flex;gap:18px;font-size:10px;color:#ddd}
@media(max-width:950px){.navlinks{gap:12px}.navlinks a{font-size:9px}.collection-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.contact-grid{gap:32px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.nav{min-height:72px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:72px;left:16px;right:16px;background:#1d1e1c;padding:20px;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.navlinks a{font-size:11px;padding:8px}.nav .outline{display:none}.hero{min-height:690px;height:90svh;background-position:58% center}.hero:before{background:linear-gradient(90deg,#171815e8,#17181599 78%,#17181544)}.hero h1{font-size:46px}.hero p{font-size:14px}.hero-foot{bottom:17px;gap:12px;flex-wrap:wrap}.hero-foot span{font-size:8px}.hero-foot b{font-size:15px}section{padding:65px 0}.intro-grid,.contact-grid,.content-grid{grid-template-columns:1fr}.intro-art{min-height:300px;order:2}.collection-grid,.town-grid{grid-template-columns:1fr}.collection{min-height:280px}.services-grid{grid-template-columns:1fr 1fr}.quote-inner{align-items:flex-start;flex-direction:column}.form{grid-template-columns:1fr}.field.full,.form-note,.form-message{grid-column:1}.footer-inner{align-items:flex-start;flex-direction:column}.content-page{padding-top:140px}.checks{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* Pages intérieures : fond noir/anthracite et texte clair pour un contraste lisible */
body.inner-page{background:#171816;color:#f5f2ec}
body.inner-page .topbar{background:#0d0e0d;color:#d7d3cb}
body.inner-page header{background:rgba(18,19,17,.96);border-bottom:1px solid #484741}
body.inner-page .content-page{background:#171816;color:#f5f2ec}
body.inner-page .section-head p,
body.inner-page .copy p,
body.inner-page .contact-info p,
body.inner-page .faq p{color:#cbc8c0}
body.inner-page .kicker{color:#e0b875}
body.inner-page .side-card,
body.inner-page .town-card,
body.inner-page .step{background:#242521;color:#f5f2ec}
body.inner-page .side-card a,
body.inner-page .town-card small,
body.inner-page .service p{color:#cbc8c0}
body.inner-page .side-card a{border-color:#4a4943}
body.inner-page .service{border-color:#55534c}
body.inner-page .field label{color:#f5f2ec}
body.inner-page .field input,
body.inner-page .field select,
body.inner-page .field textarea{background:#242521;color:#f5f2ec;border-color:#5a5850}
body.inner-page .field input::placeholder,
body.inner-page .field textarea::placeholder{color:#aaa69d}
body.inner-page .form-note{color:#c6c2b8}
body.inner-page .collection-note{color:#cbc8c0}
body.inner-page .collection-note a{color:#e4bb79}
body.inner-page .faq details{border-color:#4a4943}
body.inner-page .faq summary{color:#f5f2ec}
body.inner-page .content-page .btn-ghost{color:#fff}


.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.photo-gallery figure{margin:0;position:relative;background:#222;overflow:hidden;min-width:0}
.photo-gallery img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .45s}
.photo-gallery figure:hover img{transform:scale(1.035)}
.photo-gallery figcaption{display:flex;flex-direction:column;gap:5px;padding:17px 18px;background:#20211f;color:#f6f2ea}
.photo-gallery figcaption strong{font-size:17px;font-weight:400}
.photo-gallery figcaption span{font-size:11px;color:#d1c9bb}
@media(max-width:700px){.photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:250px}}


/* Photo fournie pour le bloc « Le beau n'est rien sans le juste » de la page d'accueil */
.intro-art.intro-photo{background:#252522;overflow:hidden;min-height:420px}
.intro-art.intro-photo:before{display:none}
.intro-art.intro-photo:after{display:none}
.intro-art.intro-photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.intro-art.intro-photo .art-label{z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent);left:0;right:0;bottom:0;padding:24px 26px}
@media(max-width:700px){.intro-art.intro-photo{min-height:300px}}


/* Galerie des modèles de cuisines fournis par Cuisine & Habitat */
.home-model-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0 42px}
.home-model-gallery figure{margin:0;overflow:hidden;background:#222320;border:1px solid #41413b}
.home-model-gallery img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .4s}
.home-model-gallery figure:hover img{transform:scale(1.025)}
.home-model-gallery figcaption{padding:13px 15px;color:inherit;font-size:14px;letter-spacing:.04em}
.home-collections{padding-top:50px;padding-bottom:50px}
@media(max-width:900px){.home-model-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.home-model-gallery{grid-template-columns:1fr}.home-model-gallery img{height:250px}}


/* Images réelles des modèles de cuisines dans la collection de la page d'accueil */
.collection .scene{overflow:hidden;background:#252522}
.collection .scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}


/* Galerie réelle des huit modèles sur la page cuisines-italiennes.html */
.italian-models-section{padding:68px 0;background:#171816;color:#f7f4ed}
.italian-models-section .kicker{color:#d7ad69}
.italian-models-section h2{font-weight:400;font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.035em;margin:12px 0 16px}
.italian-models-intro{max-width:760px;color:#c9c6be;font-size:14px;line-height:1.85;margin:0 0 28px}
.italian-model-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.italian-model-card{margin:0;overflow:hidden;background:#222320;border:1px solid #41413b;min-width:0}
.italian-model-card img{display:block;width:100%;height:230px;object-fit:cover;object-position:center;transition:transform .4s}
.italian-model-card:hover img{transform:scale(1.025)}
.italian-model-card figcaption{padding:14px 16px 17px}
.italian-model-card figcaption strong{display:block;font-weight:400;font-size:17px;color:#f7f4ed}
.italian-model-card figcaption span{display:block;margin-top:5px;font-size:11px;letter-spacing:.06em;color:#c9c6be}
@media(max-width:950px){.italian-model-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.italian-model-gallery{grid-template-columns:1fr}.italian-model-card img{height:260px}}

/* Images produits réelles des collections de cuisines italiennes */
.collection-image{display:block;width:100%;height:260px;object-fit:cover;object-position:center;background:#292927}
.collection{overflow:hidden}
@media(max-width:700px){.collection-image{height:230px}}


/* Correctif de disposition : chaque légende se place sous sa photo */
.italian-model-gallery{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.italian-model-card{
  display:flex !important;
  flex-direction:column !important;
  align-self:start;
  min-width:0;
  margin:0;
  overflow:hidden;
}
.italian-model-card img{
  display:block !important;
  position:static !important;
  width:100% !important;
  height:230px;
  object-fit:cover;
  flex:0 0 auto;
}
.italian-model-card figcaption{
  display:block !important;
  position:static !important;
  inset:auto !important;
  width:100%;
  box-sizing:border-box;
  padding:15px 16px 18px;
  background:#222320;
  color:#f7f4ed;
  text-align:left;
}
.italian-model-card figcaption strong{
  display:block !important;
  position:static !important;
  color:#f7f4ed;
  font-size:17px;
  line-height:1.35;
}
.italian-model-card figcaption span{
  display:block !important;
  position:static !important;
  margin-top:6px;
  color:#c9c6be;
  font-size:11px;
  line-height:1.5;
}
@media(max-width:950px){
  .italian-model-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .italian-model-gallery{grid-template-columns:1fr}
  .italian-model-card img{height:260px}
}


/* Pages locales SEO et logo de marque */
.brand small{letter-spacing:.22em}
.local-links{background:#20211f;color:#f5f2ec;padding:26px 0;border-top:1px solid #3d3d37}
.local-links h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:#d7ad69;margin:0 0 14px}
.local-links-list{display:flex;flex-wrap:wrap;gap:8px 18px}
.local-links-list a{font-size:11px;color:#d4d0c7;border-bottom:1px solid #5b5549;padding-bottom:3px}
.local-links-list a:hover{color:#e4bb79}
.brand-logo-img{display:block;width:100%;max-width:240px;height:auto}
.local-photo{display:block;width:100%;height:320px;object-fit:cover;margin:28px 0;border:1px solid #41413b}
@media(max-width:700px){.local-photo{height:240px}}


/* Final responsive polish: phone, tablet and accessible tap targets */
html{scroll-behavior:smooth;scroll-padding-top:90px}
img{max-width:100%}
.wrap{min-width:0}
.nav{flex-wrap:nowrap}
.navlinks a,.outline,.btn,.menu-toggle{touch-action:manipulation}
.call-header{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d6b36f;background:#d6b36f;color:#171816;padding:12px 15px;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.04em}
.call-header:hover{background:#e6c987}
.call-float{position:fixed;right:18px;bottom:18px;z-index:1000;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#d6b36f;color:#171816;border:1px solid #f0d69e;border-radius:999px;padding:14px 20px;box-shadow:0 8px 30px #0005;font-size:13px;font-weight:700;letter-spacing:.02em}
.call-float svg{width:18px;height:18px;flex:0 0 auto}
:focus-visible{outline:3px solid #e3bd77;outline-offset:3px}
@media(max-width:1100px){
  .nav{gap:12px}
  .brand{flex:0 0 auto}
  .navlinks{gap:11px}
  .navlinks a{font-size:9px}
  .outline{font-size:9px;padding:10px}
  .call-header{font-size:9px;padding:10px}
}
@media(max-width:850px){
  .nav{min-height:74px}
  .brand{max-width:230px}
  .brand small{font-size:7px;letter-spacing:.16em}
  .navlinks{display:none;position:absolute;top:100%;left:16px;right:16px;background:#1d1e1c;padding:18px;flex-direction:column;align-items:stretch;gap:0;border:1px solid #ffffff25;box-shadow:0 14px 28px #0005;max-height:70vh;overflow:auto}
  .navlinks.open{display:flex}
  .navlinks a{font-size:12px;padding:13px 5px;border-bottom:1px solid #ffffff18}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .outline{display:none}
  .call-header{margin-left:auto;min-height:42px}
  .hero{min-height:640px;height:auto;padding:130px 0 50px}
  .city-hero{padding-top:130px}
  .intro-grid,.contact-grid,.city-two-col{grid-template-columns:1fr}
  .footer-inner{flex-wrap:wrap;gap:20px}
}
@media(max-width:520px){
  .wrap{width:calc(100% - 32px)}
  .topbar{font-size:8px;letter-spacing:.07em;line-height:1.5}
  .nav{gap:8px;min-height:68px}
  .brand{max-width:155px;font-size:14px;letter-spacing:.12em}
  .brand small{font-size:6px;letter-spacing:.1em}
  .brand i{height:2px;margin-top:5px}
  .call-header{font-size:0;padding:10px;min-width:42px}
  .call-header .call-label{display:none}
  .call-header:before{content:"☎";font-size:18px}
  .menu-toggle{padding:8px;min-width:40px;min-height:42px}
  .hero{min-height:600px;padding-top:115px}
  .hero h1,.city-hero h1{font-size:clamp(35px,10vw,48px);line-height:1.04}
  .hero p,.city-hero p{font-size:14px;line-height:1.75}
  .btn{min-height:46px;padding:14px 16px;display:inline-flex;align-items:center;justify-content:center}
  .city-content{padding:46px 0}
  .local-photo{height:220px}
  .call-float{left:16px;right:16px;bottom:12px;padding:15px 18px;font-size:14px}
  body{padding-bottom:62px}
  .footer-links{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
