.hero{min-height:clamp(560px,88svh,900px);padding:clamp(3rem, 8vw, 6rem) var(--marge) clamp(3rem, 6vw, 5rem);--taille-titre:clamp(3.4rem, 11.5vw, 9rem);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.aurore{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.voile{filter:blur(70px);opacity:.78;will-change:transform;border-radius:50%;position:absolute}.voile-un{background:radial-gradient(circle at 40% 45%,#22d3eecc,#22d3ee00 68%);width:62vw;height:46vh;animation:13s ease-in-out infinite alternate deriver-un;top:6%;left:-8%}.voile-deux{background:radial-gradient(circle at 55% 40%,#6366f1bf,#6366f100 68%);width:54vw;height:52vh;animation:17s ease-in-out infinite alternate deriver-deux;top:22%;right:-6%}.voile-trois{background:radial-gradient(circle,#2dd4bfa6,#2dd4bf00 70%);width:46vw;height:34vh;animation:15s ease-in-out infinite alternate deriver-trois;bottom:-6%;left:28%}@keyframes deriver-un{0%{transform:translate(0,0)scale(1)}to{transform:translate(9vw,7vh)scale(1.18)}}@keyframes deriver-deux{0%{transform:translate(0,0)scale(1.1)}to{transform:translate(-11vw,-6vh)scale(.92)}}@keyframes deriver-trois{0%{transform:translate(0,0)scale(.95)}to{transform:translate(6vw,-9vh)scale(1.22)}}@media (max-width:760px){.voile{filter:blur(50px);opacity:.6}}@media (prefers-reduced-motion:reduce){.voile{animation:none}}.grille-horizon{background:linear-gradient(90deg,#0000,#22d3ee8c 25%,#818cf880 75%,#0000);height:1px;position:absolute;top:56%;left:0;right:0;box-shadow:0 0 60px 14px #22d3ee29}@media (prefers-reduced-motion:reduce){.grille-sol{animation:none}}.hero-contenu{z-index:2;max-width:var(--large);width:100%;margin-inline:auto;position:relative}.exergue{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--outremer);margin-bottom:clamp(1rem,3vw,1.8rem);font-size:clamp(.78rem,1.4vw,.9rem);font-weight:600}.titre-peint{display:inline-block;position:relative}.titre-peint h1{z-index:2;font-size:var(--taille-titre);text-shadow:0 0 70px #22d3ee4d;position:relative}.trait{z-index:1;width:100%;height:calc(var(--taille-titre) * .16);left:0;bottom:calc(var(--taille-titre) * -.02);clip-path:inset(0 100% 0 0);filter:drop-shadow(0 0 14px #22d3eea6);animation:1.3s cubic-bezier(.25,.8,.3,1) .4s forwards peindre;position:absolute}@keyframes peindre{to{clip-path:inset(0)}}.promesse{color:#cfdcec;max-width:34ch;margin-top:clamp(1.6rem,4vw,2.4rem);font-size:clamp(1.1rem,2.2vw,1.45rem);font-weight:300;line-height:1.6}.promesse strong{color:var(--texte);font-weight:600}.actions{flex-wrap:wrap;gap:.8rem;margin-top:clamp(1.8rem,4vw,2.6rem);display:flex}.bouton{border:2px solid var(--outremer);border-radius:999px;padding:.95rem 1.7rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .18s,background .25s,color .25s,border-color .25s,box-shadow .25s;display:inline-block}.bouton-plein{background:var(--outremer);color:#06101f;box-shadow:0 0 26px #22d3ee47}.bouton-plein:hover{background:#67e8f9;border-color:#67e8f9;transform:translateY(-2px);box-shadow:0 0 38px #22d3ee80}.bouton-vide{color:var(--outremer);border-color:#22d3ee73}.bouton-vide:hover{border-color:var(--outremer);background:#22d3ee1f;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.trait{clip-path:inset(0)}}
.intro-section{max-width:54ch;color:var(--texte-doux);margin-top:1rem}.faire{grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(2.5rem,6vw,4rem);display:grid}.metier{background:var(--gesso-fonce);border:1px solid var(--mars);flex-direction:column;min-height:clamp(230px,26vw,330px);padding:clamp(1.7rem,3.4vw,2.8rem);display:flex;position:relative;overflow:hidden}.metier:first-child{grid-column:span 7}.metier:nth-child(2),.metier:nth-child(3){grid-column:span 5}.metier:nth-child(4){grid-column:span 7}.metier:first-child{--pigment:var(--magenta)}.metier:nth-child(2){--pigment:var(--outremer)}.metier:nth-child(3){--pigment:var(--veronese)}.metier:nth-child(4){--pigment:var(--terre)}@media (max-width:820px){.metier:first-child,.metier:nth-child(2),.metier:nth-child(3),.metier:nth-child(4){grid-column:1/-1}.metier{min-height:0}}.metier .fond{z-index:0;background:var(--pigment);border-radius:40% 60% 0 0/16% 12% 0 0;transition:transform .55s cubic-bezier(.22,.9,.3,1);position:absolute;inset:-30% -10% -10%;transform:translateY(100%)rotate(-1.5deg)}.metier:hover .fond,.metier:focus-within .fond{transform:translateY(0)rotate(0)}.metier>:not(.fond){z-index:1;transition:color .3s .3s;position:relative}.metier:hover h3,.metier:hover p,.metier:focus-within h3,.metier:focus-within p{color:var(--gesso)}.metier h3{margin-bottom:.8rem}.metier .note{color:var(--texte-doux);margin:auto 0 0;font-size:.88rem}.metier:hover .note,.metier:focus-within .note{color:color-mix(in srgb, var(--gesso) 78%, transparent)}.metier h3{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.galerie{background:#0c1526;border-top:1px solid #22d3ee24;border-bottom:1px solid #22d3ee24}.galerie h2{color:var(--texte)}.galerie .intro-section{color:var(--texte-moyen);max-width:52ch}.accrochage{columns:3;column-gap:clamp(1rem,2.4vw,2rem);margin-top:clamp(2.5rem,6vw,4rem)}@media (max-width:900px){.accrochage{columns:2}}@media (max-width:560px){.accrochage{columns:1}}.toile{break-inside:avoid;opacity:0;margin-bottom:clamp(1.5rem,3.4vw,2.6rem);transition:opacity .8s,transform .8s cubic-bezier(.22,.9,.3,1);transform:translateY(26px)}.toile.posee{opacity:1;transform:none}.toile img{border:1px solid #e8f1fa24;width:100%;height:auto;transition:border-color .35s,box-shadow .35s;box-shadow:0 18px 46px #0009}.toile:hover img{border-color:#22d3ee66;box-shadow:0 18px 54px #000000b3,0 0 36px #22d3ee1f}.toile figcaption{font-family:var(--serif);color:var(--texte);margin-top:.85rem;font-size:1.05rem;font-weight:600}.toile .format{font-family:var(--sans);color:var(--texte-doux);margin-top:.15rem;font-size:.85rem;font-weight:400;display:block}@media (prefers-reduced-motion:reduce){.toile{opacity:1;transform:none}}
.realisations{background:#0a1221;border-top:1px solid #22d3ee24;border-bottom:1px solid #22d3ee24}.realisations h2{color:var(--texte)}.realisations .intro-section{color:#a9bdd8;max-width:52ch;margin-top:1rem}.liste{gap:1rem;margin-top:clamp(2.5rem,6vw,4rem);display:grid}.projet{background:#111c33b8;border:1px solid #a9bdd829;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:center;gap:.6rem clamp(1rem,3vw,2.5rem);padding:clamp(1.3rem,2.6vw,1.8rem) clamp(1.3rem,2.6vw,1.8rem) clamp(1.3rem,2.6vw,1.8rem) clamp(1.6rem,3vw,2.2rem);text-decoration:none;transition:transform .35s cubic-bezier(.22,.9,.3,1),border-color .35s,background .35s,box-shadow .35s;display:grid;position:relative;overflow:hidden}.projet:before{content:"";background:var(--pigment);opacity:.55;width:4px;transition:opacity .35s,width .35s;position:absolute;top:0;bottom:0;left:0}.projet:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(100deg, color-mix(in srgb, var(--pigment) 20%, transparent), transparent 55%);transition:opacity .4s;position:absolute;inset:0}.projet:hover,.projet:focus-visible{border-color:color-mix(in srgb, var(--pigment) 55%, transparent);background:#162440e6;transform:translateY(-2px);box-shadow:0 14px 34px #00000073}.projet:hover:before,.projet:focus-visible:before{opacity:1;width:6px}.projet:hover:after,.projet:focus-visible:after{opacity:1}.projet>*{z-index:1;position:relative}.projet .nom{font-family:var(--serif);letter-spacing:-.03em;color:var(--texte);font-size:clamp(1.2rem,2.3vw,1.7rem);font-weight:700;line-height:1.1}.projet .resume{color:#a9bdd8;max-width:46ch;font-size:.96rem;line-height:1.55;transition:color .3s}.projet:hover .resume,.projet:focus-visible .resume{color:#e2ecf8}.projet .etat{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--pigment);border:1px solid color-mix(in srgb, var(--pigment) 45%, transparent);background:color-mix(in srgb, var(--pigment) 12%, transparent);border-radius:999px;justify-self:end;padding:.3rem .7rem;font-size:.76rem;font-weight:700;transition:background .3s,color .3s}.projet:hover .etat,.projet:focus-visible .etat{background:var(--pigment);color:#06101f}@media (max-width:860px){.projet{grid-template-columns:1fr;align-items:start;gap:.5rem}.projet .etat{justify-self:start;margin-top:.3rem}}.projet:first-child{--pigment:#22d3ee}.projet:nth-child(2){--pigment:#2dd4bf}.projet:nth-child(3){--pigment:#6366f1}.projet:nth-child(4){--pigment:#38bdf8}.projet:nth-child(5){--pigment:#818cf8}.projet:nth-child(6){--pigment:#06b6d4}.projet:nth-child(7){--pigment:#60a5fa}.projet:nth-child(8){--pigment:#5eead4}
.etapes{counter-reset:etape;margin-top:clamp(2.5rem,6vw,4rem)}.etape{counter-increment:etape;border-top:1px solid color-mix(in srgb, var(--mars) 18%, transparent);grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.5rem);padding:clamp(1.5rem,3vw,2.2rem) 0;display:grid}.etape:last-child{border-bottom:1px solid color-mix(in srgb, var(--mars) 18%, transparent)}.etape:before{content:counter(etape, decimal-leading-zero);font-family:var(--serif);color:var(--outremer);font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:900;line-height:1}.etape h3{margin-bottom:.4rem}.etape p{color:var(--texte-doux);margin:0}
.contact{background:linear-gradient(170deg,#0d1829 0%,#0a1322 100%);border-top:1px solid #22d3ee2e;border-bottom:1px solid #22d3ee2e;position:relative;overflow:hidden}.contact:before{content:"";pointer-events:none;background:radial-gradient(46rem 28rem at 15% 20%,#22d3ee24,#0000 70%);position:absolute;inset:0}.contact h2{max-width:16ch;color:var(--texte)}.contact .accroche{color:#cfdcec;max-width:48ch;margin-top:1.2rem;font-size:1.15rem}.coords{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(1.4rem,3vw,2.5rem);margin-top:clamp(2rem,5vw,3rem);display:grid}.coord{border:1px solid #22d3ee38;border-left:3px solid var(--outremer);background:#111c3399;border-radius:8px;padding:1.1rem 1.3rem;text-decoration:none;transition:background .3s,border-color .3s,transform .3s cubic-bezier(.22,.9,.3,1);display:block;position:relative}a.coord:hover{border-color:var(--outremer);background:#22d3ee1a;transform:translateY(-2px)}.coord .quoi{letter-spacing:.12em;text-transform:uppercase;color:var(--outremer);margin-bottom:.45rem;font-size:.74rem;font-weight:700;display:block}.coord .valeur{font-family:var(--serif);color:var(--texte);word-break:break-word;font-size:clamp(1.05rem,1.9vw,1.35rem);font-weight:600;display:block}a.coord .valeur:after{content:" →";color:var(--outremer);transition:margin-left .25s}a.coord:hover .valeur:after{margin-left:.25rem}
