:root{
  --wine:#6e1833;
  --wine-dark:#3b0c1d;
  --rose:#d98aa2;
  --rose-soft:#f4dbe3;
  --fuchsia:#ef0f78;
  --aqua:#7bd9e2;
  --paper:#f6f0e9;
  --blush:#fbf1f4;
  --cream:#fffaf7;
  --ink:#25161c;
  --muted:#7c6670;
  --line:#ead9df;
  --white:#fff;
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(239,15,120,.06), transparent 18%),
    radial-gradient(circle at 88% 4%, rgba(123,217,226,.10), transparent 16%),
    linear-gradient(180deg, #fffaf7 0%, #fffaf7 44%, #fff7fa 100%);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px clamp(22px,5vw,72px);
  background:rgba(255,250,247,.84);
  backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(110,24,51,.07);
}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:var(--wine);color:#fff;
  font-family:"Playfair Display",serif;font-size:25px;font-style:italic;
}
.brand-text{font-weight:700;letter-spacing:-.03em}
.brand-text small{display:block;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

.brand-logo{
  display:flex;
  align-items:center;
  flex:0 1 390px;
  min-width:0;
}
.site-logo{
  display:block;
  width:clamp(320px,31vw,490px);
  height:auto;
  max-height:104px;
  object-fit:contain;
  object-position:left center;
}
@media (max-width:1000px){
  .brand-logo{flex-basis:auto}
  .site-logo{width:340px;max-height:74px}
}
@media (max-width:620px){
  .site-logo{width:min(78vw,300px);max-height:60px}
}

.nav{display:flex;align-items:center;gap:30px;font-size:14px}
.nav a{transition:.2s ease}
.nav a:hover{color:var(--fuchsia)}
.nav-cta{
  padding:12px 18px;border-radius:999px;background:linear-gradient(90deg,var(--wine) 0%, var(--fuchsia) 100%);color:#fff!important;
}
.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--wine)}
.hero{
  position:relative;
  min-height:84vh;
  display:grid;grid-template-columns:1.05fr .95fr;
  align-items:center;gap:70px;
  padding:100px clamp(22px,6vw,92px) 92px;
  overflow:hidden;
}
.hero:before{
  content:"";position:absolute;left:-3%;top:8%;width:240px;height:240px;
  background:linear-gradient(135deg, rgba(239,15,120,.18), rgba(110,24,51,.22));
  clip-path:polygon(0 18%, 85% 0, 100% 100%, 18% 84%);
  transform:rotate(-10deg);filter:blur(.2px);opacity:.55;
}
.hero:after{
  content:"";position:absolute;right:7%;top:10%;width:220px;height:220px;
  background:linear-gradient(140deg, rgba(123,217,226,.26), rgba(123,217,226,0));
  clip-path:polygon(18% 0, 100% 22%, 74% 100%, 0 76%);opacity:.72;
}
.eyebrow{
  margin:0 0 18px;
  color:var(--wine);font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.18em;
}
h1,h2,h3,p{margin-top:0}
h1,h2{
  font-family:"Playfair Display",serif;
  line-height:1.04;letter-spacing:-.04em;
}
h1{font-size:clamp(52px,7vw,104px);max-width:980px;margin-bottom:28px}
h2{font-size:clamp(38px,4.7vw,72px);margin-bottom:24px}
h1 em,h2 em{color:var(--fuchsia);font-weight:600}
.hero-intro{max-width:680px;font-size:18px;color:var(--muted)}
.hero-ribbon{display:inline-flex;align-items:center;gap:14px;margin-top:18px;padding:10px 18px;border:1px solid rgba(110,24,51,.10);border-radius:999px;background:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.28em;color:var(--wine-dark);text-transform:uppercase;box-shadow:0 14px 40px rgba(80,21,43,.06)}
.hero-ribbon span{width:7px;height:7px;border-radius:999px;background:linear-gradient(180deg,var(--fuchsia),var(--aqua));display:block}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;
  font-weight:700;cursor:pointer;transition:.25s ease;
}
.btn-primary{background:linear-gradient(90deg,var(--wine) 0%, var(--fuchsia) 100%);color:#fff;border:0}
.btn-primary:hover{background:var(--wine-dark);transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);background:#fff}
.btn-ghost:hover{border-color:var(--rose);color:var(--wine)}
.hero-art{position:relative;min-height:600px;padding-inline:10px}
.blob{position:absolute;border-radius:50%;filter:blur(2px)}
.blob-1{width:420px;height:420px;background:linear-gradient(135deg, rgba(239,15,120,.14), rgba(244,219,227,.58));right:2%;top:8%}
.blob-2{width:250px;height:250px;background:linear-gradient(135deg, rgba(123,217,226,.30), rgba(240,189,202,.45));left:0;bottom:8%}
.monogram{
  position:absolute;right:8%;top:22%;
  font-family:"Playfair Display",serif;font-style:italic;font-size:220px;
  color:rgba(110,24,51,.08);line-height:1;
}
.mockup-card{
  position:absolute;display:flex;flex-direction:column;justify-content:flex-end;
  width:250px;height:310px;padding:28px;border-radius:28px;
  box-shadow:0 25px 80px rgba(68,18,37,.14);
  transform:rotate(-6deg);
  z-index:2;
}
.mockup-card span{font-size:11px;text-transform:uppercase;letter-spacing:.2em}
.mockup-card strong{font-family:"Playfair Display",serif;font-size:34px;line-height:1}
.card-a{left:4%;top:10%;background:var(--wine);color:#fff;z-index:2}
.card-b{right:9%;top:12%;background:#fff;color:var(--wine);transform:rotate(4deg);z-index:4;width:270px;height:330px}
.card-c{left:24%;bottom:8%;background:var(--rose);color:var(--wine-dark);transform:rotate(-2deg);width:215px;height:240px;z-index:3}
.trust{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:#fff;
}
.trust div{padding:30px clamp(18px,3vw,48px);border-right:1px solid var(--line)}
.trust div:last-child{border-right:0}
.trust strong{display:block;color:var(--wine);font-size:14px}
.trust span{font-size:12px;color:var(--muted)}
.section{padding:120px clamp(22px,6vw,92px)}
.section-head{max-width:820px;margin-bottom:58px}
.section-head>p:last-child{max-width:680px;color:var(--muted);font-size:17px}
.services{background:linear-gradient(180deg, rgba(244,219,227,.56) 0%, rgba(255,250,247,.96) 100%)}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.service-card{
  position:relative;min-height:270px;padding:34px;
  border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(255,255,255,.72);
  transition:.25s ease;
}
.service-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 18px 60px rgba(88,27,49,.08)}
.service-nb{display:block;margin-bottom:54px;color:var(--rose);font-weight:700}
.service-card h3{font-family:"Playfair Display",serif;font-size:32px;color:var(--wine);margin-bottom:12px}
.service-card p{color:var(--muted);max-width:560px}
.studio{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.visual-frame{
  position:relative;min-height:600px;border-radius:40px;
  background:linear-gradient(145deg,#f7e7ee,#fff 58%, rgba(123,217,226,.14));
  overflow:hidden;
}
.paper{
  position:absolute;display:grid;place-items:center;text-align:center;
  font-family:"Playfair Display",serif;line-height:.95;
  box-shadow:0 25px 70px rgba(80,21,43,.15);
}
.paper-one{width:290px;height:380px;background:linear-gradient(160deg,var(--wine),#61132e 46%, var(--fuchsia));color:#fff;left:12%;top:14%;font-size:46px;line-height:.94;transform:rotate(-8deg);padding:22px}
.paper-two{width:280px;height:320px;background:#fff;color:var(--wine);right:7%;bottom:8%;font-size:46px;line-height:.96;transform:rotate(8deg);padding:24px}
.flower{position:absolute;right:12%;top:9%;font-size:86px;color:var(--aqua)}
.studio-copy p{color:var(--muted);font-size:17px}
.text-link{display:inline-block;margin-top:16px;color:var(--wine);font-weight:700}
.portfolio{background:#fff}
.portfolio-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}
.project{overflow:hidden;border-radius:30px;background:var(--blush)}
.project-art{height:460px;display:grid;place-items:center}
.project-1 .project-art{background:linear-gradient(145deg,#f1c6d2,#f9e9ee)}
.project-2 .project-art{background:var(--wine)}
.project-3 .project-art{background:linear-gradient(145deg,#f7efe9,#dca0b3)}
.pack{
  width:250px;height:310px;display:grid;place-items:center;text-align:center;
  border-radius:18px;background:#fff;color:var(--wine);
  font-family:"Playfair Display",serif;font-size:42px;line-height:.95;
  box-shadow:0 20px 50px rgba(56,14,30,.15);transform:rotate(-6deg)
}
.poster{
  color:#fff;text-align:center;font-family:"Playfair Display",serif;
  font-size:58px;line-height:.9
}
.poster em{color:var(--rose)}
.social-card{
  width:230px;height:300px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--wine);color:#fff;border-radius:26px;font-family:"Playfair Display",serif;font-size:30px;transform:rotate(6deg)
}
.social-card small{font-family:"DM Sans",sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:#f3c8d4}
.project-meta{padding:24px}
.project-meta span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--rose)}
.project-meta strong{font-family:"Playfair Display",serif;font-size:24px;color:var(--wine)}
.statement{background:var(--wine);color:#fff;text-align:center}
.statement p{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:#efbfd0}
.statement h2{max-width:1050px;margin:0 auto}
.statement h2 em{color:#f2a9bd}
.contact{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;
  background:var(--blush);
}
.contact-copy{align-self:start;position:sticky;top:130px}
.contact-form{display:grid;gap:18px;background:#fff;padding:38px;border-radius:32px;border:1px solid var(--line)}
.contact-form label{display:grid;gap:8px;font-size:12px;font-weight:700;color:var(--wine)}
.contact-form input,.contact-form textarea{
  width:100%;border:1px solid var(--line);border-radius:16px;
  padding:15px 16px;background:var(--cream);outline:none;color:var(--ink)
}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(217,138,162,.15)}
.contact-form small{color:var(--muted)}

.client-wall{
  padding-top:90px;
  padding-bottom:96px;
  background:linear-gradient(180deg, rgba(255,250,247,.98) 0%, rgba(244,219,227,.42) 100%);
}
.client-wall-head{margin-bottom:34px}
.client-marquee{
  position:relative;
  overflow:hidden;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.client-marquee:before,
.client-marquee:after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:90px;
  z-index:2;
  pointer-events:none;
}
.client-marquee:before{
  left:0;
  background:linear-gradient(90deg,var(--cream),rgba(255,250,247,0));
}
.client-marquee:after{
  right:0;
  background:linear-gradient(270deg,var(--cream),rgba(255,250,247,0));
}
.client-marquee-track{
  display:flex;
  align-items:center;
  gap:48px;
  width:max-content;
  animation:clientMarquee 28s linear infinite;
}
.client-marquee:hover .client-marquee-track{animation-play-state:paused}
.client-logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
}
.client-logo img{
  display:block;
  max-height:88px;
  width:auto;
  max-width:240px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(59,12,29,.06));
}
.client-logo.logo-well img{filter:drop-shadow(0 0 1px rgba(37,22,28,.22)) drop-shadow(0 10px 20px rgba(59,12,29,.08));}
@keyframes clientMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

footer{
  padding:42px clamp(22px,6vw,92px);
  display:grid;grid-template-columns:1fr auto auto;gap:34px;align-items:center;
  background:linear-gradient(135deg,#2d0a17 0%, #4a1023 65%, #5f1630 100%);color:#fff;font-size:12px;
}
.footer-brand{font-family:"Playfair Display",serif;font-size:24px}
.footer-brand span{display:block;font-family:"DM Sans",sans-serif;font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#ddb5c2}
.footer-links{display:flex;gap:22px;color:#e8ccd5}
.footer-copy{color:#b98c9b}
.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}
.reveal.visible{opacity:1;transform:none}
@media (max-width:1000px){
  .nav{display:none;position:absolute;top:82px;left:18px;right:18px;padding:24px;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px rgba(60,15,33,.12)}
  .client-logo img{max-height:74px;max-width:200px}
  .client-marquee-track{gap:36px;animation-duration:24s}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{grid-template-columns:1fr;padding-top:86px}
  .hero-art{min-height:500px}
  .trust{grid-template-columns:1fr 1fr}
  .trust div:nth-child(2){border-right:0}
  .trust div{border-bottom:1px solid var(--line)}
  .service-grid,.studio,.contact{grid-template-columns:1fr}
  .studio-visual{order:2}
  .contact-copy{position:static}
  .portfolio-grid{grid-template-columns:1fr}
  .project-art{height:380px}
  .footer-brand-logo img{width:min(100%,280px)}
  footer{grid-template-columns:1fr}
}
@media (max-width:620px){
  .site-header{padding:16px 18px}
  .client-wall{padding-top:72px;padding-bottom:74px}
  .client-marquee{padding:14px 0}
  .client-marquee:before,.client-marquee:after{width:42px}
  .client-marquee-track{gap:28px;animation-duration:20s}
  .client-logo{min-width:130px}
  .client-logo img{max-height:52px;max-width:150px}
  .brand-text{font-size:14px}
  .hero,.section{padding-left:18px;padding-right:18px}
  .hero{padding-top:60px}
  h1{font-size:49px}
  h2{font-size:42px}
  .hero-art{min-height:430px}
  .mockup-card{width:190px;height:240px;padding:20px}
  .mockup-card strong{font-size:28px}
  .card-c{width:160px;height:185px;left:18%}
  .monogram{font-size:140px}
  .trust{grid-template-columns:1fr}
  .trust div{border-right:0}
  .service-grid{grid-template-columns:1fr}
  .visual-frame{min-height:470px}
  .paper-one{width:210px;height:290px;font-size:34px;line-height:.94;padding:16px}
  .paper-two{width:220px;height:250px;font-size:34px;line-height:.96;padding:16px}
  .contact-form{padding:24px}
}

/* Réalisations réelles */
.portfolio-grid-real{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
.project-real{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 18px 55px rgba(74,20,40,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
.project-real:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 70px rgba(74,20,40,.12);
}
.project-link{display:block}
.project-art-image{
  height:540px;
  padding:24px;
  background:linear-gradient(145deg,#f7e4ec,#fff8fb 58%, rgba(123,217,226,.12));
  overflow:hidden;
}
.project-art-image.landscape{height:410px}
.project-art-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 16px 30px rgba(54,10,27,.12));
  transition:transform .35s ease;
}
.project-real:hover .project-art-image img{transform:scale(1.025)}
.project-real .project-meta{padding:26px 28px 30px}
.project-real .project-meta strong{display:block;margin-top:5px}
.project-real .project-meta p{margin:12px 0 0;color:var(--muted);font-size:14px}
@media (max-width:1000px){
  .portfolio-grid-real{grid-template-columns:1fr 1fr}
  .project-art-image{height:440px}
  .project-art-image.landscape{height:340px}
}
@media (max-width:720px){
  .portfolio-grid-real{grid-template-columns:1fr}
  .project-art-image,.project-art-image.landscape{height:420px}
}

/* ===== Portfolio premium ===== */
.portfolio-premium{background:#fffaf7;overflow:hidden}
.portfolio-premium-head{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:end;margin-bottom:54px}
.portfolio-premium-head h2{margin-bottom:0}.portfolio-premium-head h2 em{color:var(--rose)}
.portfolio-lead{max-width:680px;margin:0;color:var(--muted);font-size:17px}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px}
.filter-chip{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--wine);font-weight:700;cursor:pointer;transition:.25s ease}
.filter-chip:hover,.filter-chip.is-active{background:var(--wine);border-color:var(--wine);color:#fff;box-shadow:0 10px 24px rgba(80,21,43,.12)}
.portfolio-featured{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.portfolio-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case-card{border-radius:30px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:.3s ease;box-shadow:0 12px 45px rgba(80,21,43,.05);display:flex;flex-direction:column;height:100%}
.case-card:hover{transform:translateY(-5px);box-shadow:0 24px 70px rgba(80,21,43,.10)}
.case-open{width:100%;height:100%;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column}
.scene{position:relative;min-height:420px;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.case-featured .scene{min-height:520px}
.scene:before{content:"";position:absolute;inset:0;z-index:-3}
.scene:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none}
.scene-oak:before{background:repeating-linear-gradient(7deg,rgba(125,75,36,.05) 0 2px,transparent 2px 11px),linear-gradient(145deg,#e8cba9,#c89768)}
.scene-oak:after{background:radial-gradient(circle at 15% 12%,rgba(255,255,255,.6),transparent 35%),linear-gradient(120deg,transparent 0 58%,rgba(84,42,18,.06) 58% 60%,transparent 60%)}
.scene-linen:before{background:repeating-linear-gradient(0deg,rgba(111,69,55,.025) 0 1px,transparent 1px 5px),linear-gradient(145deg,#f2ece5,#e1d2c3)}
.scene-linen:after{background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.65),transparent 38%)}
.scene-rose-desk:before{background:linear-gradient(135deg,#f4d7df,#df9fb1)}
.scene-rose-desk:after{background:linear-gradient(35deg,transparent 0 64%,rgba(255,255,255,.28) 64% 66%,transparent 66%)}
.scene-concrete:before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),transparent 30%),linear-gradient(145deg,#d9d4cf,#bbb4ad)}
.scene-concrete:after{background-image:radial-gradient(rgba(75,62,56,.08) 1px,transparent 1px);background-size:17px 17px;opacity:.45}
.scene-blush:before{background:linear-gradient(145deg,#f6ebe8,#efcfd4)}
.scene-blush:after{background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.85),transparent 35%)}
.scene-dark-office:before{background:linear-gradient(145deg,#262427,#464147)}
.scene-dark-office:after{background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.13),transparent 28%),linear-gradient(110deg,transparent 0 68%,rgba(255,255,255,.05) 68% 69%,transparent 69%)}
.scene-bakery:before{background:repeating-linear-gradient(3deg,rgba(89,57,31,.06) 0 2px,transparent 2px 10px),linear-gradient(145deg,#c9945f,#9a673c)}
.scene-bakery:after{background:radial-gradient(circle at 80% 20%,rgba(255,237,204,.42),transparent 34%)}
.scene-white-stone:before{background:linear-gradient(145deg,#f2f0eb,#dcd8d0)}
.scene-white-stone:after{background:linear-gradient(28deg,transparent 0 46%,rgba(255,255,255,.55) 46% 47%,transparent 47%),radial-gradient(circle at 70% 20%,rgba(255,255,255,.65),transparent 35%)}
.scene-papeterie{min-height:460px}

.artwork{position:relative;z-index:3;display:block;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(48,28,35,.24));transition:transform .35s ease}
.case-card:hover .artwork{transform:translateY(-5px) rotate(var(--art-rot,0deg)) scale(1.015)}
.artwork-small{max-height:255px;max-width:195px;width:auto;height:auto;--art-rot:-2deg;transform:rotate(var(--art-rot))}
.artwork-small.landscape{max-height:160px;max-width:255px;--art-rot:1deg}
.case-featured .artwork-small{max-height:330px;max-width:255px}
.artwork-folder{width:min(70%,500px);max-height:350px;--art-rot:2deg;transform:rotate(var(--art-rot))}
.artwork-a5{max-height:285px;max-width:205px;--art-rot:-2deg;transform:rotate(var(--art-rot))}
.artwork-business-card{max-height:190px;max-width:130px;--art-rot:3deg;transform:rotate(var(--art-rot))}
.format-badge{position:absolute;right:18px;bottom:18px;z-index:5;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wine);border:1px solid rgba(255,255,255,.65)}
.case-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 28px;background:#fff;min-height:112px;border-top:1px solid rgba(110,24,51,.06)}
.case-kicker{display:block;margin-bottom:8px;color:var(--rose);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.case-copy h3{margin:0;font-family:"Playfair Display",serif;color:var(--wine);font-size:25px;line-height:1.14;overflow:visible}
.case-copy > div{flex:1;min-width:0}
.case-arrow{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--wine);transition:.25s ease;align-self:flex-end}
.case-card:hover .case-arrow{background:var(--wine);color:#fff;border-color:var(--wine);transform:rotate(8deg)}

.artwork-milliardaire{max-height:410px!important;max-width:310px!important}
.artwork-mega{max-height:215px!important;max-width:340px!important}
.artwork-card-wide{max-height:200px;max-width:300px;--art-rot:-2deg;transform:rotate(var(--art-rot))}
.artwork-stack{position:absolute;left:50%;top:50%;max-width:225px;max-height:150px;width:auto;height:auto}
.artwork-stack-front{transform:translate(-50%,-50%) rotate(-1deg);z-index:4}
.artwork-stack-back-left{transform:translate(-80%,-56%) rotate(-12deg) scale(.98);z-index:2}
.artwork-stack-back-right{transform:translate(-20%,-42%) rotate(10deg) scale(.98);z-index:3}
.portfolio-subsection{grid-column:1/-1;display:grid;grid-template-columns:.7fr 1.3fr;gap:24px;align-items:end;padding:8px 6px 0;margin-top:4px}
.portfolio-subsection span{font-family:"Playfair Display",serif;color:var(--wine);font-size:31px;line-height:1.1}
.portfolio-subsection p{margin:0;color:var(--muted);font-size:15px;max-width:720px}

/* Decorative objects */
.scene-object{position:absolute;z-index:1;display:block;pointer-events:none}
.scene-vase{width:105px;height:135px;left:7%;top:9%;border-radius:48% 48% 38% 38%;background:linear-gradient(145deg,#f7f0e6,#d9c7b4);box-shadow:0 16px 35px rgba(70,42,25,.16)}
.scene-vase:before{content:"";position:absolute;width:65px;height:95px;left:55px;top:-45px;border-left:3px solid #6d7c56;border-radius:50%;transform:rotate(24deg)}
.scene-vase:after{content:"";position:absolute;width:28px;height:55px;left:72px;top:-31px;background:#71825d;border-radius:80% 10% 80% 10%;transform:rotate(24deg)}
.scene-pencil{width:150px;height:9px;right:9%;bottom:16%;background:#6e1833;border-radius:9px;transform:rotate(-14deg);box-shadow:0 6px 10px rgba(70,30,40,.15)}
.scene-ribbon{width:240px;height:18px;left:3%;bottom:15%;background:#b8818f;transform:rotate(22deg);opacity:.58;border-radius:999px}
.scene-flower{width:72px;height:72px;right:7%;top:8%;border:16px solid rgba(255,255,255,.72);border-radius:50%;box-shadow:20px 8px 0 -10px rgba(255,255,255,.72),-18px 11px 0 -10px rgba(255,255,255,.72)}
.scene-clip{width:48px;height:82px;right:12%;top:12%;border:5px solid rgba(110,24,51,.48);border-left-color:transparent;border-radius:32px;transform:rotate(18deg)}
.scene-token{width:70px;height:70px;left:10%;top:12%;border-radius:50%;background:linear-gradient(145deg,#f2d06e,#c69b30);box-shadow:0 10px 24px rgba(69,48,29,.18)}
.scene-cup{width:105px;height:105px;left:8%;top:10%;border-radius:50%;background:#fff;box-shadow:0 10px 25px rgba(90,45,56,.12)}
.scene-cup:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#6a4935}
.scene-pen{width:140px;height:7px;right:8%;bottom:14%;background:#6e1833;border-radius:999px;transform:rotate(-18deg)}
.scene-key{width:95px;height:35px;left:8%;bottom:15%;border:5px solid #aaa;border-right:0;border-radius:22px;transform:rotate(13deg);opacity:.7}
.scene-notebook{width:115px;height:145px;right:4%;top:7%;background:#171719;border:1px solid #656066;border-radius:6px;box-shadow:0 16px 28px rgba(0,0,0,.28);transform:rotate(8deg)}
.scene-wheat{width:6px;height:145px;left:11%;top:10%;background:#ead0a1;transform:rotate(-18deg);border-radius:999px;box-shadow:12px 8px 0 -1px #d5b47b,24px 18px 0 -1px #d5b47b}
.scene-napkin{width:135px;height:115px;right:4%;bottom:5%;background:#eee2cf;transform:rotate(-8deg);opacity:.9;box-shadow:0 10px 22px rgba(61,39,23,.15)}
.scene-leaf{width:38px;height:110px;left:8%;top:8%;background:#3f7f50;border-radius:90% 10% 90% 10%;transform:rotate(33deg);opacity:.75}
.scene-phone{width:92px;height:180px;right:-28px;bottom:12%;background:#262626;border-radius:20px;transform:rotate(-9deg);box-shadow:0 14px 35px rgba(30,30,30,.18)}

.portfolio-note{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:start;margin-top:70px;padding-top:32px;border-top:1px solid var(--line)}
.portfolio-note span{font-family:"Playfair Display",serif;color:var(--wine);font-size:29px;line-height:1.1}
.portfolio-note p{margin:0;color:var(--muted);font-size:16px;max-width:720px}

/* Project detail dialog */
.project-dialog{width:min(1380px,calc(100vw - 28px));height:min(820px,calc(100vh - 28px));max-height:none;padding:0;border:0;border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 35px 120px rgba(46,10,24,.28)}
.project-dialog::backdrop{background:linear-gradient(145deg,rgba(36,10,20,.78),rgba(57,20,39,.72));backdrop-filter:blur(10px)}
.project-dialog[open]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr)}
.dialog-visual{min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:44px;background:linear-gradient(145deg,#fbf2f4,#ecd9df)}
.dialog-visual img{max-width:92%;max-height:540px;object-fit:contain;filter:drop-shadow(0 24px 28px rgba(54,22,34,.20))}
.dialog-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}
.dialog-thumb{width:92px;height:72px;padding:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;cursor:pointer;transition:.2s ease;box-shadow:0 8px 20px rgba(57,18,33,.06)}
.dialog-thumb:hover,.dialog-thumb.is-active{border-color:var(--wine);transform:translateY(-2px);box-shadow:0 12px 24px rgba(57,18,33,.10)}
.dialog-thumb img{width:100%;height:100%;object-fit:contain;padding:6px;filter:none}
.dialog-content{min-height:0;height:100%;padding:58px 64px 72px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:linear-gradient(180deg,#fff 0%,#fffaf8 100%)}
.dialog-content h2{font-size:58px;margin-bottom:18px}
.dialog-intro{font-size:17px;color:var(--muted);margin-bottom:34px}
.project-facts{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.project-facts>div{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:17px 0;border-bottom:1px solid var(--line)}
.project-facts>div:last-child{padding-bottom:24px}
.project-facts dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);font-weight:700}
.project-facts dd{margin:0;color:var(--ink);font-size:14px}
.dialog-close{position:absolute;right:18px;top:18px;z-index:5;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:var(--wine);font-size:29px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(57,18,33,.12)}
@media (max-width:1000px){
  .portfolio-premium-head{grid-template-columns:1fr;gap:18px}
  .portfolio-featured{grid-template-columns:1fr}
  .portfolio-case-grid{grid-template-columns:1fr 1fr}
  .project-dialog[open]{grid-template-columns:1fr;grid-template-rows:auto auto}
  .dialog-visual{min-height:380px;height:auto;overflow:visible}
  .dialog-content{height:auto;padding:40px}
  .project-dialog{height:auto;max-height:calc(100vh - 28px);overflow:auto}
  .dialog-content h2{font-size:44px}
  .dialog-thumbs{justify-content:flex-start}
  .scene-papeterie{min-height:420px}
  .artwork-stack{max-width:205px;max-height:138px}
}
@media (max-width:680px){
  .card-a{left:2%;top:12%}
  .card-b{right:4%;top:12%;width:210px;height:250px}
  .card-c{left:18%;bottom:7%;width:175px;height:200px}
  .case-copy{min-height:104px;padding:20px 22px 24px}

  .portfolio-case-grid{grid-template-columns:1fr}
  .scene,.case-featured .scene{min-height:390px}
  .case-copy h3{font-size:23px}
  .artwork-small{max-height:220px;max-width:165px}
  .case-featured .artwork-small{max-height:260px;max-width:190px}
  .artwork-milliardaire{max-height:300px!important;max-width:220px!important}
  .artwork-mega{max-height:170px!important;max-width:250px!important}
  .artwork-folder{width:82%}
  .artwork-a5{max-height:245px;max-width:175px}
  .artwork-card-wide{max-height:165px;max-width:240px}
  .portfolio-subsection{grid-template-columns:1fr;gap:10px}
  .portfolio-note{grid-template-columns:1fr;gap:14px}
  .dialog-content{padding:32px 24px 34px}
  .dialog-visual{padding:28px;min-height:330px}
  .dialog-content h2{font-size:38px}
  .project-facts>div{grid-template-columns:1fr;gap:5px}
  .portfolio-filters{gap:10px}
  .filter-chip{padding:0 16px;min-height:40px}
  .artwork-stack{max-width:190px;max-height:130px}
  .artwork-stack-back-left{transform:translate(-78%,-56%) rotate(-12deg) scale(.96)}
  .artwork-stack-back-right{transform:translate(-22%,-42%) rotate(10deg) scale(.96)}
}


/* ===== V6 — Accueil premium ===== */
.site-header{
  background:rgba(255,250,247,.78);
  backdrop-filter:blur(22px) saturate(145%);
  border-bottom:1px solid rgba(110,24,51,.07);
}
.site-header:after{
  content:"";position:absolute;left:clamp(22px,5vw,72px);right:clamp(22px,5vw,72px);bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(110,24,51,.18),transparent);
}
.brand-mark{box-shadow:0 10px 28px rgba(110,24,51,.22)}
.nav a:not(.nav-cta){position:relative}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--wine);transition:.25s ease}
.nav a:not(.nav-cta):hover:after{right:0}
.nav-cta{box-shadow:0 10px 26px rgba(110,24,51,.16)}

.hero{
  position:relative;
  min-height:88vh;
  background:
    radial-gradient(circle at 82% 20%,rgba(217,138,162,.20),transparent 26%),
    radial-gradient(circle at 72% 82%,rgba(244,219,227,.72),transparent 28%),
    linear-gradient(180deg,#fffaf7 0%,#fff7f9 100%);
}
.hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(110,24,51,.10) .7px,transparent .7px);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%);
}
.hero-copy{position:relative;z-index:3;max-width:820px}
.hero-copy .eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(110,24,51,.11);
  border-radius:999px;background:rgba(255,255,255,.68);backdrop-filter:blur(8px);
}
.hero-copy .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rose)}
.hero h1{max-width:900px;text-wrap:balance}
.hero h1 em{position:relative;white-space:nowrap}
.hero h1 em:after{content:"";position:absolute;left:3%;right:0;bottom:-6px;height:9px;border-radius:50%;background:rgba(217,138,162,.18);transform:rotate(-1deg);z-index:-1}
.hero-intro{font-size:19px;line-height:1.75;max-width:650px}
.hero-signature{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.hero-signature span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--wine);box-shadow:0 6px 18px rgba(91,33,53,.04)}
.hero-actions{margin-top:30px}
.hero .btn{min-height:55px;padding:0 27px}
.hero .btn-primary{box-shadow:0 16px 34px rgba(110,24,51,.19)}
.hero .btn-primary:hover{box-shadow:0 20px 40px rgba(110,24,51,.24)}

.hero-art{z-index:2;isolation:isolate}
.hero-orbit{position:absolute;border-radius:50%;border:1px solid rgba(110,24,51,.11);z-index:-1}
.orbit-one{width:430px;height:430px;right:0;top:6%}
.orbit-two{width:290px;height:290px;left:8%;bottom:5%;border-color:rgba(217,138,162,.24)}
.blob-1{background:linear-gradient(145deg,#f4dbe3,#efd0da);box-shadow:inset 0 0 80px rgba(255,255,255,.55)}
.blob-2{background:linear-gradient(145deg,#f4cad6,#e9aebf);opacity:.9}
.mockup-card{border:1px solid rgba(255,255,255,.44);box-shadow:0 28px 70px rgba(68,18,37,.15)}
.card-a{background:linear-gradient(160deg,#731a38,#571126)}
.card-b{background:linear-gradient(155deg,#fff,#fff9fb)}
.card-c{background:linear-gradient(155deg,#e3a0b4,#d98aa2)}
.card-b strong{font-size:37px}

.trust{position:relative;z-index:3;box-shadow:0 14px 50px rgba(83,31,49,.045)}
.trust div{transition:.25s ease}
.trust div:hover{background:#fff9fb}
.trust strong{font-size:15px;margin-bottom:2px}

@media (max-width:1000px){
  .hero{min-height:auto}
  .hero-copy{max-width:none}
  .hero-signature{max-width:680px}
}
@media (max-width:620px){
  .hero-copy .eyebrow{font-size:10px}
  .hero-intro{font-size:17px;line-height:1.65}
  .hero-signature{gap:7px}
  .hero-signature span{font-size:10px;padding:7px 10px}
  .hero-actions{gap:10px}
  .hero .btn{width:100%}
  .hero-orbit{display:none}
}

/* V7 adjustment: make "Identité élégante" fully visible */
.card-a{left:0;top:7%;z-index:6;transform:rotate(-3deg)}
.card-c{left:28%;bottom:5%}
@media (max-width:680px){
  .card-a{left:0;top:8%;z-index:6;transform:rotate(-2deg)}
  .card-c{left:22%;bottom:6%}
}

.paper-two.paper-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  overflow:hidden;
}
.paper-two.paper-logo img{
  display:block;
  width:94%;
  height:94%;
  object-fit:contain;
  mix-blend-mode:normal;
}
@media (max-width:620px){
  .paper-two.paper-logo{padding:14px}
  .paper-two.paper-logo img{width:96%;height:96%}
}

.paper-logo img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 10px 24px rgba(60,15,33,.08));}

.footer-brand-logo{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  padding:14px 18px;
  border-radius:20px;
  background:rgba(255,250,247,.96);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.footer-brand-logo img{display:block;width:min(100%,340px);height:auto;filter:brightness(1.02) saturate(1.02);}

.section-head h2{position:relative;display:inline-block;padding-right:18px;}
.section-head h2:after{content:"";display:block;width:74px;height:4px;margin-top:14px;border-radius:999px;background:linear-gradient(90deg,var(--fuchsia),var(--aqua));}
.text-link{color:var(--wine);font-weight:700;letter-spacing:.03em}.text-link:hover{color:var(--fuchsia)}

@media (max-width:620px){
  .footer-brand-logo{padding:10px 12px;border-radius:16px;}
}

.cookie-banner[hidden], #cookie-details[hidden] { display:none!important }
.cookie-banner { position:fixed;z-index:1000;bottom:1rem;left:1rem;right:1rem;max-width:720px;padding:1.25rem 1.5rem;background:#fffaf7;color:#3b0c1d;border:1px solid #d98aa2;box-shadow:0 12px 36px #3b0c1d36;border-radius:12px;font-size:1rem;line-height:1.5 }
.cookie-banner div { display:flex;gap:.6rem;flex-wrap:wrap }
.cookie-banner button,.cookie-settings-link { cursor:pointer;border:1px solid #6e1833;border-radius:6px;padding:.55rem .9rem;background:#6e1833;color:#fff }
.cookie-settings-link { background:transparent;color:inherit;border:0;padding:0;font:inherit;text-decoration:underline }
.legal-page { max-width:850px;margin:5rem auto;padding:0 1.5rem 5rem;line-height:1.7;font-size:1rem }
.legal-page h1 { font-size:clamp(2rem,5vw,3.5rem);line-height:1.15 }.legal-page h2 { margin-top:2.5rem;font-size:1.4rem }


/* Compositions de l'accueil et du studio basées sur les montages fournis. */
.hero:after{display:none}
.hero-art{
  display:block;
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  width:100%;
  max-width:857px;
  min-height:0;
  aspect-ratio:857 / 656;
  padding:0;
  container-type:inline-size;
}
.hero-art .hero-orbit,.hero-art .blob{display:block;position:absolute;z-index:-1;pointer-events:none}
.hero-art .orbit-one{width:51%;height:auto;aspect-ratio:1;right:0;top:15%;border:1px solid rgba(110,24,51,.13)}
.hero-art .orbit-two{width:38%;height:auto;aspect-ratio:1;left:14%;bottom:3%;border:1px solid rgba(217,138,162,.23)}
.hero-art .blob-1{width:49%;height:auto;aspect-ratio:1;right:2%;top:16%;background:rgba(235,187,205,.32);box-shadow:none;filter:blur(5px)}
.hero-art .blob-2{width:35%;height:auto;aspect-ratio:1;left:1%;bottom:5%;background:rgba(237,149,180,.43);opacity:1;filter:blur(3px)}
.hero-art .mockup-card{
  position:absolute;
  box-sizing:border-box;
  inset:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:1.2cqw;
  height:auto;
  min-height:0;
  padding:3cqw;
  border:0;
  border-radius:10%;
  box-shadow:0 20px 54px rgba(68,18,37,.11);
  z-index:1;
}
.hero-art .card-a{left:3%;top:6%;width:39%;height:52%;background:#62182f;color:white;transform:rotate(-3deg)}
.hero-art .card-b{left:54%;top:10%;width:43%;height:54%;background:white;color:#62182f;transform:rotate(4deg)}
.hero-art .card-c{left:29%;top:67%;width:43%;height:31%;background:#dc91ad;color:#3b0c1d;transform:rotate(-2deg)}
.hero-art .mockup-card span{font-size:clamp(10px,1.45cqw,14px);line-height:1.2;letter-spacing:.12em}
.hero-art .mockup-card strong,.hero-art .card-b strong{
  font-size:clamp(16px,4.1cqw,38px);
  line-height:1.03;
  letter-spacing:-.055em;
  white-space:normal;
  overflow-wrap:normal;
}
.hero-art .card-c strong{font-size:clamp(15px,3.8cqw,36px)}
.hero-art.visible .mockup-card{animation:cadre-entre .85s cubic-bezier(.22,.7,.2,1) both}
.hero-art.visible .card-b{animation-delay:.16s}
.hero-art.visible .card-c{animation-delay:.32s}
@keyframes cadre-entre{from{opacity:0;translate:0 35px;scale:.95}to{opacity:1;translate:0 0;scale:1}}

.visual-frame{
  position:relative;
  box-sizing:border-box;
  width:100%;
  min-height:0;
  aspect-ratio:857 / 656;
  container-type:inline-size;
  border-radius:5%;
  background:linear-gradient(145deg,#fff3f8,#fff 62%,#eaf8fa);
}
.visual-frame .paper-one{
  left:12%;top:13%;width:35%;height:60%;
  padding:3%;
  font-size:clamp(19px,5cqw,45px);
  line-height:.95;
  transform:rotate(-8deg);
  background:linear-gradient(160deg,#62182f 0%,#62182f 40%,#d50061 100%);
}
.visual-frame .paper-two.paper-logo{
  right:7%;bottom:9%;width:35%;height:51%;
  padding:4%;transform:rotate(7deg);
}
.visual-frame .paper-two.paper-logo img{width:100%;height:100%;object-fit:contain}
.visual-frame .flower{right:12%;top:11%;font-size:clamp(34px,8cqw,70px);line-height:1}
@media (max-width:1000px){.hero-art,.visual-frame{min-height:0}}
@media (max-width:620px){
  .hero-art{min-height:0;aspect-ratio:857 / 690;margin:8px auto 20px}
  .hero-art .card-a{width:46%;left:1%}
  .hero-art .card-b{width:48%;left:51%}
  .hero-art .card-c{width:47%;left:26%}
  .hero-art .mockup-card{padding:3cqw}
  .hero-art .mockup-card strong,.hero-art .card-b strong{font-size:clamp(14px,4.1cqw,22px)}
  .hero-art .card-c strong{font-size:clamp(14px,3.65cqw,21px)}
  .hero-art .mockup-card span{font-size:10px;letter-spacing:.04em}
  .visual-frame{min-height:0}
  .visual-frame .paper-one{font-size:clamp(16px,5cqw,25px)}
  .visual-frame .paper-two.paper-logo{padding:3%}
}
@media (prefers-reduced-motion:reduce){.hero-art.visible .mockup-card{animation:none}}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status:not([hidden]){padding:12px 16px;border-radius:12px;background:#f4dbe3;color:#3b0c1d;font-size:1rem}
