


:root{--bg:#191a17;--panel:#22231f;--cream:#f3efe5;--muted:#b6b5ab;--copper:#ca9462;--line:#ffffff24;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--copper);outline-offset:6px}button{color:inherit}header{height:104px;padding:0 4.5%;display:flex;justify-content:space-between;align-items:center;position:absolute;z-index:5;top:0;width:100%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center;line-height:1.25;letter-spacing:2px;font-size:14px}.brand b{font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:7px;color:#d4c6b7}.monogram{font:italic 42px Georgia;letter-spacing:-5px;color:var(--copper);padding-right:8px}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav>a{transition:color .2s}nav>a:hover{color:var(--copper)}.nav-cta{border:1px solid #cfb69970;padding:13px 20px}.nav-cta span{margin-left:26px}.menu{display:none;background:none;border:0}.hero{min-height:800px;height:100svh;max-height:1200px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:-3%;background:url('../img/hero.jpg') center 52%/cover;animation:cinema 2s ease-out both;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,15,13,.94) 0%,rgba(14,15,13,.65) 34%,rgba(14,15,13,.1) 76%),linear-gradient(0deg,#151612d9,transparent 30%,#12141144)}.hero-content{position:relative;padding:180px 0 120px 8%;max-width:780px}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:500;display:flex;gap:12px;align-items:center}.eyebrow span{width:26px;height:1px;background:var(--copper)}h1{font-family:var(--serif);font-weight:400;font-size:clamp(80px,8.4vw,136px);line-height:1.02;letter-spacing:-3px;margin:25px 0}h1 em,h2 em{font-weight:400;color:var(--copper)}.hero-description{color:#d0cfc6;line-height:1.7;font-size:17px;margin:28px 0 34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 24px;font-size:14px;border:1px solid var(--line);transition:background .3s,transform .3s}.button:hover{transform:translateY(-3px);background:#d7a878;color:#191a17}.copper{background:var(--copper);color:#151612;border-color:var(--copper)}.hero-note{position:absolute;right:6%;bottom:160px;border-left:1px solid #fff8;padding-left:22px}.hero-note span{font-size:10px;letter-spacing:2px}.hero-note p{font-family:var(--serif);font-size:26px;line-height:1.3;margin-bottom:0}.hero-bottom{position:absolute;bottom:0;left:4.5%;right:4.5%;height:79px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.7px}.hero-bottom a span{margin-left:30px;font-size:18px;display:inline-block;animation:down 2s infinite}.skip{position:fixed;top:-90px;padding:15px;background:var(--bg);z-index:30}.skip:focus{top:0}@keyframes cinema{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes down{50%{transform:translateY(5px)}}
@media(max-width:760px){header{height:85px;padding:0 6%}.brand{font-size:12px}.brand small{font-size:8px}.monogram{font-size:36px}.menu{display:block}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#191a17;padding:30px 6%;align-items:stretch;gap:24px}nav.open{display:flex;flex-direction:column}.hero{height:92svh;min-height:700px;max-height:none}.hero-content{padding:155px 7% 120px}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#11140fec,#14171050),linear-gradient(0deg,#141710ba,transparent)}h1{font-size:85px;letter-spacing:-2px}.hero-note{display:none}.hero-bottom{left:7%;right:7%;font-size:9px}.hero-bottom>span:nth-child(2){display:none}.eyebrow{font-size:10px;letter-spacing:1.8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.ribbon{display:flex;justify-content:space-around;gap:30px;padding:28px 5%;background:#c59364;color:#25231c;align-items:center;font-size:12px;letter-spacing:2px}.ribbon i{font-style:normal;font-size:24px}.section{padding:112px 8%}.section-head{max-width:860px}.section-head>p:last-child{color:var(--muted);margin-top:24px}h2{font:400 clamp(42px,4.5vw,70px)/1.1 var(--serif);letter-spacing:-1px;margin:23px 0 28px}h3{font-weight:400;line-height:1.25}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px}.service{border-top:1px solid var(--line);padding:35px 32px 0 0}.service+.service{padding-left:32px;border-left:1px solid var(--line)}.number{font-size:11px;letter-spacing:1.5px;color:var(--copper)}.service h3{font-family:var(--serif);font-size:30px;margin:30px 0 20px}.service p{font-size:15px;color:var(--muted);line-height:1.8}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 0 15px;font-size:13px}.text-link:hover{color:var(--copper)}.portfolio{background:#20211d}.split-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:45px}.split-head>div:last-child>p,.split-head>p{color:var(--muted);font-size:15px}.filters{display:flex;gap:10px;margin:28px 0}.filters button{background:transparent;border:1px solid var(--line);padding:8px 18px;font-size:13px;border-radius:30px}.filters button.active{background:var(--cream);color:var(--bg)}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:45px 35px}.project{padding:0;background:none;border:0;text-align:left}.project:nth-child(2){padding-top:65px}.project.wide{grid-column:1/-1}.project-image{height:410px;position:relative;overflow:hidden;background:#30302a}.project.wide .project-image{height:420px}.project img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.045)}.round-arrow{position:absolute;right:20px;bottom:20px;border:1px solid #fff8;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#191a1766;font-size:20px}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:10px}.project-caption h3{font-family:var(--serif);font-size:27px;margin:20px 0}.project-caption span{font-size:9px;letter-spacing:1.2px;color:var(--muted)}[hidden]{display:none!important}.materials{display:grid;grid-template-columns:1fr 1fr;background:#d9c4a9;color:#25231e}.material-photo{min-height:690px;background:url('../img/matieres.jpg') center/cover;transition:filter 1s ease}.material-copy{padding:80px 14% 70px 12%}.material-copy h2{font-size:55px}.material-copy h2 em{color:#83502d}.material-copy>p{font-size:15px}.material-copy .eyebrow{font-size:10px}.swatches{display:flex;gap:17px;margin:32px 0}.swatches button{width:40px;height:40px;border:4px solid #d9c4a9;outline:1px solid transparent;border-radius:50%;background:var(--swatch);transition:transform .2s}.swatches button:hover{transform:translateY(-3px)}.swatches button.selected{outline-color:#4c392b}.material-copy h3{margin:0}.material-copy #tone-description{font-size:14px;min-height:70px}.material-copy small{font-size:11px;color:#54483b}.atelier{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.atelier-image{position:relative}.atelier-image img{width:100%;height:640px;object-fit:cover;filter:brightness(.83)}.atelier-image>span{position:absolute;left:25px;bottom:30px;letter-spacing:2px;font-size:10px}.atelier-copy p:not(.eyebrow){color:var(--muted);font-size:15px}.signature{font:italic 34px Georgia;color:var(--copper);margin:30px 0 10px}.process{border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:50px 0 75px}.steps article{border-top:1px solid var(--line);padding-top:30px}.steps article>span{font:40px var(--serif);color:var(--copper)}.steps h3{font-size:21px}.steps p{color:var(--muted);font-size:15px}.pricing{max-width:900px;margin:auto}.pricing details{border-bottom:1px solid var(--line);padding:22px 0}.pricing summary{cursor:pointer;font-size:17px}.pricing summary span{float:right;color:var(--copper);margin-right:15px;font-size:14px}.pricing details p{color:var(--muted);font-size:15px;max-width:700px}.pricing>small{display:block;color:var(--muted);font-size:12px;margin-top:22px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#24251f;border-top:1px solid var(--line)}.contact-copy>p{color:var(--muted);font-size:15px}.contact-copy>a{display:block}.contact-tel{font-size:27px;margin:35px 0 7px}.address{margin-top:30px}.project-form{padding-top:20px}.project-form label{display:block;font-size:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-form input,.project-form select,.project-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #ffffff40;border-radius:0;padding:12px 0;color:var(--cream);margin-bottom:25px;font-size:15px}.project-form select option{background:var(--bg)}textarea{resize:vertical}.project-form input::placeholder,.project-form textarea::placeholder{color:#a5a599}.form-note{color:var(--muted);font-size:12px;margin:0 0 24px}.project-form .button{width:100%}.form-result{color:var(--copper);font-size:14px}footer{padding:50px 5% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:35px}.footer-top>p{font:italic 20px Georgia;color:var(--muted)}.footer-top>div{display:flex;gap:20px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;font-size:11px;color:var(--muted)}.footer-bottom button{background:none;border:0;padding:0;font-size:inherit}.reveal{transition:opacity .8s,transform .8s}.motion .reveal{opacity:0;transform:translateY(30px)}.motion .reveal.visible{opacity:1;transform:none}dialog{border:1px solid var(--line);background:var(--bg);color:var(--cream);max-width:900px;width:90%;max-height:90svh;padding:35px}dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}dialog>img{width:100%;max-height:55svh;object-fit:contain;background:#111}dialog h2{font-size:38px}.dialog-close{position:absolute;right:12px;top:10px;border:0;border-radius:50%;font-size:28px;background:#191a17;width:40px;height:40px}#credits-dialog{max-width:650px}#credits-dialog p{color:var(--muted)}#credits-dialog a{text-decoration:underline}body.modal-open{overflow:hidden}
@media(max-width:1000px){nav{gap:20px}.section{padding:80px 6%}.service{padding-right:20px}.service+.service{padding-left:20px}.project-caption{display:block}.project-caption h3{margin-bottom:5px}.material-copy{padding:60px 10%}.material-copy h2{font-size:44px}.atelier{gap:7%}.atelier-image img{height:550px}.footer-top>p{display:none}}@media(max-width:760px){.ribbon{flex-wrap:wrap;gap:12px 22px;font-size:9px;padding:22px 5%}.ribbon i{font-size:15px}.ribbon i:last-of-type{display:none}.section{padding:70px 7%}h2{font-size:45px}.services,.gallery,.materials,.atelier,.contact,.steps{grid-template-columns:1fr}.services{margin-top:30px}.service,.service+.service{padding:30px 0;border-left:0}.service h3{margin-top:15px}.service p{max-width:500px}.split-head{display:block;margin-bottom:30px}.split-head h2{margin-bottom:20px}.filters{margin:25px 0 0}.gallery{gap:35px}.project:nth-child(2){padding-top:0}.project-image,.project.wide .project-image{height:340px}.project-caption{display:flex}.project-caption h3{font-size:24px}.project-caption span{font-size:8px;max-width:110px;text-align:right}.material-photo{min-height:360px}.material-copy{padding:50px 7%}.material-copy h2{font-size:45px}.material-copy #tone-description{min-height:45px}.atelier{gap:40px}.atelier-image img{height:440px}.steps{gap:25px;margin-bottom:50px}.steps h3{margin:15px 0}.steps article{padding-top:20px}.pricing summary{font-size:15px}.pricing summary span{font-size:12px;margin:0}.contact{gap:20px}.form-row{grid-template-columns:1fr;gap:0}.footer-top,.footer-bottom{flex-wrap:wrap}.footer-top{align-items:start}.footer-top>div{flex-direction:column;gap:10px}.footer-bottom{font-size:10px}.project-form{padding-top:0}dialog{padding:26px 20px}}
.logo-mark{display:block;width:52px;height:52px;flex-shrink:0;border-radius:50%;overflow:hidden;background:#b87b46}.logo-mark img{width:100%;height:100%;object-fit:cover;display:block}.project[data-category=auto]:first-child img{object-position:center 64%}.hero-content{animation:content-in 1.1s ease-out both}@keyframes content-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* Immersive edition: depth, masked type, a continuous ribbon and photographic reveals. */
.hero-stage{position:relative}.immersive .hero-stage{height:auto;min-height:0}.immersive .hero{position:relative;max-height:none;min-height:760px;height:100svh;isolation:isolate}.immersive .hero-photo{animation:none;transform:scale(1.04);transition:transform .12s linear}.immersive .hero-content{animation:none;will-change:transform,opacity}.hero::after{content:'';position:absolute;inset:0;background:#121411;opacity:var(--hero-shade,0);pointer-events:none;z-index:0}.hero-content,.hero-note,.hero-bottom{z-index:1}.immersive .hero-note{animation:detail-in 1s .7s backwards}.immersive .hero-description{animation:detail-in 1s .5s backwards}.immersive .hero-content>.button{animation:detail-in 1s .75s backwards}.word-mask{display:inline-block;vertical-align:top;overflow:hidden;padding:0 .09em .13em;margin:0 -.09em -.13em}.word-inner{display:inline-block}.immersive h1 .word-inner{animation:word-up 1.3s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--word-delay)}.immersive .reveal h2 .word-inner{transform:translateY(115%) rotate(4deg);transition:transform 1.2s cubic-bezier(.16,1,.3,1);transition-delay:var(--word-delay)}.immersive .reveal.visible h2 .word-inner{transform:none}.immersive .reveal{transition-duration:1s;transition-delay:var(--reveal-delay,0ms)}.immersive .section-head,.immersive .split-head,.immersive .atelier-copy,.immersive .contact-copy,.immersive .material-copy{transform:none}.ribbon{display:block;overflow:hidden;padding:24px 0}.ribbon-track{display:flex;width:max-content}.ribbon-set{display:flex;align-items:center;justify-content:space-around;gap:55px;min-width:100vw;padding:0 28px;flex-shrink:0}.ribbon-set>span{white-space:nowrap}.immersive .ribbon-track{animation:ribbon-flow 30s linear infinite}.ribbon:hover .ribbon-track{animation-play-state:paused}.reading-progress{position:fixed;z-index:40;top:0;left:0;width:100%;height:3px;background:var(--copper);transform:scaleX(0);transform-origin:left;pointer-events:none}.motion-control{position:fixed;z-index:15;right:20px;bottom:18px;padding:9px 14px;background:#191a17dc;backdrop-filter:blur(12px);border:1px solid #d6b39355;border-radius:30px;font-size:12px;letter-spacing:.4px;color:var(--cream)}.motion-control:hover{border-color:var(--copper)}.immersive .project-image img,.immersive .atelier-image img{transform:translateY(var(--image-y,0px)) scale(1.14);transition:transform .18s linear}.immersive .project:hover img{transform:translateY(var(--image-y,0px)) scale(1.2)}.atelier-image{overflow:hidden}.immersive .project-image::after,.immersive .atelier-image::after{content:'';position:absolute;inset:0;background:#b58457;transform-origin:top;transform:scaleY(1);transition:transform 1.15s cubic-bezier(.76,0,.24,1);pointer-events:none}.immersive .project.visible .project-image::after,.immersive .atelier-image.visible::after{transform:scaleY(0)}.immersive .project-image{clip-path:inset(8% 0 8% 0);transition:clip-path 1.3s cubic-bezier(.16,1,.3,1)}.immersive .project.visible .project-image{clip-path:inset(0)}.immersive .project{transition:transform .35s ease,opacity .8s}.round-arrow{transition:background .3s,rotate .4s,scale .4s}.project:hover .round-arrow{background:var(--copper);color:var(--bg);rotate:45deg;scale:1.12}.button,.nav-cta{position:relative;overflow:hidden;transition:translate .2s ease,background .3s,transform .3s}.button::before{content:'';position:absolute;inset:-80% -25%;background:linear-gradient(110deg,transparent 35%,#ffffff35 50%,transparent 65%);transform:translateX(-100%);pointer-events:none}.immersive .button:hover::before{transform:translateX(100%);transition:transform .8s}.text-link span{transition:transform .4s}.text-link:hover span{transform:translate(4px,-4px)}.immersive .services .service{border-top:0;position:relative}.immersive .services .service::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.immersive .services .service.visible::before{transform:scaleX(1)}.immersive dialog[open]{animation:dialog-in .45s cubic-bezier(.16,1,.3,1)}.immersive dialog[open]::backdrop{animation:backdrop-in .4s}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}.motion-paused .reveal{opacity:1;transform:none}.motion-paused .word-inner{transform:none!important}.motion-paused .ribbon-set[aria-hidden]{display:none}.motion-paused .ribbon-track{width:100%}.motion-paused .ribbon-set{min-width:0;width:100%;flex-wrap:wrap;gap:20px}.motion-paused .reading-progress{display:none}@keyframes word-up{from{transform:translateY(120%) rotate(5deg)}to{transform:none}}@keyframes detail-in{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes ribbon-flow{to{transform:translateX(-50%)}}@keyframes dialog-in{from{opacity:0;transform:translateY(35px) scale(.96)}to{opacity:1;transform:none}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.immersive .hero-stage{height:auto;min-height:0}.immersive .hero{position:relative;height:92svh;min-height:700px}.ribbon-set{gap:30px;padding:0 15px}.ribbon{padding:23px 0}.motion-control{right:12px;bottom:12px;font-size:11px;padding:8px 11px}.immersive .hero-photo{transition:none}.immersive .project-image img,.immersive .atelier-image img{transition:none}.immersive .reveal{transition-delay:0ms}.footer-bottom{padding-bottom:45px}.immersive .hero-content{padding-top:155px}}@media(prefers-reduced-motion:reduce){.immersive .hero-stage{height:auto;min-height:0}.immersive .hero{position:relative}.word-inner{transform:none!important}.immersive .project-image::after,.immersive .atelier-image::after{display:none}.immersive .project-image{clip-path:none}.immersive .reveal{opacity:1;transform:none}}
/* Open price cards: every rate stays readable without an accordion. */
.pricing-section{background:#20211d;border-top:1px solid var(--line);position:relative;padding-top:90px;padding-bottom:75px}.pricing-heading{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:48px}.pricing-heading h2{margin-bottom:0}.pricing-intro{max-width:380px;padding-bottom:6px}.estimate-label{display:inline-block;font-size:11px;letter-spacing:1.5px;color:var(--copper);padding-bottom:10px;border-bottom:1px solid #ca946250}.pricing-intro p{font-size:15px;color:var(--muted);margin:18px 0 0}.rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.rate-card{display:flex;flex-direction:column;position:relative;padding:28px 25px 22px;background:#191a17;border:1px solid #ca94623b;isolation:isolate;overflow:hidden;--rate-muted:#b6b5ab;--rate-line:#ffffff24;--rate-accent:#d4a372}.rate-card::before{content:'';position:absolute;inset:8px;border:1px dashed #ca946235;pointer-events:none;z-index:-1}.rate-card::after{content:'';position:absolute;left:0;top:0;right:0;height:2px;background:var(--rate-accent);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.16,1,.3,1);pointer-events:none}.rate-card:hover::after,.rate-card:focus-within::after{transform:scaleX(1)}.rate-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.rate-index{font:italic 25px var(--serif);color:var(--rate-accent)}.rate-category{font-size:9px;letter-spacing:1.2px;color:var(--rate-muted);text-align:right}.rate-card h3{font:400 clamp(32px,2.7vw,44px)/1.15 var(--serif);margin:28px 0 12px}.rate-description{font-size:14px;line-height:1.7;color:var(--rate-muted);margin:0;min-height:50px}.rate-start{padding:32px 0 26px}.rate-start>span{font-size:10px;letter-spacing:1.7px;color:var(--rate-muted)}.rate-start>p{font:400 clamp(62px,5.8vw,86px)/1.05 var(--serif);letter-spacing:-2px;margin:11px 0 0;font-variant-numeric:lining-nums}.rate-start>p>small{font-size:.48em;letter-spacing:0}.rate-custom>p{font-size:clamp(40px,3.7vw,55px);letter-spacing:-1px;line-height:1.6}.rate-custom em{color:var(--rate-accent)}.rate-list{margin:0 0 30px;border-top:1px solid var(--rate-line)}.rate-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;min-height:62px;border-bottom:1px solid var(--rate-line)}.rate-list dt{font-size:14px;line-height:1.5;max-width:66%}.rate-list dt>small{display:block;color:var(--rate-muted);font-size:11px;margin-top:3px}.rate-list dd{margin:0;white-space:nowrap;font-size:16px;font-weight:500;text-align:right}.rate-list dd>span{display:block;font-size:10px;font-weight:400;color:var(--rate-muted);line-height:1.2}.rate-list .rate-quote{font-size:13px;color:var(--rate-accent);font-weight:400}.rate-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 2px;font-size:13px}.rate-link>span{display:grid;place-items:center;border:1px solid var(--rate-line);border-radius:50%;width:35px;height:35px;flex-shrink:0;font-size:19px;transition:rotate .35s,background .35s}.rate-link:hover>span{background:var(--rate-accent);color:#191a17;rotate:45deg}.rate-cognac{background:#c79565;color:#221e19;--rate-muted:#514031;--rate-line:#34271c35;--rate-accent:#503320;border-color:#c79565}.rate-cognac::before{border-color:#3e2c2540}.rate-cognac .rate-link>span{background:#241e18;color:#e2bf97}.rate-cognac .rate-link:hover>span{background:#503320;color:#fff}.pricing-footnote{display:flex;gap:20px;align-items:center;margin-top:32px;max-width:850px}.pricing-footnote-mark{font-size:33px;color:var(--copper)}.pricing-footnote p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.immersive .rate-card{transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1),box-shadow .4s;transition-delay:calc(var(--card-order)*130ms)}.immersive .rate-card.visible:hover{transform:translateY(-8px);box-shadow:0 22px 45px #0003;transition-delay:0ms}.immersive .rate-card.visible .rate-start>p{animation:rate-enter .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--card-order)*130ms + 100ms)}.immersive .rate-card.visible .rate-list>div{animation:rate-row-in .65s ease both;animation-delay:calc(var(--card-order)*130ms + var(--row)*85ms + 160ms)}@keyframes rate-enter{from{opacity:0;translate:0 18px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes rate-row-in{from{opacity:0;translate:-10px 0}to{opacity:1;translate:0 0}}@media(min-width:761px) and (max-width:1150px){.pricing-section{padding-left:4%;padding-right:4%}.rate-grid{gap:12px}.rate-card{padding:23px 18px}.rate-category{font-size:8px;letter-spacing:.7px}.rate-list dt{font-size:13px}.rate-list dd{font-size:15px}.rate-description{min-height:72px}.rate-custom>p{font-size:40px;line-height:1.5}.rate-link{font-size:12px}}@media(max-width:760px){.pricing-heading{display:block;margin-bottom:32px}.pricing-intro{margin-top:28px;max-width:none}.pricing-heading h2{font-size:45px}.rate-grid{grid-template-columns:1fr;gap:22px}.rate-card{padding:28px}.rate-card h3{font-size:40px}.rate-description{min-height:0}.rate-start{padding:26px 0}.rate-start>p{font-size:74px}.rate-custom>p{font-size:53px;line-height:1.2}.rate-category{font-size:10px}.rate-list dt{font-size:15px}.rate-list dd{font-size:17px}.rate-list .rate-quote{font-size:14px}.rate-link{font-size:14px}.pricing-footnote{align-items:start;gap:14px}.pricing-footnote p{font-size:12px}.immersive .rate-card,.immersive .rate-card.visible .rate-start>p,.immersive .rate-card.visible .rate-list>div{transition-delay:0ms;animation-delay:0ms}.immersive .rate-card.visible:hover{transform:none}}

/* ===== Apparition des images : rideau vertical + zoom qui se pose (remplace le voile cuivre) ===== */
@property --zoom{syntax:'<number>';inherits:false;initial-value:1}
.project.reveal,.atelier-image.reveal{opacity:1;transform:none;transition:none}
.project.reveal .project-image,.atelier-image.reveal img{clip-path:inset(100% 0 0 0);transition:clip-path 1.25s cubic-bezier(.76,0,.24,1);transition-delay:var(--reveal-delay,0ms)}
.project.reveal.visible .project-image,.atelier-image.reveal.visible img{clip-path:inset(0 0 0 0)}
/* (le clip est posé sur l'image, pas sur le bloc observé : un élément entièrement clippé n'est jamais « visible » pour IntersectionObserver) */
.project-image img{--zoom:1.28;transform:scale(var(--zoom));transition:--zoom 1.8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.atelier-image img{--zoom:1.28;transform:scale(var(--zoom));transition:--zoom 1.8s cubic-bezier(.22,1,.36,1),clip-path 1.25s cubic-bezier(.76,0,.24,1)}
.project.reveal.visible .project-image img,.atelier-image.reveal.visible img{--zoom:1}
.project:hover img{--zoom:1.045;transition:--zoom .9s cubic-bezier(.22,1,.36,1)}
.immersive .project-image img,.immersive .atelier-image img{transform:translateY(var(--image-y,0px)) scale(var(--zoom));transition:transform .18s linear,--zoom 1.8s cubic-bezier(.22,1,.36,1),clip-path 1.25s cubic-bezier(.76,0,.24,1)}
.immersive .project.reveal.visible .project-image img,.immersive .atelier-image.reveal.visible img{--zoom:1.14}
.immersive .project:hover img{--zoom:1.2}
.immersive .project-image::after,.immersive .atelier-image::after{display:none}
.project .project-caption{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--reveal-delay,0ms) + .55s)}
.project.visible .project-caption{opacity:1;transform:none}
.project .round-arrow{opacity:0;transform:scale(.6);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--reveal-delay,0ms) + .8s)}
.project.visible .round-arrow{opacity:1;transform:none}
.atelier-image>span{opacity:0;transform:translateY(10px);transition:opacity .8s ease .7s,transform .8s cubic-bezier(.22,1,.36,1) .7s}
.atelier-image.visible>span{opacity:1;transform:none}
/* Matières : la photo se dévoile de gauche à droite quand le texte apparaît */
.material-photo{clip-path:inset(0 100% 0 0);transition:clip-path 1.3s cubic-bezier(.76,0,.24,1),filter .7s}
.materials:has(.visible) .material-photo,.materials.visible .material-photo{clip-path:inset(0 0 0 0)}
/* Sans animation : tout visible */
.motion-paused .project-image,.motion-paused .atelier-image img,.motion-paused .material-photo{clip-path:none!important}
.motion-paused .project-caption,.motion-paused .round-arrow,.motion-paused .atelier-image>span{opacity:1!important;transform:none!important}
.motion-paused .project-image img,.motion-paused .atelier-image img{--zoom:1!important}
@media(prefers-reduced-motion:reduce){.project-image,.atelier-image img,.material-photo{clip-path:none!important}.project-caption,.round-arrow,.atelier-image>span{opacity:1!important;transform:none!important}.project-image img,.atelier-image img{--zoom:1!important}}




:root{--bg:#faf7f1;--panel:#f0eae0;--cream:#332c24;--muted:#746b60;--copper:#96603a;--line:#49382426}body{background:var(--bg);color:var(--cream)}header{background:#faf7f1eb;border-color:var(--line)}.brand small{color:#7b6955}nav{gap:25px;font-size:13px}.nav-cta{border-color:#a8795260}.hero,.immersive .hero{background:#f3ede3;min-height:760px}.hero-photo{background-image:url('../img/hero.jpg');background-position:center;background-size:cover;inset:130px 3.5% 115px 43%;border-radius:3px}.hero-shade{background:none}.hero::after{display:none}.hero-content,.immersive .hero-content{max-width:46%;padding:180px 0 125px 6%}.hero-content h1{font-size:clamp(65px,6.8vw,110px);line-height:1.03;letter-spacing:-2px}.hero-description{color:#746b60;font-size:16px}.hero-content .eyebrow{font-size:10px;letter-spacing:1.6px}.hero-content .button{gap:22px}.hero-note{right:5.5%;bottom:145px;background:#fbf7eedf;color:#403126;border:1px solid #ffffffa0;padding:17px 23px;backdrop-filter:blur(10px)}.hero-note p{font-size:23px;margin-top:7px}.hero-note span{color:#806044}.hero-bottom{border-color:var(--line)}.hero-bottom>span{color:#766853}.copper{background:#96603a;color:#fff8f0;border-color:#96603a}.button:hover{background:#ad754b;color:white}.ribbon{background:#dfc4a3;color:#573d29}.portfolio{background:#efe9df}.filters button.active{background:#8b5938;color:white}.project-image{background:#dfd4c5}.round-arrow{color:#fff8ee}.services .service p,.steps p,.atelier-copy p:not(.eyebrow){color:var(--muted)}.materials{background:#e4d2b7}.material-copy{color:#483627}.material-copy h2 em{color:#81512f}.swatches button{border-color:#e4d2b7}.atelier-image img{filter:none}.atelier-image>span{color:white;text-shadow:0 1px 8px #000}.pricing-section{background:#f1ebe1;border-color:var(--line)}.pricing-heading h2{margin-bottom:0}.pricing-heading{align-items:center}.pricing-intro{max-width:390px;color:var(--muted);font-size:16px}.estimate-label{color:#865738}.motion-control{background:#fffaf1ed;color:#5b4533;border-color:#bca18166}.reading-progress{background:#a26a40}.contact{background:#f0e8dc;grid-template-columns:.8fr 1.3fr;gap:8%;align-items:start}.contact-copy{position:sticky;top:35px}.contact-copy h2{font-size:clamp(40px,4.2vw,64px)}.contact-copy>p{color:#756758}.contact-note{border-top:1px solid var(--line);padding-top:24px;margin-top:35px;font-size:14px}.contact-note>span{color:#865633}.contact-note p{color:var(--muted);font-size:14px}footer{background:#fffaf3}.footer-bottom{padding-bottom:35px}.footer-top>p{color:#806044}.dialog-close{background:#f3eade;color:#5d422d}dialog{background:#fffaf3;color:#332c24;border-color:#b59c7c}dialog::backdrop{background:#30241988}.project-form select option{background:#fff;color:#332c24}.project-form input::placeholder,.project-form textarea::placeholder{color:#938574}#credits-dialog p{color:#746b60}.project-form{padding:32px;background:#fffaf4;border:1px solid #cfbda5;box-shadow:0 12px 35px #49341d05}.project-form label{font-size:13px;color:#625342}.project-form input,.project-form select,.project-form textarea,.sim-choices select{background:#fffefb;color:#3b3026;border:1px solid #cbbdaa;border-radius:3px;padding:13px 12px;margin:8px 0 21px;width:100%;font-size:15px;min-width:0}.project-form input:focus,.project-form textarea:focus,.project-form select:focus,.sim-choices select:focus{outline:2px solid #a66a3a;outline-offset:2px}.project-form fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.project-form legend{font-size:20px;font-family:var(--serif);width:100%;border-bottom:1px solid var(--line);padding:0 0 16px;margin-bottom:23px}.project-form legend>span{font:12px 'DM Sans',sans-serif;color:#a06b40;margin-right:12px}.form-required{font-size:11px;color:var(--muted);margin:0 0 28px}.field-hint{font-size:12px;color:var(--muted);line-height:1.7}.form-row>*{min-width:0}.upload-zone{display:flex!important;flex-direction:column;gap:7px;align-items:center;border:1px dashed #ba9874;background:#faf5eb;padding:25px!important;cursor:pointer;position:relative;transition:background .2s}.upload-zone:hover,.upload-zone.dragging{background:#efe1cd}.upload-zone:focus-within{outline:2px solid #a66a3a;outline-offset:3px}.upload-zone input{position:absolute;width:1px!important;height:1px;opacity:0;padding:0!important;border:0!important;left:50%;bottom:10px;margin:0!important}.upload-icon{font-size:26px;color:#9c6a42}.upload-zone strong{font-weight:500;font-size:15px}.upload-zone>span:last-of-type{font-size:12px;color:var(--muted)}.photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.photo-item{margin:0;position:relative;min-width:0}.photo-item img{width:100%;height:95px;object-fit:cover;border-radius:3px}.photo-item figcaption{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.photo-item button{position:absolute;top:4px;right:4px;background:#fffaf3;border:1px solid #d8c9b5;border-radius:50%;width:25px;height:25px;font-size:17px;line-height:1;color:#442c1c}.error-message{font-size:13px;color:#a13220}.error-message:empty{display:none}.transfer-note{font-size:13px;background:#eee0ca;color:#785030;padding:14px}.form-note{color:#7b6d5a}.simulator{display:grid;grid-template-columns:1.3fr 1fr;border:1px solid #c8b293;background:#fffaf3;margin-top:40px}.sim-choices{padding:38px}.step-label,.sim-choices>label,.sim-choices .form-row label{font-size:11px;letter-spacing:1.2px;color:#7c6249;display:block}.category-picker{display:flex;gap:8px;margin:15px 0 30px}.category-picker button{border:1px solid #cbb79e;background:transparent;padding:13px 15px;flex:1;font-size:13px;border-radius:3px;transition:background .25s,color .25s}.category-picker button[aria-pressed=true]{background:#9c6b44;border-color:#9c6b44;color:#fff8ef}.sim-choices select{margin-top:12px;letter-spacing:0}.sim-explainer{font-size:12px;color:#8a7964;line-height:1.8}.sim-result{background:#e5d1b3;padding:38px;display:flex;flex-direction:column;color:#4a3524}.sim-result .estimate-label{font-size:11px;letter-spacing:1.7px;border-bottom:1px solid #8e664840;padding-bottom:20px}.estimate-number{font:clamp(48px,5vw,75px)/1.1 var(--serif);letter-spacing:-2px;margin:8px 0 12px}#estimate-prefix{display:block;font-size:10px;letter-spacing:2px;color:#785536;margin-top:30px}#estimate-service{font-size:17px;margin:0 0 25px}.estimate-specs{display:flex;gap:7px;flex-wrap:wrap}.estimate-specs span{font-size:11px;background:#ffffff40;border:1px solid #9d785633;padding:5px 9px}.estimate-disclaimer{font-size:12px;color:#75583e;line-height:1.8;margin:24px 0}.sim-result .button{margin-top:auto;gap:15px}.price-reference{margin-top:40px}.reference-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.reference-columns h3{font:25px var(--serif);margin:10px 0 20px}.reference-columns p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);font-size:12px;padding-bottom:12px}.reference-columns b{font-weight:500;white-space:nowrap;color:#865a36}.faq-section{display:grid;grid-template-columns:.8fr 1.3fr;gap:9%;background:#fffcf7}.faq-heading p:not(.eyebrow){color:var(--muted);font-size:15px}.faq-heading .text-link{max-width:280px}.faq-list details{border-bottom:1px solid #cbbdaa;padding:22px 0}.faq-list details:first-child{border-top:1px solid #cbbdaa}.faq-list summary{font-size:16px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';color:#9e6f42;font-size:25px;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details p{font-size:14px;color:var(--muted);line-height:1.9;margin:18px 35px 0 0}.faq-list details[open] p{animation:faq-open .35s ease}.summary-rows{margin:20px 0}.summary-rows>div{border-bottom:1px solid var(--line);padding:10px 0;display:grid;grid-template-columns:140px 1fr;gap:15px;font-size:14px}.summary-rows dt{color:var(--muted)}.summary-rows dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.summary-notice{background:#eee1ca;padding:16px;font-size:13px}#request-summary{max-width:750px}#request-summary h2{font-size:43px}.estimate-refresh{animation:estimate-refresh .4s ease}@keyframes faq-open{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}@keyframes estimate-refresh{from{opacity:.2;translate:0 9px}to{opacity:1;translate:0 0}}.immersive .hero-stage{height:auto;min-height:0}
@media(max-width:1100px){nav{gap:14px;font-size:12px}.nav-cta{padding:10px}.nav-cta span{margin-left:8px}.hero-content,.immersive .hero-content{padding-left:5%;max-width:45%}.hero-content h1{font-size:74px}.hero-content .eyebrow{font-size:8px}.hero-content .button{font-size:12px;padding:15px}.sim-choices,.sim-result{padding:26px}.contact{gap:5%;grid-template-columns:.8fr 1.2fr}.project-form{padding:24px}.reference-columns{gap:22px}.reference-columns p{font-size:11px}}
@media(max-width:760px){header{background:#faf7f1;height:85px}nav{background:#faf7f1;font-size:16px;gap:22px}.hero,.immersive .hero{height:960px;min-height:0;max-height:none}.immersive .hero-stage{height:auto;min-height:0}.hero-content,.immersive .hero-content{padding:135px 7% 0;max-width:none}.hero-content h1{font-size:72px;margin:18px 0}.hero-content .eyebrow{font-size:9px}.hero-description{margin:20px 0 25px}.hero-photo{inset:530px 5% 100px;border-radius:2px;background-position:center}.hero-note{display:none}.hero-bottom{height:65px}.hero-content .button{font-size:13px}.simulator,.contact,.faq-section,.reference-columns{grid-template-columns:1fr}.sim-choices,.sim-result{padding:25px}.category-picker{gap:6px}.category-picker button{padding:12px 8px;font-size:12px}.sim-choices .form-row{grid-template-columns:1fr}.sim-result .button{margin-top:6px}.estimate-number{font-size:65px}.reference-columns{gap:20px}.reference-columns p{font-size:14px}.faq-section{gap:35px}.faq-heading h2{font-size:45px}.contact-copy{position:static}.contact{gap:35px}.project-form{padding:24px 20px}.project-form input,.project-form select,.project-form textarea,.sim-choices select{font-size:16px}.photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-heading{display:block}.pricing-intro{margin-top:23px}.summary-rows>div{grid-template-columns:1fr;gap:4px}.motion-control{color:#6d4b32}.faq-list summary{font-size:15px}.hero-bottom>span:nth-child(2){display:none}}
/* Hero plein cadre : retrouver la composition immersive d’origine. */
.hero,.immersive .hero{height:100svh;min-height:800px;max-height:1200px;background:#eee3d4}.hero-photo{inset:-3%;border-radius:0;background-position:center 54%;background-size:cover}.hero-shade{background:linear-gradient(90deg,rgba(250,247,239,.94) 0%,rgba(250,247,239,.84) 25%,rgba(250,247,239,.33) 53%,rgba(250,247,239,0) 78%),linear-gradient(0deg,rgba(247,241,229,.88),transparent 20%,transparent 75%,rgba(247,241,229,.24))}.hero-content,.immersive .hero-content{max-width:780px;padding:180px 0 120px 8%}.hero-content h1{font-size:clamp(80px,8.4vw,136px);line-height:1.02;letter-spacing:-3px}.hero-content .eyebrow{font-size:12px;letter-spacing:2.5px}.hero-description{font-size:17px;color:#605445}.hero-content .button{font-size:14px;gap:45px;padding:17px 24px}.hero-note{right:6%;bottom:160px;border:0;border-left:1px solid #fffbefb0;background:none;backdrop-filter:none;padding:0 0 0 22px;color:#fff8ec;text-shadow:0 2px 14px #35200b80}.hero-note span{color:#fff2de;font-size:10px}.hero-note p{font-size:26px;margin-top:16px}.hero-bottom{left:4.5%;right:4.5%;height:79px;border-top:1px solid #77614555;color:#544332}.hero-bottom>span{color:#544332}header{background:rgba(250,247,241,.78);backdrop-filter:blur(10px)}
@media(max-width:760px){header{background:#faf7f1e8}.hero,.immersive .hero{height:92svh;min-height:740px;max-height:none}.hero-photo{inset:-3%;background-position:57% center}.hero-content,.immersive .hero-content{max-width:none;padding:155px 7% 120px}.hero-content h1{font-size:85px;letter-spacing:-2px}.hero-content .eyebrow{font-size:10px;letter-spacing:1.8px}.hero-content .button{font-size:13px;gap:28px}.hero-shade{background:linear-gradient(90deg,#faf7efeb,#faf7ef88 65%,#faf7ef20),linear-gradient(0deg,#faf7efb0,transparent 25%)}.hero-note{display:none}.hero-bottom{left:7%;right:7%;font-size:9px}.hero-description{font-size:16px}}



/* ==========================================================================
   Compléments thème WordPress (header/footer, formulaire, RGPD, réseaux, pages internes)
   ========================================================================== */
.site-main{display:block}
.skip{position:absolute;left:-9999px;top:16px;z-index:1000;background:var(--copper,#b87b46);color:#fff;padding:8px 14px}
.skip:focus{left:16px}
.brand__text{display:block}
.menu-toggle{display:none}
@media(max-width:760px){.menu-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);padding:9px 14px;font-size:13px;border-radius:30px}.menu{display:none}}
nav#navigation a.is-active{color:var(--ink,#191816)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.button.ghost{background:transparent;color:inherit;border-color:currentColor}
.button.ghost:hover{background:rgba(0,0,0,.06);color:inherit}
.hero-content .button.ghost{color:#191816;border-color:rgba(25,24,22,.55);background:rgba(251,248,243,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero-content .button.ghost:hover{background:#fbf8f3;border-color:#191816;color:#191816}
.hero-google .google-badge{padding:6px 12px;font-size:11px}
.filters button.is-active{background:#8b5938;color:#fff}
.project{text-align:left;color:inherit;text-decoration:none}
.project video{width:100%;height:100%;object-fit:cover;display:block}
.project[hidden],.project.is-hidden{display:none}
.gallery-empty{grid-column:1/-1;padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);font-size:14px}
.portfolio-more{margin:40px 0 0;text-align:center}
.hero-photo{background-image:url('../img/hero.jpg')}
/* formulaire */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form__status{margin:18px 0 0;padding:14px 18px;border-left:2px solid #8b5938;background:rgba(184,123,70,.08);font-size:14px}
.form__status[hidden]{display:none}
.form__status.is-success{border-color:#2f8f5a;background:rgba(47,143,90,.08)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--muted);margin-top:8px;cursor:pointer}
.consent input{margin-top:3px;accent-color:#8b5938}
.consent a{text-decoration:underline;text-underline-offset:3px}
.form__via{margin-top:10px}
.via-options{display:flex;gap:10px;flex-wrap:wrap}
.via{position:relative;cursor:pointer}
.via input{position:absolute;opacity:0;width:1px;height:1px}
.via>span{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid var(--line);border-radius:30px;font-size:13px;transition:background .3s,color .3s,border-color .3s}
.via input:checked+span{background:#191816;color:#f4efe7;border-color:#191816}
.via--wa input:checked+span{background:#1fb457;border-color:#1fb457;color:#fff}
.form__via-note{margin-top:10px}
.project-form.is-wa .form__submit{background:#25d366;color:#fff;border-color:#25d366}
.transfer-note:not([hidden]){display:block}
.contact-wa{margin-top:12px;display:inline-flex}
/* footer */
.footer-tagline{font-style:italic;font-family:'Italiana',serif;font-size:20px;margin:0}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:30px;width:100%;margin-top:10px}
.footer-cols h4{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:600}
.footer-cols ul{list-style:none;margin:0;padding:0}
.footer-cols li{font-size:13px;margin-bottom:8px}
.footer-cols li a:hover{color:#8b5938}
.social{list-style:none;margin:0;padding:0}
.social__item a{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.social__item .icon{width:14px;height:14px;color:#8b5938}
.social__item .icon svg{width:100%;height:100%;display:block}
.footer-top{flex-wrap:wrap}
.footer-bottom{flex-wrap:wrap}
.site-footer__legal{margin:0}
.site-footer__legal a{text-decoration:underline;text-underline-offset:3px}
.site-footer__legal span{margin:0 6px}
.footer-credit a{color:#8b5938}
@media(max-width:760px){.footer-cols{grid-template-columns:1fr}}
/* lightbox */
#lightbox-link{margin-top:14px;display:inline-flex}
/* témoignages */
.testimonials .quotes{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:40px}
.testimonials .quotes::-webkit-scrollbar{display:none}
.quotes__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,380px);gap:20px}
.quote{padding:30px;border:1px solid var(--line);background:#fbf8f3;border-radius:4px;display:flex;flex-direction:column;gap:18px;margin:0;scroll-snap-align:start}
.quote__text{font-family:'Italiana',serif;font-size:22px;line-height:1.35;margin:0;flex:1}
.quote__text p{margin:0}
.quote__foot{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.quote__name{color:var(--ink,#191816);font-weight:600}
.quote__google{display:flex;align-items:center;gap:10px}
.google-g{width:18px;height:18px}
.stars{display:inline-flex;gap:2px}
.star{width:13px;height:13px;color:#e8b400;fill:rgba(0,0,0,.12)}.star.is-full{fill:currentColor}
.google-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line);border-radius:30px;background:#fbf8f3;color:inherit}
.google-badge__rating{font-family:'Italiana',serif;font-size:22px}
.google-badge__count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.testimonials__google{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.quote__avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px}
/* bandeau cookies */
.ck{position:fixed;left:22px;right:22px;bottom:22px;z-index:150;display:flex;pointer-events:none}
.ck[hidden]{display:none}
.ck__box{pointer-events:auto;width:min(520px,100%);padding:28px 30px 26px;background:#fbf8f3;border:1px solid var(--line);border-radius:4px;box-shadow:0 40px 90px -30px rgba(25,24,22,.4);transform:translateY(20px);opacity:0;animation:ckIn .6s cubic-bezier(.22,1,.36,1) forwards}
@keyframes ckIn{to{transform:none;opacity:1}}
.ck__title{font-family:'Italiana',serif;font-size:24px;margin:0 0 10px}
.ck__text{font-size:13.5px;color:var(--muted);margin:0 0 18px}
.ck__text a{text-decoration:underline;text-underline-offset:3px}
.ck__cats{display:grid;gap:10px;margin:0 0 18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ck__cats[hidden]{display:none}
.ck__cat{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.ck__cat input{margin:4px 0 0;accent-color:#8b5938;width:16px;height:16px;flex:none}
.ck__cat strong{display:block;font-size:13px}
.ck__cat small{font-size:12px;color:var(--muted)}
.ck__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ck__actions .button{padding:12px 18px;font-size:12px;gap:14px}
.ck__actions .button.ghost{color:inherit;border-color:var(--line)}
.ck [hidden]{display:none!important}
.ck__link{background:none;border:0;color:var(--muted);font-size:12px;cursor:pointer;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}
.ck-embed{position:relative;width:100%;height:100%;background:#e9e0d2}
.ck-embed iframe{width:100%;height:100%;border:0;display:block}
.ck-embed__wall{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:30px}
.ck-embed__wall p{max-width:42ch;font-size:13px;color:var(--muted);margin:0}
.ck-embed.is-loaded .ck-embed__wall{display:none}
@media(max-width:600px){.ck{left:12px;right:12px;bottom:12px}.ck__box{padding:22px 20px}}
/* WhatsApp flottant */
.wa-float{position:fixed;bottom:22px;z-index:90;display:flex;align-items:center;min-width:54px;height:54px;border-radius:999px;background:#25d366;color:#fff;box-shadow:0 12px 30px -10px rgba(37,211,102,.7);transition:transform .3s,box-shadow .3s}
.wa-float--left{left:22px}.wa-float--right{right:22px}
.wa-float .icon{width:54px;height:54px;padding:14px;flex:none}.wa-float .icon svg{width:100%;height:100%}
.wa-float__label{flex:none;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:max-width .4s,opacity .3s,padding .4s}
.wa-float:hover .wa-float__label,.wa-float:focus-visible .wa-float__label{max-width:260px;opacity:1;padding-right:22px}
.wa-float__pulse{position:absolute;inset:0;border-radius:999px;border:2px solid #25d366;animation:waPulse 2.4s ease-out infinite;pointer-events:none}
@keyframes waPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
body.has-wa-right .motion-control{bottom:90px}
body.has-wa-right .totop{bottom:150px}
.totop{position:fixed;right:22px;bottom:80px;z-index:90;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(251,248,243,.85);backdrop-filter:blur(8px);display:grid;place-items:center;color:inherit;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s,border-color .3s;cursor:pointer}
.totop.is-visible{opacity:1;transform:none}.totop:hover{border-color:#8b5938}.totop svg{width:16px;height:16px}
/* pages internes */
.page-hero{padding:clamp(56px,7vw,90px) clamp(20px,5vw,60px) clamp(40px,5vw,60px);border-bottom:1px solid var(--line)}
.page-hero .page-hero__title{font-family:'Italiana',serif;font-size:clamp(42px,6vw,80px);line-height:1;margin:14px 0 18px}
.page-hero__lead{color:var(--muted);max-width:56ch;font-size:16px;margin:0}
.section--page{padding:clamp(48px,6vw,80px) clamp(20px,5vw,60px)}
.section--page .entry__content{max-width:760px;font-size:16px;line-height:1.8;color:var(--muted)}
.section--page .entry__content h2,.section--page .entry__content h3{font-family:'Italiana',serif;color:var(--ink,#191816);font-size:30px;margin:1.6em 0 .6em}
.section--page .entry__content a{color:#8b5938}
.page-hero+.section{padding-top:clamp(48px,6vw,80px)}
.page-hero+.materials{margin-top:0}
/* page réalisation */
.project-page{padding:clamp(40px,6vw,80px) clamp(20px,5vw,60px)}
.project-page__back{display:inline-flex;gap:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:30px}
.project-page__title{font-family:'Italiana',serif;font-size:clamp(44px,7vw,96px);line-height:1;margin:10px 0 28px}
.project-page__meta{display:flex;flex-wrap:wrap;gap:0;margin:0 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-page__meta>div{padding:18px 40px 18px 0;margin-right:40px;border-right:1px solid var(--line)}
.project-page__meta>div:last-child{border-right:0}
.project-page__meta dt{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.project-page__meta dd{margin:0;font-family:'Italiana',serif;font-size:22px}
.pgallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.pgallery__item{position:relative;display:block;grid-column:span 6;overflow:hidden;border-radius:4px;background:#e9e0d2;aspect-ratio:4/5}
.pgallery__item--lead,.pgallery__item--wide,.pgallery__item--embed{grid-column:span 12;aspect-ratio:16/9}
.pgallery__item img,.pgallery__item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.pgallery__item:hover img{transform:scale(1.03)}
.pgallery__item iframe{width:100%;height:100%;border:0;display:block}
.pgallery__play{position:absolute;right:16px;bottom:16px;width:40px;height:40px;border-radius:50%;background:rgba(25,24,22,.7);display:grid;place-items:center;color:#fff}.pgallery__play svg{width:16px;height:16px}
.project-page__grid{display:grid;grid-template-columns:1.4fr .8fr;gap:clamp(32px,6vw,90px);align-items:start;margin-top:50px}
.project-page__text .entry__content{font-size:16px;line-height:1.8;color:var(--muted);max-width:60ch}
.project-card{position:sticky;top:110px;padding:32px;border:1px solid var(--line);background:#fbf8f3;border-radius:4px}
.project-card__title{font-family:'Italiana',serif;font-size:26px;margin:0 0 10px}
.project-card__text{color:var(--muted);font-size:14px;margin:0 0 22px}
.project-card .button{margin:0 8px 10px 0;width:auto}
.project-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:30px 0;margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-nav__link{display:flex;align-items:center;gap:16px}
.project-nav__link--next{justify-content:flex-end;text-align:right}
.project-nav__link img{width:64px;height:64px;object-fit:cover;border-radius:4px}
.project-nav__link small{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.project-nav__link strong{font-family:'Italiana',serif;font-weight:400;font-size:22px}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.related__item{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:#e9e0d2}
.related__item img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.related__item:hover img{transform:scale(1.04)}
.related__caption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;background:linear-gradient(180deg,transparent,rgba(25,24,22,.75));color:#fff}
.related__caption strong{display:block;font-family:'Italiana',serif;font-weight:400;font-size:20px}
.related__caption small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#d7a878}
@media(max-width:900px){.project-page__grid{grid-template-columns:1fr}.project-card{position:static}.pgallery__item,.pgallery__item--lead,.pgallery__item--wide{grid-column:span 12;aspect-ratio:4/5}.related{grid-template-columns:1fr}.project-nav{grid-template-columns:1fr}.project-nav__link--next{justify-content:flex-start;text-align:left;flex-direction:row-reverse}}
@media(max-width:600px){.project-form input,.project-form select,.project-form textarea{font-size:16px}}

/* Hero non épinglé (pas de hero-stage dans le thème) */
.immersive .hero{position:relative!important;clip-path:none!important}
.project-form label.consent{display:flex;flex-direction:row;gap:12px;align-items:flex-start;font-size:13px;letter-spacing:0;text-transform:none;color:var(--muted)}
.project-form input[type=checkbox],.project-form input[type=radio]{width:auto;padding:0;margin:0}
.project-form label.consent input{width:16px;height:16px;margin-top:3px;flex:none}
.project-form .via>span{font-size:13px;letter-spacing:0;text-transform:none}
.project-form .form__via legend{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;padding:0}
.lang-switch{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-left:6px}
.lang-switch a{opacity:.6}.lang-switch a.is-active,.lang-switch a:hover{opacity:1}
.lang-switch__sep{color:var(--muted)}

/* Glyphes SVG (remplacent ↗ ↓ ☰ ✳ rendus en emoji sur iOS) */
.glyph{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;flex:none}
.glyph-wrap{display:inline-flex;align-items:center;line-height:1}
.button .glyph-wrap .glyph,.nav-cta .glyph,.text-link .glyph{width:.85em;height:.85em}
.round-arrow .glyph{width:18px;height:18px}
.ribbon i .glyph{width:14px;height:14px;display:block}
.hero-bottom a .glyph-wrap{margin-left:30px;display:inline-block;animation:down 2s infinite}
.hero-bottom a .glyph{width:16px;height:16px}
.upload-icon .glyph{width:26px;height:26px}
.menu-toggle .glyph{width:18px;height:18px}
.motion-control .glyph{width:12px;height:12px;margin-right:6px}
.lightbox #lightbox-link[hidden]{display:none}

/* Accueil en aperçu : liens « voir plus » et contact en CTA */
.section-more{margin:36px 0 0}
.services-section .section-more,.pricing-section .section-more{text-align:center}
.atelier-copy .section-more{margin-top:26px}
.contact--cta{align-items:center}
.contact-visual{aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:#e9e0d2;max-height:560px}
.contact-visual img{width:100%;height:100%;object-fit:cover;display:block}

/* Hero : carrousel de photos (fondu + zoom lent) */
.hero-slides{background:none!important}
.hero-slide{position:absolute;inset:0;background-position:center 52%;background-size:cover;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 7s linear}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-slide.is-leaving{opacity:0}
.hero-dots{position:absolute;right:clamp(20px,5vw,60px);bottom:110px;z-index:4;display:flex;gap:10px}
.hero-dots button{width:34px;height:3px;border-radius:2px;background:rgba(25,24,22,.25);transition:background .3s,width .3s}
.hero-dots button.is-active{background:#8b5938;width:52px}
@media(max-width:760px){.hero-dots{left:20px;right:auto;bottom:96px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:opacity .6s ease;transform:none}}
