:root{--ink:#11110f;--paper:#f2f0e9;--card:#e8e5dc;--red:#ee4b32;--muted:#77766f;--line:#d4d0c5;--white:#fff;--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.section-pad{padding:120px max(5vw,32px)}
.site-header{height:82px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;border-bottom:1px solid #ffffff30}.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:800;letter-spacing:-.04em;font-size:19px}.brand>span:last-child>span{font-weight:500}.brand-mark{width:34px;height:34px;border:1px solid #ffffff80;display:grid;place-items:center;font-size:16px}.nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav>a:not(.nav-cta){opacity:.75;transition:.2s}.nav>a:hover{opacity:1}.nav-cta{border:1px solid #ffffff80;padding:11px 17px}.menu-toggle{display:none;background:none;border:0;color:#fff;width:40px;height:40px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px}
.hero{height:min(920px,100vh);min-height:680px;position:relative;overflow:hidden;color:#fff;background:#181815}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,10,.74) 0%,rgba(12,12,10,.2) 58%,rgba(12,12,10,.05) 100%),linear-gradient(0deg,rgba(10,10,8,.5),transparent 40%)}.hero-content{position:absolute;top:50%;left:5vw;transform:translateY(-47%);width:min(660px,90vw)}.eyebrow{font-family:var(--display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:10px;margin:0 0 25px}.eyebrow span{display:block;width:28px;height:2px;background:var(--red)}.eyebrow.light{color:#ffffffb8}.hero h1,.section-heading h2,.showcase h2,.about h2,.pricing h2,.contact h2{font-family:var(--display);font-weight:600;letter-spacing:-.055em;line-height:1.02;margin:0}.hero h1{font-size:clamp(48px,6.4vw,92px)}em{font-family:Georgia,serif;font-weight:400}.hero h1 em{color:#ff765f}.hero-copy{font-size:19px;color:#ffffffc7;max-width:560px;margin:28px 0 34px}.hero-actions{display:flex;align-items:center;gap:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 19px;border:1px solid transparent;font-weight:600;font-size:14px;transition:.25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:#fff}.text-link{font-size:14px;font-weight:600;border-bottom:1px solid #ffffff60;padding-bottom:5px}.text-link span{margin-left:12px}.hero-foot{position:absolute;bottom:26px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#ffffff90}.hero-foot p{margin:0}
.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:70px}.section-heading h2,.showcase h2,.about h2,.pricing h2,.contact h2{font-size:clamp(38px,4vw,62px)}.section-heading h2 em,.pricing h2 em{color:#7c7a72}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:46px 34px 45px 0;position:relative;display:flex;flex-direction:column}.service-card+article{border-left:1px solid var(--line);padding-left:34px}.service-icon{height:54px;width:54px;border:1px solid var(--line);display:grid;place-items:center;font-size:18px;flex:0 0 auto}.service-num{position:absolute;right:32px;top:44px;color:#aaa79e;font-size:12px}.service-card h3{font-family:var(--display);font-size:24px;margin:32px 0 12px}.service-card>p:not(.service-num){color:var(--muted);min-height:76px}.service-card ul,.price-card ul{list-style:none;padding:20px 0 0;margin:20px 0 0;border-top:1px solid var(--line)}.service-card ul{margin-top:auto;width:100%}.service-card li,.price-card li{margin:9px 0;font-size:14px}.service-card li:before,.price-card li:before{content:"—";color:var(--red);margin-right:10px}
.showcase{background:var(--ink);color:#fff;padding-bottom:100px}.showcase-head{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;padding-bottom:70px}.showcase-head>p{color:#aaa99f;max-width:420px}.showcase h2 em,.about h2 em,.contact h2 em{color:#d2a88e}.projects{padding-top:0;padding-bottom:30px;display:grid;grid-template-columns:1.25fr .75fr;gap:45px 30px}.project-large{grid-row:span 2}.project-visual{min-height:350px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:28px;background-size:cover;background-position:center}.project-large .project-visual{height:790px}.project-visual:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(0deg,#0008,transparent 50%)}.project-visual>span{position:relative;z-index:2;font-family:var(--display);font-size:34px;font-weight:800;line-height:.88;letter-spacing:-.08em}.artisan{background-image:url("assets/project-pottery.jpg");background-position:center 46%}.table{background-image:url("assets/project-chef.jpg")}.studio{background-image:url("assets/project-metal.jpg")}.project-video .project-visual:before{content:"";position:absolute;z-index:1;inset:0;background:#08080638;opacity:0;transition:opacity .4s ease}.project-play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:#fff;opacity:.82;transition:opacity .35s ease,transform .35s ease}.project-play-icon{width:76px;height:76px;border:1px solid #ffffffb8;border-radius:50%;display:grid;place-items:center;padding-left:4px;background:#11110f80;backdrop-filter:blur(6px);font:500 20px/1 var(--body);box-shadow:0 0 0 0 #ffffff28;transition:background .3s ease,box-shadow .3s ease}.project-play-label{font:600 11px/1 var(--display);letter-spacing:.16em;text-transform:uppercase}.project-video .project-visual:hover:before{opacity:1}.project-video .project-visual:hover .project-play,.project-play:focus-visible{opacity:1;transform:translate(-50%,-50%) scale(1.06)}.project-video .project-visual:hover .project-play-icon,.project-play:focus-visible .project-play-icon{background:var(--red);border-color:var(--red);box-shadow:0 0 0 12px #ffffff18}.project-meta{display:flex;justify-content:space-between;align-items:center}.project-meta h3{font:600 18px var(--display);margin:14px 0 0}.project-meta p{color:#88877f;font-size:12px;margin:14px 0 0;text-transform:uppercase;letter-spacing:.1em}.demo-note{text-align:center;color:#77766f;font-size:12px;margin-top:30px}
.process{background:#dedbd1}.steps{margin-left:33.33%;border-top:1px solid #c3bfb4}.step{display:grid;grid-template-columns:80px 1fr;padding:35px 0;border-bottom:1px solid #c3bfb4}.step>span{color:var(--red);font:600 12px var(--display)}.step div{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px}.step h3{font:600 23px var(--display);margin:0}.step p{color:#6d6b65;margin:0;max-width:450px}
.about{background:#22221f;color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:center}.about-portrait{height:580px;background:linear-gradient(145deg,#d4643d,#39231d);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.portrait-letter{font:800 320px/1 var(--display);color:#ffffff10;transform:rotate(-8deg)}.about-portrait p{position:absolute;bottom:25px;left:28px;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.about-copy>p:not(.eyebrow){color:#b6b4ac;font-size:17px}.about-copy strong{color:#fff}.about-values{display:flex;gap:10px;margin-top:35px}.about-values span{border:1px solid #ffffff30;padding:9px 13px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.pricing-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:60px}.billing-switch{display:flex;border:1px solid var(--line);padding:4px}.billing-switch button{border:0;background:transparent;padding:10px 16px;font-size:13px}.billing-switch button.active{background:var(--ink);color:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pricing-grid.is-hidden{display:none}.price-card{background:#e5e2d9;padding:36px;position:relative;display:flex;flex-direction:column}.price-card.featured{background:var(--red);color:#fff;transform:translateY(-12px)}.popular{position:absolute;top:0;right:0;background:var(--ink);color:#fff;padding:7px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.price-label{font:700 13px var(--display);text-transform:uppercase;letter-spacing:.12em}.price{font:600 clamp(40px,4vw,58px) var(--display);letter-spacing:-.06em;margin:26px 0 8px}.price small{font:600 12px var(--display);letter-spacing:0}.price-desc{color:#77756e;min-height:52px}.featured .price-desc{color:#ffffffc9}.price-card ul{margin-bottom:28px;flex:1}.featured ul{border-color:#ffffff40}.featured li:before{color:#fff}.button-outline{border-color:#aaa79e}.button-dark{background:var(--ink);color:#fff}.pricing-note{text-align:center;color:#88867f;font-size:12px;margin:30px 0 0}
.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-copy>p:not(.eyebrow){color:#aaa99f;max-width:520px}.contact-mail{display:flex;justify-content:space-between;max-width:440px;border-bottom:1px solid #ffffff40;padding:26px 0 12px;font:500 18px var(--display)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#aaa99f}.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid #ffffff35;color:#fff;padding:10px 0;outline:none;resize:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--red)}.contact-form button{justify-self:start}.form-privacy,.form-status{grid-column:1/-1;margin:0;font-size:12px}.form-privacy{color:#88877f;max-width:570px}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.form-status{color:#a8d5b5;font-size:13px}footer{background:#0a0a09;color:#fff;padding:35px 5vw;display:grid;grid-template-columns:.8fr .8fr 2fr auto;align-items:center;gap:30px;border-top:1px solid #ffffff1c;font-size:12px}footer>p{color:#777}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px}.footer-links a{color:#aaa99f}.footer-links a:hover{color:#fff}.video-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:32px;visibility:hidden;opacity:0;transition:opacity .3s ease,visibility .3s}.video-modal.is-open{visibility:visible;opacity:1}.video-modal-backdrop{position:absolute;inset:0;background:#080806eb;backdrop-filter:blur(12px)}.video-modal-panel{position:relative;width:min(1120px,94vw);max-height:92vh;color:#fff}.video-modal-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.video-modal-head p{margin:0 0 4px;color:#ffffff7d;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.video-modal-head h2{margin:0;font:600 clamp(24px,3vw,42px)/1 var(--display);letter-spacing:-.04em}.video-modal-close{width:46px;height:46px;border:1px solid #ffffff45;border-radius:50%;background:transparent;color:#fff;font-size:30px;line-height:1}.project-player{display:block;width:100%;max-height:78vh;background:#000;box-shadow:0 24px 80px #0008}.modal-open{overflow:hidden}
.whatsapp-float{position:fixed;z-index:90;right:28px;bottom:28px;display:flex;align-items:center;gap:13px;color:#fff}.whatsapp-label{display:flex;flex-direction:column;align-items:flex-end;padding:10px 13px;background:#151512eb;border:1px solid #ffffff1f;box-shadow:0 10px 35px #0004;backdrop-filter:blur(10px);transition:transform .3s ease,border-color .3s ease}.whatsapp-label small{color:#8edca7;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.whatsapp-label strong{font:600 13px/1.35 var(--display)}.whatsapp-button{position:relative;isolation:isolate;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#25d366;box-shadow:0 12px 35px #0005;transition:transform .3s ease,background .3s ease}.whatsapp-button:before,.whatsapp-button:after{content:"";position:absolute;z-index:-1;inset:-1px;border:1px solid #25d3669c;border-radius:50%;animation:whatsapp-wave 3.6s ease-out infinite}.whatsapp-button:after{animation-delay:1.8s}.whatsapp-button svg{width:31px;height:31px;fill:#fff}.whatsapp-float:hover .whatsapp-label,.whatsapp-float:focus-visible .whatsapp-label{transform:translateX(-3px);border-color:#25d36680}.whatsapp-float:hover .whatsapp-button,.whatsapp-float:focus-visible .whatsapp-button{transform:scale(1.06);background:#20bd5a}@keyframes whatsapp-wave{0%{transform:scale(.88);opacity:.45}78%,100%{transform:scale(1.7);opacity:0}}
.whatsapp-label{opacity:0;visibility:hidden;transform:translateX(8px);pointer-events:none}.whatsapp-float:hover .whatsapp-label,.whatsapp-float:focus-visible .whatsapp-label{opacity:1;visibility:visible;transform:translateX(-3px)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
.legal-body{background:var(--paper)}.legal-body .site-header{position:relative;background:var(--ink)}.legal-body .brand-mark{border-color:#ffffff80}.legal-nav{display:flex;align-items:center;gap:20px;font-size:13px;color:#ffffffb8}.legal-nav a:hover{color:#fff}.legal-main{width:min(900px,90vw);margin:0 auto;padding:90px 0 120px}.legal-kicker{font:700 11px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin:0 0 18px}.legal-main h1{font:600 clamp(42px,6vw,72px)/1.02 var(--display);letter-spacing:-.055em;margin:0 0 20px}.legal-lead{font-size:18px;color:var(--muted);max-width:720px;margin:0 0 55px}.legal-section{padding:30px 0;border-top:1px solid var(--line)}.legal-section h2{font:650 23px var(--display);letter-spacing:-.03em;margin:0 0 12px}.legal-section h3{font:650 16px var(--display);margin:22px 0 8px}.legal-section p,.legal-section li{color:#585750}.legal-section ul{padding-left:20px}.legal-section a{text-decoration:underline;text-underline-offset:3px}.legal-card{background:#e5e2d9;padding:24px;margin:18px 0}.legal-card p{margin:3px 0}.legal-updated{font-size:12px;color:#8b8981;margin-top:45px}.legal-footer{grid-template-columns:1fr auto}.legal-footer .footer-links{justify-content:flex-end}
@media(max-width:900px){.section-pad{padding:85px 24px}.site-header{padding:0 24px}.menu-toggle{display:block}.nav{position:absolute;top:82px;left:0;width:100%;background:#11110ff5;padding:28px 24px;display:none;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero-content{left:24px}.hero-foot{left:24px;right:24px}.section-heading{grid-template-columns:1fr;gap:15px}.services-grid{grid-template-columns:1fr}.service-card+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.showcase-head{grid-template-columns:1fr}.projects{grid-template-columns:1fr}.project-large{grid-row:auto}.project-large .project-visual{height:520px}.process .section-heading{margin-bottom:40px}.steps{margin-left:0}.about{grid-template-columns:1fr;gap:60px}.about-portrait{height:440px}.pricing-head{align-items:flex-start;gap:30px;flex-direction:column}.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-start}.legal-footer{grid-template-columns:1fr auto}.legal-footer .footer-links{justify-content:flex-end}}
@media(max-width:560px){.hero{min-height:740px}.hero h1{font-size:48px}.hero-copy{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-foot{display:none}.project-meta{display:block}.project-play{opacity:1}.project-play-icon{width:64px;height:64px}.video-modal{padding:18px}.video-modal-panel{width:100%}.steps .step{grid-template-columns:45px 1fr}.step div{grid-template-columns:1fr;gap:8px}.about-values{flex-wrap:wrap}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1!important}footer{grid-template-columns:1fr}footer>div{justify-self:start}.billing-switch{width:100%}.billing-switch button{flex:1}}
@media(max-width:560px){.whatsapp-float{right:18px;bottom:18px}.whatsapp-label{display:none}.whatsapp-button{width:56px;height:56px}}

.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status.is-error{color:#ff9c8b}

/* Tuiles services — visuel intégré en arrière-plan */
.services-grid{
  gap:1px;
  background:var(--line);
}
.services-grid .service-card{
  --service-accent:var(--red);
  position:relative;
  isolation:isolate;
  min-height:560px;
  overflow:hidden;
  padding:36px 34px;
  border:0;
  background:#171815;
  color:#fff;
}
.service-card--video{--service-accent:#ff5038}
.service-card--photo{--service-accent:#c8905c}
.service-card--monthly{--service-accent:#7e9271}
.services-grid .service-card::before,
.services-grid .service-card::after{
  position:absolute;
  inset:0;
  content:"";
}
.services-grid .service-card::before{
  z-index:-2;
  background-position:center;
  background-size:cover;
  transition:transform .6s cubic-bezier(.2,.75,.25,1),filter .4s ease;
}
.services-grid .service-card::after{
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(8,9,7,.22),rgba(8,9,7,.62) 45%,rgba(8,9,7,.95)),
    linear-gradient(90deg,rgba(8,9,7,.28),transparent 72%);
}
.service-card--video::before{
  background-image:url("assets/project-metal.jpg");
  background-position:center;
}
.service-card--photo::before{
  background-image:url("assets/project-chef.jpg");
  background-position:center 42%;
}
.service-card--monthly::before{
  background-image:url("assets/project-pottery.jpg");
  background-position:center 45%;
}
.services-grid .service-card:hover::before{
  filter:saturate(1.08) contrast(1.04);
  transform:scale(1.035);
}
.service-card-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:50px;
  margin-bottom:auto;
  padding-bottom:94px;
}
.services-grid .service-icon{
  width:48px;
  height:48px;
  border-color:color-mix(in srgb,var(--service-accent) 58%,transparent);
  background:rgba(15,16,13,.58);
  color:var(--service-accent);
  backdrop-filter:blur(8px);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.services-grid .service-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.65;
}
.services-grid .service-icon .icon-fill{
  fill:currentColor;
  stroke:none;
}
.services-grid .service-card:hover .service-icon{
  background:var(--service-accent);
  color:var(--paper);
  transform:translateY(-2px);
}
.services-grid .service-num{
  position:static;
  margin:0;
  color:color-mix(in srgb,var(--service-accent) 62%,white);
  font:400 46px/1 Georgia,serif;
}
.services-grid .service-meta{
  min-height:0;
  margin:0 0 14px;
  color:color-mix(in srgb,var(--service-accent) 72%,white);
  font:700 10px/1.2 var(--display);
  letter-spacing:.16em;
}
.services-grid .service-card h3{
  margin:0;
  color:#fff;
  font-size:clamp(30px,2.3vw,42px);
  letter-spacing:-.045em;
}
.services-grid .service-description{
  min-height:108px;
  margin:20px 0 26px;
  color:#ffffffc2;
  font-size:16px;
  line-height:1.48;
}
.services-grid .service-card ul{
  margin:0;
  padding:22px 0 0;
  border-color:#ffffff36;
}
.services-grid .service-card li{
  color:#fff;
  font-weight:600;
}
.services-grid .service-card li::before{
  color:var(--service-accent);
}

/* Appels à l’action ajoutés à la fin des sections */
.section-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:34px;
  padding:28px 30px;
  border:1px solid var(--line);
  background:#e8e5dc;
}
.section-cta p{
  max-width:560px;
  margin:0;
  color:var(--muted);
}
.section-cta-actions{
  display:flex;
  flex:0 0 auto;
  gap:10px;
}
.step-contact{
  margin-top:22px;
  padding:30px 24px;
  border:0;
  background:var(--ink);
  color:#fff;
}
.step-contact p,.step-contact a{
  color:#ffffffbd;
}
.step-contact a{
  display:block;
}
.step-contact strong{
  display:inline-block;
  margin-top:8px;
  color:#ff765f;
}
.about-contact{
  margin-top:30px;
}

/* Comparateur One-shot / Abonnement */
.billing-switch-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
}
.billing-switch-note{
  margin:0;
  color:#77766f;
  font-size:11px;
  letter-spacing:.04em;
}
.billing-switch-note span{
  display:inline-block;
  margin-right:5px;
  color:var(--red);
  font-weight:700;
}
.billing-switch{
  position:relative;
  background:#f7f5ef;
  box-shadow:0 0 0 0 rgba(238,75,50,0);
  transition:box-shadow .3s ease,transform .3s ease;
}
.billing-switch button{
  position:relative;
  transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.billing-switch-wrap:hover .billing-switch{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(17,17,15,.12),0 0 0 2px rgba(238,75,50,.22);
}
.billing-switch-wrap:hover .billing-switch-note span{
  animation:billing-arrow-hint .8s ease;
}
.billing-switch:hover button:not(.active){
  animation:billing-option-hint .8s ease;
}
.pricing-grid:not(.is-hidden){
  animation:pricing-grid-in .36s ease both;
}
@keyframes billing-arrow-hint{
  0%,100%{transform:translateX(0)}
  45%{transform:translateX(6px)}
}
@keyframes billing-option-hint{
  0%,100%{transform:translateX(0)}
  45%{transform:translateX(3px);box-shadow:inset 0 0 0 1px var(--red)}
}
@keyframes pricing-grid-in{
  from{opacity:.35;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

/* Apparition WhatsApp — mise au point, flash puis vagues continues */
.whatsapp-float{
  transform-origin:right bottom;
  animation:
    whatsapp-camera-reveal 1.65s .55s both,
    whatsapp-reminder 18s 5s infinite;
}
.whatsapp-float::before,
.whatsapp-float::after{
  position:absolute;
  right:-13px;
  bottom:-13px;
  width:86px;
  height:86px;
  border-radius:50%;
  pointer-events:none;
  content:"";
}
.whatsapp-float::before{
  border:1px solid #ffffffa8;
  box-shadow:inset 0 0 0 9px #ffffff0b;
  animation:camera-focus-frame 1.65s .28s both;
}
.whatsapp-float::after{
  z-index:4;
  background:radial-gradient(circle,#fff 0 8%,#ffffffdb 20%,#ffffff45 48%,transparent 72%);
  animation:camera-single-flash .72s 1.18s both;
}
.whatsapp-button::before{
  animation:whatsapp-wave 3.6s ease-out 2.2s infinite;
}
.whatsapp-button::after{
  animation:whatsapp-wave 3.6s ease-out 4s infinite;
}
@keyframes camera-focus-frame{
  0%{opacity:0;transform:scale(1.38) rotate(8deg)}
  28%{opacity:.72;transform:scale(1) rotate(0)}
  65%{opacity:.72;transform:scale(1)}
  78%,100%{opacity:0;transform:scale(.88)}
}
@keyframes camera-single-flash{
  0%,42%{opacity:0;transform:scale(.35)}
  48%{opacity:.98;transform:scale(.55)}
  64%{opacity:0;transform:scale(1.9)}
  100%{opacity:0;transform:scale(1.9)}
}
@keyframes whatsapp-camera-reveal{
  0%,61%{opacity:0;transform:scale(.72)}
  74%{opacity:1;transform:scale(1.1)}
  86%{transform:scale(.97)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes whatsapp-reminder{
  0%,94%,100%{transform:scale(1)}
  97%{transform:scale(1.07)}
}

/* Page Réalisations */
.showcase-action{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.portfolio-body{
  background:var(--paper);
}
.portfolio-hero{
  position:relative;
  min-height:min(850px,100vh);
  overflow:hidden;
  background:#171815;
  color:#fff;
}
.portfolio-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88);
}
.portfolio-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(10,10,8,.82),rgba(10,10,8,.28) 66%,rgba(10,10,8,.15)),
    linear-gradient(0deg,rgba(10,10,8,.62),transparent 46%);
}
.portfolio-hero-content{
  position:absolute;
  z-index:2;
  top:50%;
  left:5vw;
  width:min(780px,90vw);
  transform:translateY(-43%);
}
.portfolio-hero h1{
  margin:0;
  font:600 clamp(50px,6.5vw,102px)/.94 var(--display);
  letter-spacing:-.065em;
}
.portfolio-hero h1 em{
  color:#ff765f;
}
.portfolio-hero-content>p:not(.eyebrow){
  max-width:620px;
  margin:30px 0;
  color:#ffffffc7;
  font-size:19px;
}
.portfolio-hero-index{
  position:absolute;
  z-index:2;
  right:5vw;
  bottom:30px;
  display:flex;
  gap:28px;
  color:#ffffff80;
  font:700 10px/1 var(--display);
  letter-spacing:.18em;
}
.portfolio-work-head{
  display:grid;
  grid-template-columns:1.45fr .55fr;
  gap:8vw;
  align-items:end;
}
.portfolio-work-head h2,.portfolio-cta h2{
  margin:0;
  font:600 clamp(40px,4.6vw,72px)/1 var(--display);
  letter-spacing:-.055em;
}
.portfolio-work-head h2 em{
  color:#7c7a72;
}
.portfolio-work-head>p{
  margin:0;
  color:var(--muted);
}
.portfolio-filters{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:62px 0 28px;
}
.portfolio-filters button{
  padding:11px 17px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  font-size:13px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.portfolio-filters button.active,.portfolio-filters button:hover{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.portfolio-card{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#24241f;
  color:#fff;
}
.portfolio-card[hidden]{
  display:none;
}
.portfolio-card--featured{
  grid-row:span 2;
  min-height:1058px;
}
.portfolio-card>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .4s ease;
}
.portfolio-card:hover>img{
  filter:saturate(1.05);
  transform:scale(1.035);
}
.portfolio-card-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#080806d9,transparent 58%);
}
.portfolio-card-content{
  position:absolute;
  z-index:2;
  right:30px;
  bottom:30px;
  left:30px;
}
.portfolio-card-content p{
  margin:0 0 10px;
  color:#ffffffa3;
  font:700 10px/1 var(--display);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.portfolio-card-content h3{
  margin:0 0 8px;
  font:650 clamp(30px,3vw,50px)/.96 var(--display);
  letter-spacing:-.05em;
}
.portfolio-card-content span{
  color:#ffffffc2;
  font-size:14px;
}
.portfolio-card--coming{
  background:
    radial-gradient(circle at 72% 26%,#ff6b50 0 14%,transparent 14.5%),
    linear-gradient(135deg,#262820,#11120f);
}
.portfolio-card--hair{
  background:
    radial-gradient(circle at 33% 26%,#d2aa89 0 13%,transparent 13.5%),
    linear-gradient(145deg,#6f665d,#171815 72%);
}
.portfolio-coming-mark{
  position:absolute;
  top:28px;
  right:28px;
  display:flex;
  align-items:center;
  gap:8px;
  color:#ffffff9e;
  font:700 10px/1 var(--display);
  letter-spacing:.15em;
}
.portfolio-coming-mark::before{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--red);
  content:"";
  box-shadow:0 0 0 6px #ee4b3226;
}
.portfolio-note{
  max-width:760px;
  margin:28px 0 0;
  color:#8a887f;
  font-size:12px;
}
.portfolio-cta{
  background:var(--ink);
  color:#fff;
}
.portfolio-cta h2{
  max-width:1050px;
  margin-bottom:42px;
}
.portfolio-cta h2 em{
  color:#d2a88e;
}
@media(max-width:900px){
  .services-grid .service-card{min-height:520px;padding:34px}
  .service-card-topline{padding-bottom:72px}
  .services-grid .service-description{min-height:0}
  .section-cta{align-items:flex-start;flex-direction:column}
  .billing-switch-wrap{align-items:flex-start;width:100%}
  .portfolio-work-head{grid-template-columns:1fr;gap:24px}
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-card,.portfolio-card--featured{grid-row:auto;min-height:620px}
}
@media(max-width:560px){
  .services-grid .service-card{min-height:500px;padding:28px 24px}
  .service-card-topline{padding-bottom:58px}
  .services-grid .service-num{font-size:38px}
  .section-cta{padding:24px}
  .section-cta-actions{width:100%;flex-direction:column}
  .section-cta-actions .button{width:100%}
  .portfolio-hero{min-height:760px}
  .portfolio-hero-content{left:24px;transform:translateY(-44%)}
  .portfolio-hero h1{font-size:50px}
  .portfolio-hero-content>p:not(.eyebrow){font-size:17px}
  .portfolio-hero-index{right:24px;left:24px;justify-content:space-between;gap:8px}
  .portfolio-filters{margin-top:42px}
  .portfolio-filters button{flex:1}
  .portfolio-card,.portfolio-card--featured{min-height:500px}
}
@media(prefers-reduced-motion:reduce){
  .whatsapp-float{opacity:1;transform:none;animation:none}
  .whatsapp-float::before,.whatsapp-float::after{display:none;animation:none}
  .whatsapp-button::before,.whatsapp-button::after{animation:none}
  .portfolio-card>img{transition:none}
  .billing-switch,.billing-switch button,.billing-switch-note span,.pricing-grid:not(.is-hidden){animation:none;transition:none}
}
@media(max-width:560px){
  .hero-image,.portfolio-hero>img{object-position:62% center}
}
@media(hover:none){.whatsapp-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.whatsapp-button:before,.whatsapp-button:after{animation:none}}
