:root{
--bg:#090a0d;
--text:#f6f1e8;
--muted:#a9a9ad;
--gold:#c9a15d;
--panel:#111318;
--line:rgba(255,255,255,.13)
}

*{
box-sizing:border-box
}

html{
scroll-behavior:smooth
}

body{
margin:0;
background:var(--bg);
color:var(--text);
font-family:Inter,Arial,sans-serif;
line-height:1.6
}

a{
text-decoration:none;
color:inherit
}

.yoan-container{
width:min(1160px,calc(100% - 40px));
margin:auto
}

.yoan-header{
position:sticky;
top:0;
z-index:50;
background:rgba(8,9,12,.82);
backdrop-filter:blur(14px);
border-bottom:1px solid var(--line);
transition:.25s
}

.yoan-header.scrolled{
background:rgba(8,9,12,.96);
box-shadow:0 20px 55px rgba(0,0,0,.3)
}

.yoan-header-inner{
min-height:98px;
display:flex;
align-items:center;
gap:22px
}

.yoan-logo{
margin-right:auto;
display:flex;
align-items:center
}

.yoan-logo img,
.custom-logo{
height:96px!important;
max-height:96px!important;
width:auto!important;
max-width:280px!important;
object-fit:contain!important
}

.yoan-menu{
list-style:none;
display:flex;
gap:22px;
margin:0;
padding:0;
align-items:center
}

.yoan-menu a{
font-size:14px;
color:#ddd;
transition:.3s ease
}

.yoan-menu a:hover{
color:var(--gold)
}

/* =========================
BOUTON DEVIS PREMIUM
========================= */

.yoan-quote,
.yoan-btn{
display:inline-flex;
align-items:center;
justify-content:center;

padding:14px 26px;

background:var(--gold);
color:#111 !important;

border-radius:999px;

font-weight:800;
font-size:14px;

text-decoration:none;

position:relative;
overflow:hidden;

transition:
transform .35s ease,
box-shadow .35s ease,
background .35s ease;

box-shadow:
0 10px 25px rgba(0,0,0,.25);
}

.yoan-quote:hover,
.yoan-btn:hover{
transform:translateY(-3px) scale(1.04);

background:#d8b06a;

box-shadow:
0 18px 40px rgba(201,161,93,.45);
}

/* effet reflet premium */

.yoan-quote::before,
.yoan-btn::before{
content:'';

position:absolute;

top:0;
left:-120%;

width:100%;
height:100%;

background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,.35),
transparent
);

transition:all .7s ease;
}

.yoan-quote:hover::before,
.yoan-btn:hover::before{
left:120%;
}

/* ========================= */

.yoan-btn-ghost{
background:rgba(255,255,255,.05);
color:var(--text);
border:1px solid var(--line)
}

.yoan-mobile-toggle{
display:none;
background:none;
border:0;
color:#fff;
font-size:28px
}

.yoan-hero{
min-height:88vh;
position:relative;
display:flex;
align-items:center;
overflow:hidden
}

.yoan-hero-bg,
.yoan-video-bg{
position:absolute;
inset:0
}

.yoan-hero-bg{
background:url('../img/hero.svg') center/cover no-repeat
}

.yoan-video-bg iframe{
position:absolute;
top:50%;
left:50%;
width:120vw;
height:67.5vw;
min-width:213.33vh;
min-height:120vh;
transform:translate(-50%,-50%);
pointer-events:none
}

.yoan-hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(
90deg,
rgba(0,0,0,.78),
rgba(0,0,0,.42),
rgba(0,0,0,.68)
)
}

.yoan-hero-content{
position:relative;
z-index:2;
max-width:760px
}

.yoan-eyebrow{
text-transform:uppercase;
letter-spacing:.14em;
color:var(--gold);
font-size:12px;
font-weight:800
}

.yoan-hero h1,
.yoan-section h2,
.yoan-page-hero h1{
font-family:Georgia,serif;
font-size:clamp(38px,6vw,86px);
line-height:.98;
margin:14px 0
}

.yoan-hero p{
font-size:19px;
color:#ddd;
max-width:650px
}

.yoan-actions{
display:flex;
gap:14px;
flex-wrap:wrap;
margin-top:28px
}

.yoan-section{
padding:94px 0
}

.yoan-grid-3{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px
}

.yoan-card{
background:linear-gradient(
180deg,
rgba(255,255,255,.06),
rgba(255,255,255,.025)
);

border:1px solid var(--line);

border-radius:28px;

padding:30px
}

.yoan-two{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center
}

.yoan-split{
display:grid;
grid-template-columns:1.05fr .95fr;
gap:0;
background:var(--panel);
border:1px solid var(--line);
border-radius:34px;
overflow:hidden
}

.yoan-split-img{
min-height:420px;
background:url('../img/card.svg') center/cover no-repeat
}

.yoan-split>div:last-child{
padding:50px
}

.yoan-scroll-row{
display:flex;
gap:18px;
overflow-x:auto;
padding:12px 0 24px;
scroll-snap-type:x proximity
}

.yoan-insta-card,
.yoan-video-card,
.yoan-project{
flex:0 0 260px;
min-height:250px;
border-radius:26px;
background:linear-gradient(
135deg,
rgba(201,161,93,.24),
rgba(255,255,255,.05)
);

border:1px solid var(--line);

display:flex;
align-items:flex-end;
padding:22px;
font-weight:800
}

.yoan-video-card{
flex-basis:330px;
min-height:210px
}

.yoan-project{
min-height:280px;
flex:auto
}

.yoan-social-block{
border:1px solid var(--line);
border-radius:32px;
padding:24px;
background:rgba(255,255,255,.035)
}

.yoan-muted{
color:var(--muted);
font-size:13px
}

.yoan-page-hero{
padding:125px 0 70px;
background:linear-gradient(
180deg,
rgba(201,161,93,.12),
transparent
)
}

.yoan-narrow{
max-width:850px
}

.yoan-contact-grid{
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:24px
}

.yoan-map iframe{
width:100%;
height:420px;
border:0;
border-radius:24px
}

.yoan-map-placeholder{
height:420px;
display:grid;
place-items:center;
border:1px dashed var(--line);
border-radius:24px;
color:var(--muted)
}

.yoan-social-pills{
display:flex;
gap:14px;
flex-wrap:wrap;
}

.yoan-social-pills a{

display:inline-flex;
align-items:center;
justify-content:center;

width:52px;
height:52px;

border-radius:50%;

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.08);

font-size:22px;

transition:all .35s ease;

backdrop-filter:blur(10px);

box-shadow:
0 10px 30px rgba(0,0,0,.18);
}

/* hover général */

.yoan-social-pills a:hover{

transform:
translateY(-4px)
scale(1.08);

box-shadow:
0 18px 40px rgba(0,0,0,.28);
}

/* Instagram */

.yoan-social-pills a.instagram{
color:#E1306C;
}

.yoan-social-pills a.instagram:hover{
background:rgba(225,48,108,.12);
border-color:rgba(225,48,108,.35);
}

/* YouTube */

.yoan-social-pills a.youtube{
color:#FF0000;
}

.yoan-social-pills a.youtube:hover{
background:rgba(255,0,0,.12);
border-color:rgba(255,0,0,.35);
}

/* Facebook */

.yoan-social-pills a.facebook{
color:#1877F2;
}

.yoan-social-pills a.facebook:hover{
background:rgba(24,119,242,.12);
border-color:rgba(24,119,242,.35);
}

/* WhatsApp */

.yoan-social-pills a.whatsapp{
color:#25D366;
}

.yoan-social-pills a.whatsapp:hover{
background:rgba(37,211,102,.12);
border-color:rgba(37,211,102,.35);
}

.yoan-footer{
border-top:1px solid var(--line);
padding:34px 0;
background:#07080b
}

.yoan-footer-inner{
display:grid;
grid-template-columns:1fr auto auto;
gap:22px;
align-items:center
}

.yoan-counter{

display:inline-flex;
align-items:center;
gap:10px;

padding:10px 18px;

border-radius:999px;

background:
linear-gradient(
145deg,
rgba(201,161,93,.18),
rgba(201,161,93,.06)
);

border:1px solid rgba(201,161,93,.35);

color:#f6f1e8;

font-size:13px;
font-weight:700;

backdrop-filter:blur(10px);

box-shadow:
0 10px 30px rgba(0,0,0,.22);

transition:all .35s ease;
}

.yoan-counter:hover{

transform:translateY(-2px);

box-shadow:
0 15px 40px rgba(201,161,93,.18);

border-color:
rgba(201,161,93,.55);
}

/* icône oeil */

.yoan-counter::before{

content:'👁';

font-size:15px;

display:flex;
align-items:center;
justify-content:center;

width:28px;
height:28px;

border-radius:50%;

background:
rgba(201,161,93,.15);

color:#C9A15D;
}

.reveal-on-scroll{
opacity:0;
transform:translateY(28px);
transition:.75s
}

.reveal-on-scroll.is-visible{
opacity:1;
transform:translateY(0)
}

.yoan-elementor-page{
background:var(--bg);
color:var(--text);
min-height:70vh
}

.elementor-widget-container{
color:inherit
}

@media(max-width:880px){

.yoan-header-inner{
min-height:84px
}

.yoan-logo img,
.custom-logo{
height:82px!important;
max-height:82px!important
}

.yoan-nav{
display:none;
position:absolute;
top:84px;
left:20px;
right:20px;
background:#101116;
border:1px solid var(--line);
border-radius:22px;
padding:20px
}

.yoan-nav.is-open{
display:block
}

.yoan-menu{
display:grid;
gap:14px
}

.yoan-mobile-toggle{
display:block
}

.yoan-quote{
display:none
}

.yoan-grid-3,
.yoan-two,
.yoan-split,
.yoan-contact-grid,
.yoan-footer-inner{
grid-template-columns:1fr
}

.yoan-section{
padding:68px 0
}

.yoan-split>div:last-child{
padding:32px
}

.yoan-video-bg iframe{
width:220vw;
height:123.75vw;
min-height:100vh;
min-width:177.77vh
}
