/* Polices locales : licences SIL OFL dans assets/fonts/licenses. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dm-sans-400.woff') format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/dm-sans-500.woff') format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/dm-sans-600.woff') format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/dm-sans-700.woff') format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/manrope-400.woff') format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/manrope-500.woff') format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/manrope-600.woff') format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/manrope-700.woff') format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/playfair-display-400.woff') format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/playfair-display-500.woff') format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/playfair-display-600.woff') format('woff');
}

:root{--black:#101211;--deep:#171b19;--panel:#1e2521;--gold:#d4b871;--goldlight:#f0dfae;--cream:#f6f3ec;--ink:#25302b;--muted:#a6ada8;--green:#174c3a;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(2.8rem,5.5vw,5.8rem)}h2{font-size:clamp(2.2rem,4vw,4.1rem)}h3{font-size:1.35rem}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:#a77d30}.shell{width:min(1240px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px;top:10px;z-index:100;background:#fff;padding:12px}.skip:focus{left:10px}header{position:sticky;top:0;background:rgba(16,18,17,.97);z-index:30;border-bottom:1px solid #ffffff20;color:#f7f3eb;backdrop-filter:blur(16px)}.nav{min-height:78px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:'Playfair Display',serif;font-size:1.05rem;line-height:1.12;letter-spacing:.025em;max-width:275px}.brand-mark{width:42px;height:46px;object-fit:contain;flex:none}.links{margin-left:auto;display:flex;align-items:center;gap:21px}.links a{font-size:.79rem;font-weight:600;white-space:nowrap;text-decoration:none;transition:color .2s}.links a:hover,.links a:focus-visible{color:var(--gold)}.nav-cta{border:1px solid var(--gold);color:var(--gold)!important;padding:10px 13px}.menu{display:none;margin-left:auto;border:1px solid #777;background:none;color:#fff;padding:9px 13px;border-radius:3px}.hero{background:#101211;color:#fff;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101211 5%,rgba(16,18,17,.92) 37%,rgba(16,18,17,.08) 100%),url('../images/ambiance-illustrative.webp') center right/cover;opacity:.94}.hero-content{position:relative;padding:130px 0 155px;max-width:760px}.hero h1{margin:26px 0;color:#f9f6ed}.hero h1 em{font-style:normal;color:var(--goldlight)}.hero p.lead{font-size:1.15rem;max-width:550px;color:#e5e5dd}.hero small{display:block;color:#bdc2bc;font-size:.77rem;margin-top:25px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;text-align:center;text-decoration:none;min-height:50px;padding:12px 22px;border:1px solid transparent;font-weight:700;font-size:.89rem;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover,.btn:focus-visible{transform:translateY(-3px)}.btn.gold{background:var(--gold);color:#151813}.btn.gold:hover{background:var(--goldlight);box-shadow:0 8px 28px #d4b8713c}.btn.outline{border-color:#c6c4b8;color:#fff}.btn.dark{background:var(--green);color:#fff}.btn.dark:hover{box-shadow:0 8px 26px #174c3a50}.section{padding:100px 0;scroll-margin-top:85px}.section-intro{max-width:730px;margin-bottom:38px}.section-intro p{font-size:1.05rem}.section-intro h2{margin:10px 0 18px}.introgrid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.introgrid img{aspect-ratio:4/3;object-fit:cover;object-position:center 17%;box-shadow:25px 25px 0 #d9d2c2}.introgrid p{max-width:570px}.kicker{display:flex;gap:35px;border-top:1px solid #d7d1c5;padding-top:20px;margin-top:26px;color:#595f57}.kicker strong{display:block;color:var(--green);font-size:1.5rem;font-family:'Playfair Display',serif}.dark-section{background:var(--deep);color:#f7f5ee}.dark-section .eyebrow{color:var(--gold)}.dark-section .section-intro p{color:#c6cbc4}.cat-header{display:grid;grid-template-columns:.7fr 1.3fr;align-items:end;gap:35px}.cat-header .section-intro{margin-bottom:25px}.illustration{margin:20px 0 40px;position:relative}.illustration img{width:100%;aspect-ratio:16/8;object-fit:cover}.caption{font-size:.81rem;color:#677269;margin:9px 0 0}.dark-section .caption{color:#b6bcb3}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 35px}.filter{border:1px solid #8a836a;background:transparent;color:#ebe9df;padding:10px 16px;cursor:pointer}.filter[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#181a16;font-weight:700}.catalog-group{margin:34px 0 65px}.catalog-group h3{font-family:'Playfair Display',serif;font-size:1.9rem;margin-bottom:10px}.catalog-group>p{color:#c5cbc4}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product{background:#252b27;border:1px solid #ffffff15;overflow:hidden}.product img{width:100%;height:235px;object-fit:cover;transition:transform .5s}.product:hover img{transform:scale(1.045)}.product-copy{padding:21px}.product h4{margin:0 0 10px;font:500 1.26rem/1.25 'Playfair Display',serif;color:var(--goldlight)}.product p{font-size:.88rem;color:#d1d4cd;margin:0 0 12px}.product .tones{color:#aeb9af;font-size:.8rem}.product .ask{color:var(--gold);font-size:.82rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}.note{padding:18px 22px;border-left:2px solid var(--gold);background:#ffffff0d;color:#d5d9d1;font-size:.88rem;margin:32px 0}.page-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.page-list a{display:block;background:#252b27;padding:10px;text-decoration:none;font-size:.85rem;transition:transform .25s}.page-list a:hover{transform:translateY(-4px)}.page-list img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top}.page-list span{display:block;padding:8px 3px 2px}.pages-details{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px}.pages-details figure{margin:0}.pages-details img{width:100%;height:auto}.pages-details figcaption{color:#ced4ca;margin:10px 0}.delivery{position:relative;overflow:hidden;margin-top:75px;padding:30px 42px;border:1px solid var(--gold);background:linear-gradient(110deg,#174c3a,#142f27 70%,#1d211c);display:flex;align-items:center;justify-content:center;text-align:center;min-height:135px}.delivery:after{content:'';position:absolute;inset:-100% -40%;background:linear-gradient(100deg,transparent 46%,#ffffff15 50%,transparent 54%);animation:sheen 9s ease-in-out infinite}.delivery strong{font:500 clamp(1.5rem,3vw,2.6rem) 'Playfair Display',serif;color:var(--goldlight);z-index:1}@keyframes sheen{0%,65%,100%{transform:translateX(-90%)}85%{transform:translateX(90%)}}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-card{padding:35px;border:1px solid #c9c4b7;background:#fff}.service-card .number{font-family:'Playfair Display',serif;font-size:2rem;color:#b6904a}.service-card ul{padding-left:20px;margin-bottom:0}.service-card li{margin:6px 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery figure{margin:0;overflow:hidden;background:#fff}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.05)}.gallery figcaption{font-size:.85rem;padding:12px 15px}.about{background:#e9e6dc}.material-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.material{border-top:2px solid #bc9c59;padding-top:18px}.material h3{font-family:'Playfair Display',serif;font-size:1.5rem}.client{background:var(--green);color:#fff}.client p{color:#e0e8e1;max-width:730px}.client .buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.client .btn{background:var(--gold);color:#17231b}.client .btn:hover{background:var(--goldlight);box-shadow:0 0 0 5px #d4b87130;transform:translateY(-3px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-info{padding:35px;background:#fff;border-left:3px solid var(--gold)}.contact-info a{color:var(--green);overflow-wrap:anywhere}footer{background:#101211;color:#c2c7be;padding:40px 0}footer .foot{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer a{color:var(--goldlight)}:focus-visible{outline:3px solid #e5bb61;outline-offset:3px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}
@media(max-width:1050px){.links{gap:12px}.links a{font-size:.72rem}.brand{font-size:.9rem}.nav{gap:10px}}@media(max-width:800px){.shell{width:min(100% - 34px,1240px)}.menu{display:block}.links{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#161b18;padding:16px 24px 22px;box-shadow:0 15px 20px #0004}.links.open{display:flex}.links a{font-size:1rem;padding:11px 4px}.hero:before{background:linear-gradient(90deg,#101211ee,#1012119c),url('../images/ambiance-illustrative.webp') center/cover}.hero-content{padding:95px 0 110px}.introgrid,.cat-header,.contact-grid{grid-template-columns:1fr}.introgrid{gap:35px}.product-grid,.gallery{grid-template-columns:repeat(2,1fr)}.page-list{grid-template-columns:repeat(3,1fr)}.section{padding:72px 0}}@media(max-width:560px){h1{font-size:2.75rem}.hero-content{padding:75px 0 90px}.hero p.lead{font-size:1rem}.product-grid,.service-grid,.gallery,.pages-details,.material-row{grid-template-columns:1fr}.page-list{grid-template-columns:repeat(2,1fr)}.product img{height:215px}.illustration img{aspect-ratio:4/3}.delivery{padding:30px 20px;min-height:125px}.delivery strong{font-size:1.6rem}.section{padding:60px 0}.client .buttons .btn{width:100%}.kicker{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.delivery:after{animation:none}.btn,.product img,.gallery img{transition:none}}
.promo{background:linear-gradient(110deg,#19241e,#193d30 65%,#142d25);color:#fff;border-bottom:1px solid var(--gold);animation:promo-reveal .75s ease both}.promo-inner{display:flex;align-items:center;gap:22px;padding:18px 0}.promo-icon{font-size:2rem;line-height:1}.promo strong{display:block;color:var(--goldlight);font-size:1.03rem;letter-spacing:.035em}.promo p{margin:2px 0 0;font-size:.89rem;line-height:1.45}.promo-code{margin-left:auto;white-space:nowrap;color:#121915;background:var(--gold);text-decoration:none;font-weight:700;letter-spacing:.08em;padding:10px 16px;transition:transform .25s,background .25s}.promo-code:hover{transform:translateY(-2px);background:var(--goldlight)}@keyframes promo-reveal{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}.work-group{border-top:1px solid #95875b;padding:35px 0 16px;scroll-margin-top:100px}.work-group h4{font:500 clamp(1.5rem,2.3vw,2rem) 'Playfair Display',serif;color:var(--goldlight);margin:0 0 12px}.work-group>p{max-width:880px;color:#ccd2cb}.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:22px}.work-grid figure{margin:0;background:#252b27;border:1px solid #ffffff17;overflow:hidden}.work-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}.work-grid figure:hover img{transform:scale(1.04)}.work-grid figcaption{font-size:.76rem;line-height:1.35;color:#d4d8cf;padding:9px 11px}.work-group:first-child .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.promo-inner{flex-wrap:wrap;gap:10px}.promo-code{margin-left:0}.work-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.promo-inner{padding:17px 0}.promo-icon{font-size:1.55rem}.promo-inner>div{width:calc(100% - 45px)}.promo-code{margin-left:45px}.work-grid,.work-group:first-child .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.promo{animation:none}.work-grid img,.promo-code{transition:none}}.intro-solo{grid-template-columns:minmax(0,850px);justify-content:center}.intro-solo>div{max-width:850px}.catalogue-section .section-intro{margin-bottom:24px}.catalog-controls{position:sticky;top:78px;z-index:12;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px;background:#171b19f2;border:1px solid #d4b87177;backdrop-filter:blur(14px)}.catalog-controls button,.viewer-toolbar button{border:1px solid #d4b87199;background:#26342d;color:#fff;padding:9px 13px;min-height:44px;cursor:pointer;transition:background .25s,color .25s}.catalog-controls button:hover:not(:disabled),.viewer-toolbar button:hover:not(:disabled){background:var(--gold);color:#101211}.catalog-controls button:disabled,.viewer-toolbar button:disabled{opacity:.4;cursor:not-allowed}.catalog-controls .full-btn{background:var(--gold);color:#101211;font-weight:700}.catalog-controls [role=status]{color:var(--goldlight);min-width:113px;text-align:center;font-weight:700}.catalog-pages{display:grid;gap:75px;padding:45px 0 0}.catalog-page{width:min(100%,930px);margin:0 auto;scroll-margin-top:170px}.catalog-page figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin:0 0 13px;color:#e9e9e0}.catalog-page figcaption span{font-size:.8rem;letter-spacing:.12em;color:var(--gold)}.catalog-page figcaption strong{font-size:.95rem;font-weight:500;text-align:right}.page-open{display:block;width:100%;padding:0;cursor:zoom-in;background:#000;border:1px solid #d4b87177;box-shadow:0 20px 45px #0005}.page-open img{width:100%;height:auto;object-fit:contain}.page-open:hover{box-shadow:0 20px 50px #d4b87130}.viewer{position:fixed;inset:0;z-index:100;background:#0b0d0cf7;color:white;display:flex;flex-direction:column}.viewer[hidden]{display:none}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;min-height:68px;background:#17241b;border-bottom:1px solid var(--gold)}.viewer-toolbar span{color:var(--goldlight);font-weight:700}.viewer-buttons{display:flex;flex-wrap:wrap;gap:7px}.viewer-stage{overflow:auto;overscroll-behavior:contain;flex:1;text-align:center;padding:15px;touch-action:pan-x pan-y}.viewer-stage img{display:block;width:100%;max-width:none;height:auto;margin:0 auto}.promo-code{animation:code-glow 6s ease-in-out infinite}@keyframes code-glow{0%,100%{box-shadow:0 0 0 0 #d4b87125}50%{box-shadow:0 0 0 7px #d4b87125}}@media(max-width:800px){.catalog-controls{top:78px}.catalog-pages{gap:50px}.catalog-page{scroll-margin-top:220px}.viewer-toolbar{padding:9px 12px}}@media(max-width:560px){.catalog-controls{justify-content:space-between;gap:7px}.catalog-controls button{font-size:.8rem;padding:7px 8px;min-height:40px}.catalog-controls [role=status]{order:-1;flex:1 0 100%}.catalog-controls .full-btn{flex:1 0 100%}.catalog-page figcaption{flex-direction:column;gap:2px}.catalog-page figcaption strong{text-align:left}.viewer-toolbar{align-items:flex-start;flex-direction:column}.viewer-toolbar button{min-height:40px;padding:7px 11px}.viewer-stage{padding:10px}}@media(prefers-reduced-motion:reduce){.promo-code{animation:none}}.hero-scroll{height:360svh;overflow:visible}.hero-scroll:before{display:none}.hero-stage{position:sticky;top:78px;height:calc(100svh - 78px);min-height:430px;overflow:hidden;display:flex;align-items:center;background:#101211;isolation:isolate;--exit:0}.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.hero-poster{z-index:0;transition:opacity .35s ease}.hero-poster.is-hidden{opacity:0}.hero-video{z-index:1;opacity:0;transition:opacity .35s ease;pointer-events:none}.hero-video.ready{opacity:1}.hero-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(9,13,11,.96) 0%,rgba(9,13,11,.82) 33%,rgba(9,13,11,.31) 62%,rgba(9,13,11,.10) 100%)}.hero-stage:after{content:'';position:absolute;z-index:3;inset:65% 0 0;pointer-events:none;background:linear-gradient(transparent,#f6f3ec);opacity:var(--exit)}.hero-stage .hero-content{z-index:4;padding:30px 0;max-width:760px;margin-left:max(24px,calc((100vw - 1240px)/2));margin-right:0}.hero-stage .hero-content h1{text-shadow:0 3px 25px #0007}.hero-stage .hero-content .btn{position:relative;z-index:5}@media(max-width:800px){.hero-scroll{height:300svh}.hero-stage{min-height:0}.hero-stage .hero-content{margin-left:17px;margin-right:17px;width:calc(100% - 34px)}.hero-shade{background:linear-gradient(90deg,#0b0d0cee,#0b0d0ca8 65%,#0b0d0c55)}}@media(max-width:560px){.hero-scroll{height:285svh}.hero-stage{align-items:flex-start}.hero-video,.hero-poster{object-fit:contain;object-position:center bottom}.hero-shade{background:linear-gradient(180deg,#0c100ff7 0%,#0c100ff3 35%,#0c100f35 62%,transparent 85%)}.hero-stage .hero-content{padding:clamp(14px,3.5svh,32px) 0 0}.hero-stage h1{font-size:clamp(2.05rem,9vw,2.8rem);line-height:1.04;margin:13px 0}.hero-stage .hero-content .lead{font-size:.95rem;line-height:1.35;max-width:290px}.hero-stage .actions{margin-top:14px;gap:8px}.hero-stage .actions .btn{min-height:43px;padding:8px 13px;font-size:.76rem}.hero-stage:after{inset:75% 0 0}}@media(max-height:680px) and (max-width:560px){.hero-stage h1{font-size:2rem}.hero-stage .hero-content .lead{font-size:.85rem}.hero-stage .actions{margin-top:8px}}@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto;min-height:65svh}.hero-stage{position:relative;top:auto;min-height:65svh;height:auto}.hero-video{display:none}.hero-poster{opacity:1!important}.hero-stage:after{display:none}}
