/* == RESET == */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

/* == VARIABLES == */
:root{
  --brume:#F2F5F8;
  --brume-d:#D4DCE4;
  --blanc:#FFFFFF;
  --mer:#2C5264;
  --nuit:#1A3340;
  --or:#C9A84C;
  --or-l:#E2C97A;
  --or-pale:#F5EDD0;
  --muted:#4A7C8C;
  --transition:0.25s ease;
  --green:#2d6e45;
  --green-bg:#e8f4ec;
  --amber:#7a4f0a;
  --amber-bg:#fef3e2;
  --blue:#0c447c;
  --blue-bg:#e6f1fb;
}

html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--brume);color:var(--nuit);overflow-x:hidden;}

/* == TYPO == */
.tag{font-size:0.68rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--or);}
.serif{font-family:'Cormorant Garamond',serif;}
.divider{width:36px;height:1.5px;background:var(--or);margin:1.4rem 0;}

/* == NAV == */
nav#mainNav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.2rem;
  background:rgba(242,245,248,0.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--brume-d);
  transition:padding var(--transition),box-shadow var(--transition);
}
nav#mainNav.scrolled{padding:0.8rem 1.2rem;box-shadow:0 2px 20px rgba(26,51,64,0.07);}

.nav-logo{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0;}
.logo-line{display:inline-block;width:20px;height:0.5px;background:var(--or);opacity:0.8;}
.logo-mpm{font-family:'Jost',sans-serif;font-weight:300;font-size:1rem;letter-spacing:0.35em;color:var(--or);}

.nav-links{display:none;gap:1.8rem;list-style:none;margin:0 1.5rem;}
.nav-links a{font-size:0.78rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color var(--transition);}
.nav-links a:hover,.nav-links a.active{color:var(--or);}

.lang-switch{display:none;align-items:center;border:1px solid var(--brume-d);overflow:hidden;}
.lang-btn{font-family:'Jost',sans-serif;font-size:0.7rem;font-weight:500;letter-spacing:0.1em;padding:0.32rem 0.65rem;background:transparent;color:var(--muted);border:none;cursor:pointer;transition:all var(--transition);}
.lang-btn.active{background:var(--nuit);color:#fff;}
.lang-btn:hover:not(.active){background:var(--brume-d);color:var(--nuit);}

.nav-cta{display:none;font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;padding:0.55rem 1.2rem;background:var(--or);color:var(--nuit);border:none;cursor:pointer;text-decoration:none;transition:background var(--transition);white-space:nowrap;}
.nav-cta:hover{background:var(--mer);color:#fff;}

.nav-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.nav-burger span{display:block;width:22px;height:2px;background:var(--nuit);border-radius:2px;transition:transform 0.3s,opacity 0.3s;}
.nav-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.nav-mobile{display:none;position:fixed;top:61px;left:0;right:0;background:rgba(242,245,248,0.98);backdrop-filter:blur(10px);border-bottom:1px solid var(--brume-d);padding:1.5rem;flex-direction:column;gap:0;z-index:99;}
.nav-mobile.open{display:flex;}
.nav-mobile a{font-size:0.85rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:0.85rem 0;border-bottom:1px solid var(--brume-d);transition:color var(--transition);}
.nav-mobile a:last-child{border-bottom:none;color:var(--or);font-weight:500;}
.nav-mobile a:hover{color:var(--or);}

/* == DESKTOP NAV >= 768px == */
@media(min-width:768px){
  nav#mainNav{padding:1.2rem 3rem;}
  nav#mainNav.scrolled{padding:0.85rem 3rem;}
  .nav-links{display:flex;}
  .lang-switch{display:flex;}
  .nav-cta{display:inline-block;}
  .nav-burger{display:none;}
}

/* == HERO == */
.hero{
  min-height:92dvh;display:grid;grid-template-columns:1fr;
  align-items:flex-start;
  padding:clamp(5rem,18vw,9rem) 1.2rem clamp(3rem,8vw,5rem);
  position:relative;overflow:hidden;background:var(--nuit);
}
.hero::before{content:'';position:absolute;inset:0;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");background-size:300px 300px;pointer-events:none;}
.hero::after{content:'';position:absolute;top:0;right:0;width:45%;height:100%;z-index:0;background:linear-gradient(135deg,transparent 40%,rgba(201,168,76,0.055) 100%);clip-path:polygon(18% 0%,100% 0%,100% 100%,0% 100%);pointer-events:none;}
.hero-content{position:relative;z-index:1;max-width:660px;opacity:0;transform:translateY(22px);animation:fadeUp 1.1s 0.3s ease forwards;}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,8vw,5.2rem);font-weight:300;line-height:1.08;color:var(--brume);margin-bottom:1.8rem;}
.hero h1 em{font-style:italic;color:var(--or);}
.hero-sub{font-size:0.9rem;font-weight:300;line-height:1.88;color:rgba(242,245,248,0.62);max-width:460px;margin-bottom:2.5rem;}
.hero-btns{display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem;margin-bottom:4rem;}
.hero-stats{display:flex;gap:1.5rem;padding-top:1.8rem;border-top:1px solid rgba(201,168,76,0.22);flex-wrap:wrap;opacity:0;animation:fadeUp 1.1s 0.7s ease forwards;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:600;color:var(--or);display:block;line-height:1.1;}
.stat-label{font-size:0.68rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:rgba(242,245,248,0.45);margin-top:0.3rem;display:block;}

.scroll-hint{display:none;position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:1;flex-direction:column;align-items:center;gap:0.5rem;opacity:0;animation:fadeUp 1s 1.5s ease forwards;}
.scroll-hint span{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(242,245,248,0.35);}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--or),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:0.4;}50%{opacity:1;}}

/* == BOUTONS == */
.btn-primary{padding:0.9rem 2.1rem;background:var(--or);color:var(--nuit);font-family:'Jost',sans-serif;font-size:0.76rem;font-weight:500;letter-spacing:0.13em;text-transform:uppercase;border:none;cursor:pointer;text-decoration:none;display:inline-block;width:100%;text-align:center;transition:background var(--transition);}
.btn-primary:hover{background:var(--brume);}
.btn-secondary{padding:0.9rem 2.1rem;background:transparent;color:var(--brume);font-family:'Jost',sans-serif;font-size:0.76rem;font-weight:400;letter-spacing:0.13em;text-transform:uppercase;border:1px solid rgba(242,245,248,0.35);cursor:pointer;text-decoration:none;display:inline-block;width:100%;text-align:center;transition:all var(--transition);}
.btn-secondary:hover{background:var(--brume);color:var(--nuit);}

/* == ZONES BAND == */
.zones-band{background:var(--or);padding:0.85rem 1.2rem;display:flex;align-items:center;gap:0.85rem;flex-wrap:wrap;}
.zone-item{display:flex;align-items:center;gap:0.6rem;font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--nuit);font-weight:500;white-space:nowrap;}
.zone-dot{width:5px;height:5px;border-radius:50%;background:var(--nuit);opacity:0.5;flex-shrink:0;}

/* == SECTIONS == */
section{padding:clamp(3rem,10vw,6rem) 1.2rem;}
.section-header{max-width:600px;margin-bottom:3.5rem;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.8vw,3rem);font-weight:300;color:var(--nuit);line-height:1.2;margin-bottom:1rem;}
.section-title em{font-style:italic;}
.section-sub{font-size:0.92rem;font-weight:300;color:var(--muted);line-height:1.88;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.75s ease,transform 0.75s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}
.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}
.reveal-delay-4{transition-delay:0.4s;}

/* == SERVICES == */
#services{background:var(--brume);}
.services-grid{display:grid;grid-template-columns:1fr;gap:1.5px;background:var(--brume-d);}
.service-card{background:var(--brume);padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background var(--transition);}
.service-card::before{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--or);transition:width 0.35s ease;}
.service-card:hover{background:var(--blanc);}
.service-card:hover::before{width:100%;}
.service-num{font-family:'Cormorant Garamond',serif;font-size:0.78rem;font-weight:300;color:var(--or);letter-spacing:0.12em;margin-bottom:1.1rem;}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.28rem;font-weight:600;color:var(--nuit);margin-bottom:0.75rem;}
.service-card p{font-size:0.85rem;font-weight:300;color:var(--muted);line-height:1.78;}

/* == MODELE == */
.modele-band{background:var(--nuit);padding:clamp(3rem,10vw,6rem) 1.2rem;}
.modele-band .section-title{color:var(--brume);}
.modele-grid{display:grid;grid-template-columns:1fr;gap:1.5px;background:rgba(255,255,255,0.06);margin-top:3.5rem;}
.modele-card{background:rgba(255,255,255,0.03);padding:2.2rem 1.8rem;transition:background var(--transition);}
.modele-card:hover{background:rgba(255,255,255,0.07);}
.modele-icon{font-size:1.3rem;margin-bottom:0.9rem;display:block;}
.modele-card h3{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:var(--blanc);margin-bottom:0.6rem;}
.modele-card p{font-size:0.83rem;font-weight:300;color:rgba(255,255,255,0.45);line-height:1.72;}

/* == ABOUT == */
#about{background:var(--mer);}
#about .section-title{color:var(--brume);}
#about .section-sub{color:rgba(242,245,248,0.68);}
.about-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start;margin-top:2rem;}
.about-values{display:flex;flex-direction:column;gap:1.4rem;margin-top:1rem;}
.value-item{display:flex;align-items:flex-start;gap:1rem;}
.value-dot{width:5px;height:5px;border-radius:50%;background:var(--or);flex-shrink:0;margin-top:0.55rem;}
.value-text h4{font-size:0.84rem;font-weight:500;color:var(--brume);margin-bottom:0.2rem;}
.value-text p{font-size:0.79rem;font-weight:300;color:rgba(242,245,248,0.55);line-height:1.65;}
.about-quote-box{border:1px solid rgba(201,168,76,0.22);background:rgba(26,51,64,0.35);padding:2.5rem;text-align:center;}
.about-quote{font-family:'Cormorant Garamond',serif;font-size:1.42rem;font-style:italic;font-weight:300;color:var(--brume);line-height:1.55;margin-bottom:1.2rem;}
.about-author{font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--or);}

/* == DEMO TEASER == */
.demo-teaser{background:var(--brume);padding:clamp(3rem,10vw,6rem) 1.2rem;overflow:hidden;}
.demo-teaser-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;}
.demo-features{display:flex;flex-direction:column;gap:0.9rem;margin-bottom:2.2rem;}
.demo-feature{display:flex;align-items:center;gap:0.9rem;font-size:0.85rem;font-weight:300;color:var(--muted);}
.demo-feature::before{content:'';width:18px;height:1px;background:var(--or);flex-shrink:0;}
.demo-screen{background:var(--nuit);border:1px solid var(--brume-d);padding:1.5rem;box-shadow:0 20px 60px rgba(26,51,64,0.18);}
.demo-screen-bar{display:flex;align-items:center;gap:0.5rem;margin-bottom:1rem;padding-bottom:0.8rem;border-bottom:1px solid rgba(255,255,255,0.07);}
.demo-screen-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.15);}
.demo-screen-title{font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--or);margin-left:0.3rem;}
.demo-kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;margin-bottom:1rem;}
.demo-kpi{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);padding:0.8rem;text-align:center;}
.demo-kpi-val{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;color:var(--or);display:block;line-height:1;margin-bottom:0.3rem;}
.demo-kpi-lbl{font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.35);}
.demo-chart-placeholder{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);height:80px;display:flex;align-items:flex-end;padding:0 0.5rem 0.5rem;gap:4px;}
.demo-bar-item{flex:1;background:var(--or);opacity:0.35;border-radius:1px 1px 0 0;}
.demo-bar-item:nth-child(3){opacity:0.75;}
.demo-bar-item:nth-child(5){opacity:0.9;}
.demo-bar-item:nth-child(7){opacity:0.65;}

/* == CONTACT == */
#contact{background:var(--nuit);padding:clamp(3rem,10vw,7rem) 1.2rem;}
#contact .section-title{color:var(--brume);}
#contact .section-sub{color:rgba(242,245,248,0.55);}
.contact-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-top:3.5rem;align-items:start;}
.contact-item{padding:1.3rem 0;border-bottom:1px solid rgba(255,255,255,0.07);}
.contact-item:first-child{padding-top:0;}
.contact-item:last-child{border-bottom:none;}
.contact-label{display:block;font-size:0.67rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--or);margin-bottom:0.35rem;}
.contact-value{font-size:0.88rem;font-weight:300;color:var(--brume);line-height:1.6;}
.contact-value a{color:var(--brume);text-decoration:none;transition:color var(--transition);}
.contact-value a:hover{color:var(--or);}
.contact-form{display:flex;flex-direction:column;gap:1rem;}
.form-row{display:grid;grid-template-columns:1fr;gap:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.4rem;}
.form-group label{font-size:0.67rem;letter-spacing:0.13em;text-transform:uppercase;color:rgba(242,245,248,0.5);}
.form-group input,.form-group textarea,.form-group select{padding:0.85rem 1rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);font-family:'Jost',sans-serif;font-size:0.87rem;color:#fff;width:100%;outline:none;transition:border-color var(--transition);appearance:none;-webkit-appearance:none;}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,0.28);}
.form-group select option{background:var(--nuit);color:#fff;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--or);}
.form-group textarea{resize:vertical;min-height:118px;}
.form-honey{display:none !important;}
.submit-btn{padding:1rem 2rem;background:var(--or);color:var(--nuit);font-family:'Jost',sans-serif;font-size:0.8rem;font-weight:500;letter-spacing:0.13em;text-transform:uppercase;border:none;cursor:pointer;width:100%;margin-top:0.5rem;transition:background var(--transition);}
.submit-btn:hover:not(:disabled){background:var(--mer);color:#fff;}
.submit-btn:disabled{opacity:0.65;cursor:not-allowed;}
#formMsg{display:none;padding:0.85rem 1rem;font-size:0.82rem;margin-bottom:0.3rem;}
#formMsg.success{display:block;background:rgba(45,110,69,0.15);color:#a8d4b8;border:1px solid rgba(45,110,69,0.3);}
#formMsg.error{display:block;background:rgba(201,168,76,0.12);color:var(--or-l);border:1px solid rgba(201,168,76,0.3);}

/* == FOOTER == */
footer{background:var(--brume);border-top:1px solid var(--brume-d);padding:2rem 1.2rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;}
.footer-logo{display:flex;align-items:center;gap:8px;text-decoration:none;}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap;}
.footer-links a{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color var(--transition);}
.footer-links a:hover{color:var(--or);}
.footer-copy{font-size:0.7rem;color:var(--muted);}

/* == RESPONSIVE >= 480px == */
@media(min-width:480px){
  .hero-btns{flex-direction:row;align-items:center;}
  .btn-primary,.btn-secondary{width:auto;}
  .zones-band{padding:0.9rem 1.5rem;gap:1.2rem;}
  .demo-kpi-row{grid-template-columns:repeat(3,1fr);}
  .demo-kpi-val{font-size:1.5rem;}
}

/* == RESPONSIVE >= 640px == */
@media(min-width:640px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .modele-grid{grid-template-columns:repeat(2,1fr);}
}

/* == RESPONSIVE >= 768px == */
@media(min-width:768px){
  .hero{min-height:100vh;align-items:center;padding:9rem 3rem 5rem;}
  .hero-btns{flex-direction:row;}
  .btn-primary,.btn-secondary{width:auto;}
  .scroll-hint{display:flex;}
  .zones-band{padding:1rem 3rem;gap:2.5rem;}
  .zone-item{font-size:0.7rem;}
  section{padding:clamp(3rem,10vw,6rem) 3rem;}
  .modele-band{padding:clamp(3rem,10vw,6rem) 3rem;}
  #contact{padding:clamp(3rem,10vw,7rem) 3rem;}
  .demo-teaser{padding:clamp(3rem,10vw,6rem) 3rem;}
  .form-row{grid-template-columns:1fr 1fr;}
  footer{flex-direction:row;align-items:center;justify-content:space-between;padding:2.5rem 3rem;}
}

/* == RESPONSIVE >= 900px == */
@media(min-width:900px){
  .contact-layout{grid-template-columns:1fr 1.2fr;gap:5rem;}
}

/* == RESPONSIVE >= 1024px == */
@media(min-width:1024px){
  .services-grid{grid-template-columns:repeat(4,1fr);}
  .modele-grid{grid-template-columns:repeat(4,1fr);}
  .about-layout{grid-template-columns:1fr 1fr;gap:5rem;margin-top:3.5rem;}
  .about-quote-box{position:sticky;top:100px;}
  .demo-teaser-inner{grid-template-columns:1fr 1fr;gap:4rem;}
  .demo-screen{transform:perspective(1000px) rotateY(-4deg) rotateX(2deg);transition:transform 0.4s ease;}
  .demo-screen:hover{transform:perspective(1000px) rotateY(-1deg) rotateX(1deg);}
}
