
:root{--bg:#070503;--text:#f0ece4;--muted:#a49a8d;--line:rgba(215,176,112,.22);--gold:#c8a46d;--gold-bright:#efd3a0;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Avenir Next","Helvetica Neue",Arial,sans-serif;overflow-x:hidden;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}::selection{background:rgba(200,164,109,.28);color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:fixed;top:0;left:0;width:100%;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:26px clamp(20px,4vw,64px);opacity:0;transform:translateY(-8px);transition:opacity .9s ease,transform .9s ease;background:linear-gradient(to bottom,rgba(4,3,2,.52),transparent);pointer-events:none}
body.brand-complete .site-header{opacity:1;transform:none;pointer-events:auto}.header-wordmark{font-size:11px;letter-spacing:.34em;color:#d9cab4}.header-wordmark span{font-size:8px;color:#8e8171;margin-left:.6em;letter-spacing:.42em}.header-nav{display:flex;gap:30px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#c7beb2}.header-nav a{position:relative;padding:8px 0}.header-nav a:after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}.header-nav a:hover:after{transform:scaleX(1);transform-origin:left}

/* V5 — l'intro n'est plus un écran séparé : le N animé vit directement dans la home. */
.hero{min-height:100svh;position:relative;overflow:hidden;isolation:isolate;background:#040302 url('assets/hero-v4-desktop.jpg') center center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 43%,rgba(0,0,0,.88) 0%,rgba(0,0,0,.84) 26%,rgba(0,0,0,.75) 49%,rgba(0,0,0,.60) 72%,rgba(0,0,0,.47) 100%),linear-gradient(to bottom,rgba(0,0,0,.38) 0%,rgba(0,0,0,.31) 42%,rgba(0,0,0,.47) 72%,rgba(0,0,0,.69) 100%)}
.hero__shade{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,rgba(3,2,1,.01) 0%,rgba(3,2,1,.02) 46%,rgba(3,2,1,.16) 68%,rgba(3,2,1,.50) 100%);pointer-events:none}

.hero-brand{position:absolute;left:50%;top:43%;z-index:2;transform:translate(-50%,-50%);width:min(980px,78vw);filter:drop-shadow(0 8px 28px rgba(0,0,0,.46));pointer-events:none}
.hero-brand::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1220px,98vw);height:clamp(205px,23vw,300px);z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(4,3,2,.997) 0%,rgba(4,3,2,.992) 24%,rgba(4,3,2,.978) 42%,rgba(4,3,2,.90) 60%,rgba(4,3,2,.58) 78%,rgba(4,3,2,.15) 92%,rgba(4,3,2,0) 100%);filter:blur(22px)}
.hero-brand__row{display:grid;grid-template-columns:clamp(76px,8.8vw,112px) 1fr;align-items:center;gap:clamp(12px,2vw,26px);width:100%}
.hero-brand__n{position:relative;width:100%;aspect-ratio:220/283;overflow:visible;opacity:1;isolation:isolate}
.hero-brand__n-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;filter:brightness(1.03) contrast(1.06) saturate(.95) drop-shadow(0 0 12px rgba(234,194,128,.07))}
.hero-brand__oalix{position:relative;width:100%;aspect-ratio:820/145}
.hero-brand__letter{position:absolute;top:0;height:100%;width:auto;opacity:0;transform:translateY(7px);filter:blur(6.5px) brightness(1.12) contrast(1.04) drop-shadow(0 0 14px rgba(234,194,128,.09));transition:opacity .42s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1),filter .82s cubic-bezier(.22,.61,.36,1)}
.hero-brand__letter--o{left:5.12%;width:11.95%}
.hero-brand__letter--a{left:28.54%;width:11.59%}
.hero-brand__letter--l{left:52.44%;width:7.68%}
.hero-brand__letter--i{left:71.71%;width:1.59%}
.hero-brand__letter--x{left:85.37%;width:10.73%}
.hero-brand__studio-wrap{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,24px);width:min(84%,740px);margin:clamp(-2px,-.15vw,-1px) auto 0;opacity:0;transform:translateY(7px);transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1)}
.hero-brand__studio-wrap::before,.hero-brand__studio-wrap::after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,rgba(233,197,132,.0),rgba(233,197,132,.88),rgba(233,197,132,.88));opacity:.95;filter:drop-shadow(0 0 4px rgba(234,194,128,.18))}
.hero-brand__studio-wrap::after{background:linear-gradient(90deg,rgba(233,197,132,.88),rgba(233,197,132,.88),rgba(233,197,132,.0))}
.hero-brand__studio{display:block;width:min(36%,320px);height:auto;filter:brightness(1.08) contrast(1.03)}
body.show-letter-o .hero-brand__letter--o,body.show-letter-a .hero-brand__letter--a,body.show-letter-l .hero-brand__letter--l,body.show-letter-i .hero-brand__letter--i,body.show-letter-x .hero-brand__letter--x{opacity:1;transform:none;filter:blur(0) brightness(1.09) contrast(1.04) drop-shadow(0 0 14px rgba(234,194,128,.09))}body.show-studio .hero-brand__studio-wrap{opacity:1;transform:none}

.hero__content{position:absolute;left:50%;top:61%;z-index:2;transform:translate(-50%,24px);width:min(900px,calc(100% - 64px));text-align:center;opacity:0;transition:opacity 1.05s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}
.hero__signature{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(14px,1.35vw,19px);font-weight:400;color:#d7cbbb;margin:0 0 32px;text-shadow:0 1px 14px rgba(0,0,0,.72)}
.hero-links{width:100%;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(225,190,132,.22);border-bottom:1px solid rgba(225,190,132,.16);background:rgba(5,3,2,.20);backdrop-filter:blur(5px)}.hero-link{position:relative;padding:18px 20px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#d0c7bc;transition:color .3s ease,background .3s ease}.hero-link+.hero-link{border-left:1px solid rgba(225,190,132,.14)}.hero-link span{display:block;font-size:8px;letter-spacing:.2em;color:#887863;margin-bottom:8px}.hero-link:hover{background:rgba(202,166,108,.07);color:var(--gold-bright)}.hero-link--accent{color:#d0c7bc}.hero-link--accent:hover{color:var(--gold-bright)}
body.home-revealed .hero__content{opacity:1;transform:translate(-50%,0)}
.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:#8a8176;opacity:0;transition:opacity 1s ease}.scroll-cue i{display:block;width:34px;height:1px;background:var(--line);position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:sweep 2.2s ease-in-out infinite}body.home-revealed .scroll-cue{opacity:1}@keyframes sweep{50%,100%{transform:translateX(100%)}}
main>section:not(.hero),.footer{position:relative;background:linear-gradient(180deg,rgba(8,6,4,.98),rgba(6,5,4,.995))}main>section:not(.hero):before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.section-shell{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:clamp(90px,11vw,170px) 0}.section-kicker{margin:0 0 24px;color:var(--gold);font-size:9px;letter-spacing:.35em;text-transform:uppercase}.section-heading h2,.statement h2,.quote h2{font-weight:400;letter-spacing:-.035em;line-height:1.03;margin:0;font-size:clamp(38px,6vw,82px)}.statement{min-height:72vh;display:flex;justify-content:center;flex-direction:column;border-bottom:1px solid rgba(255,255,255,.06)}.statement h2{max-width:1050px}.statement__copy{max-width:720px;margin:42px 0 0 auto;color:#afa699;font-size:clamp(16px,1.7vw,22px);line-height:1.65}.creations{border-bottom:1px solid rgba(255,255,255,.06)}.section-heading{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;align-items:start;margin-bottom:64px}.section-heading .section-kicker{padding-top:10px}.project-card__visual{aspect-ratio:16/9;border:1px solid var(--line);background:radial-gradient(circle at 60% 25%,rgba(160,111,53,.16),transparent 30%),linear-gradient(145deg,rgba(16,13,9,.92),rgba(6,5,4,.92) 60%);position:relative;overflow:hidden}.project-card__visual:before{content:"";position:absolute;inset:-35%;background:linear-gradient(110deg,transparent 42%,rgba(239,212,163,.06) 50%,transparent 58%);transform:translateX(-55%) rotate(2deg);transition:transform 1s ease}.project-card:hover .project-card__visual:before{transform:translateX(55%) rotate(2deg)}.project-card__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,5vw,64px)}.project-card__placeholder span{font-size:9px;letter-spacing:.32em;color:var(--gold)}.project-card__placeholder strong{font-size:clamp(36px,6vw,84px);font-weight:400;letter-spacing:-.03em;margin:8px 0}.project-card__placeholder small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.project-card__meta{display:flex;justify-content:space-between;gap:30px;padding:18px 4px;color:#9d958a;font-size:12px}.project-card__meta a{color:var(--gold-bright)}.creations__note{margin:72px 0 0 auto;max-width:600px;color:#81796f;line-height:1.7;font-size:13px}.story{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}.story__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4.5vw,72px);width:100%;max-width:none;margin-left:0}.story__grid p{color:#aea598;line-height:1.75;font-size:clamp(15px,1.5vw,20px);margin:0}.story__grid strong{color:var(--text);font-weight:500}.story__line{height:1px;width:100%;margin-top:100px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.35}.quote{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(54px,8vw,120px);align-items:start}.quote__intro>p:last-child{color:#a69d91;line-height:1.75;max-width:560px;margin-top:36px;font-size:clamp(16px,1.35vw,19px)}.quote-form{display:grid;gap:30px;padding-top:6px}.quote-form label{display:grid;gap:13px;text-transform:uppercase;letter-spacing:.17em;font-size:11px;line-height:1.4;color:#a89d8f}.quote-form__optional{font-size:.86em;letter-spacing:.12em;color:#71695f;text-transform:none;margin-left:.25em}.quote-form input,.quote-form textarea{width:100%;border:0;border-bottom:1px solid rgba(215,176,112,.30);background:transparent;color:var(--text);font-size:16px;line-height:1.55;padding:15px 0 17px;outline:none;resize:vertical;border-radius:0;transition:border-color .25s ease}.quote-form textarea{min-height:190px;padding-top:16px}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--gold)}.quote-form button{margin-top:10px;border:1px solid rgba(215,176,112,.30);background:rgba(202,166,108,.045);color:var(--gold-bright);padding:22px 24px;text-transform:uppercase;letter-spacing:.19em;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:.3s ease}.quote-form button:hover{background:rgba(202,166,108,.1);border-color:rgba(202,166,108,.55)}.form-note{font-size:12px;color:#71695f;margin:0;line-height:1.6}.footer{padding-top:50px;padding-bottom:48px;border-top:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:1fr auto;gap:34px;align-items:end}.footer__brand--right{grid-column:2;text-align:right}.footer strong{display:block;font-size:12px;letter-spacing:.28em;color:var(--gold-bright)}.footer span{display:block;color:#766f65;font-family:Georgia,serif;font-style:italic;margin-top:9px;font-size:13px}.footer small{grid-column:1/-1;color:#544f48;font-size:9px;letter-spacing:.08em}




/* V5.23 — reflet calé sur la référence “LUXURY” :
   pas de trait lumineux, pas de flash ponctuel. Une zone spéculaire douce traverse
   progressivement la matière dorée sur toute la hauteur des lettres. */
@keyframes noalixLuxuryMaterial {
  0%, 10% {
    -webkit-mask-position: 145% 0;
    mask-position: 145% 0;
    opacity: 0;
  }
  14% { opacity: .22; }
  20% { opacity: .48; }
  34% {
    -webkit-mask-position: 50% 0;
    mask-position: 50% 0;
    opacity: .60;
  }
  47% { opacity: .40; }
  52% {
    -webkit-mask-position: -45% 0;
    mask-position: -45% 0;
    opacity: 0;
  }
  100% {
    -webkit-mask-position: -45% 0;
    mask-position: -45% 0;
    opacity: 0;
  }
}

.hero-brand__n::after,
.hero-brand__oalix::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:0;
  mix-blend-mode:screen;
  filter:sepia(.10) saturate(1.16) brightness(1.72) contrast(1.06) drop-shadow(0 0 9px rgba(255,224,166,.13));
  -webkit-mask-image:linear-gradient(102deg,
    transparent 0%,
    transparent 34%,
    rgba(0,0,0,.12) 39%,
    rgba(0,0,0,.48) 44%,
    rgba(0,0,0,.88) 49%,
    #000 52%,
    rgba(0,0,0,.82) 55%,
    rgba(0,0,0,.40) 60%,
    rgba(0,0,0,.10) 65%,
    transparent 70%,
    transparent 100%);
  mask-image:linear-gradient(102deg,
    transparent 0%,
    transparent 34%,
    rgba(0,0,0,.12) 39%,
    rgba(0,0,0,.48) 44%,
    rgba(0,0,0,.88) 49%,
    #000 52%,
    rgba(0,0,0,.82) 55%,
    rgba(0,0,0,.40) 60%,
    rgba(0,0,0,.10) 65%,
    transparent 70%,
    transparent 100%);
  -webkit-mask-size:230% 100%;
  mask-size:230% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:145% 0;
  mask-position:145% 0;
}
.hero-brand__n::after { background-image:url('assets/n-final-v5.png'); }
.hero-brand__oalix::after { background-image:url('assets/oalix-v5.png'); }

/* Le passage dure environ 2,2 s, puis une vraie respiration avant le prochain reflet. */
body.brand-complete .hero-brand__n::after {
  animation:noalixLuxuryMaterial 6.8s cubic-bezier(.45,.05,.30,1) 0s infinite;
}
body.brand-complete .hero-brand__oalix::after {
  animation:noalixLuxuryMaterial 6.8s cubic-bezier(.45,.05,.30,1) .16s infinite;
}

@media(max-width:780px){.site-header{padding:18px}.header-wordmark{font-size:9px;letter-spacing:.24em}.header-wordmark span{display:none}.header-nav{gap:14px;font-size:8px}.hero{background-image:url('assets/hero-v4-mobile.jpg');background-position:center center}.hero::before{background:radial-gradient(ellipse at 50% 36%,rgba(0,0,0,.90) 0%,rgba(0,0,0,.86) 29%,rgba(0,0,0,.77) 54%,rgba(0,0,0,.61) 77%,rgba(0,0,0,.47) 100%),linear-gradient(to bottom,rgba(0,0,0,.41),rgba(0,0,0,.65))}.hero-brand{top:36%;width:min(760px,84vw)}.hero-brand::before{width:min(100vw,780px);height:clamp(125px,34vw,195px);filter:blur(18px)}.hero-brand__row{grid-template-columns:clamp(44px,12vw,62px) 1fr;gap:10px}.hero-brand__studio-wrap{width:min(92%,520px);margin-top:2px;gap:12px}.hero-brand__studio{width:min(43%,250px)}.hero__content{top:58%;width:calc(100% - 34px)}.hero__signature{margin-bottom:24px;font-size:13px}.hero-links{grid-template-columns:1fr;border-bottom:0;background:rgba(5,3,2,.30)}.hero-link{padding:13px 12px;border-bottom:1px solid var(--line)}.hero-link+.hero-link{border-left:0}.scroll-cue{display:none}.section-shell{width:min(100% - 34px,var(--max));padding:90px 0}.section-heading{grid-template-columns:1fr;gap:10px;margin-bottom:44px}.section-heading .section-kicker{padding-top:0}.statement{min-height:auto}.statement__copy{margin:32px 0 0}.story__grid,.quote{grid-template-columns:1fr}.story__grid{gap:20px}.quote{gap:56px}.project-card__meta{flex-direction:column;gap:5px}.footer{grid-template-columns:1fr}.footer__brand--right{grid-column:1;text-align:right}}
@media(max-height:620px) and (min-width:781px){.hero-brand{top:37%;width:min(860px,72vw)}.hero__content{top:57%}.hero__signature{margin-bottom:18px}.hero-link{padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.site-header,.hero-brand__letter,.hero-brand__studio-wrap,.hero__content,.scroll-cue{opacity:1!important;transform:none!important}.hero-brand__n-video{display:none}.hero-brand__n{background:url('assets/n-final-v5.png') center/contain no-repeat}}

/* V5.34 — formulaire de devis connecté */
.quote-form__trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.quote-form button:disabled{opacity:.55;cursor:wait}
.form-note--pending{color:#9b9287}
.form-note--success{color:#cdb17d}
.form-note--error{color:#d7a39a}
