/*
 Theme Name:   Quintessence AI
 Theme URI:    https://www.quintessenceai.com
 Description:  Thème custom Quintessence AI — 2026
 Author:       Quintessence AI
 Version:      2.1.0
 Text Domain:  quintessence-ai
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,300;1,9..144,400&family=Instrument+Sans:wght@400;500;600&display=swap');

:root {
  --bg:         #061310;
  --surface-1:  #0d1e1a;
  --surface-2:  #122621;
  --surface-3:  #182f29;
  --surface-4:  #213a32;
  --surface-5:  #2c4940;
  --ink-1:      #f5f6f6;
  --ink-2:      #e2e4e4;
  --ink-3:      #ced2d1;
  --ink-inv:    #14151a;
  --ag-50:  #f4f5f7;
  --ag-100: #e8eced;
  --ag-200: #d0d5d8;
  --ag-300: #b0b6bc;
  --ag-400: #80868c;
  --ag-600: #4e525a;
  --ag-700: #3a3d42;
  --ag-900: #14151a;
  --glow:   rgba(74,107,94,1);
  --font-serif: 'Fraunces', Georgia, serif;
  --font-sans:  'Instrument Sans', system-ui, sans-serif;
  --t-d1: clamp(42px, 6vw, 80px);
  --t-d2: clamp(32px, 4vw, 56px);
  --t-h2: clamp(26px, 3vw, 40px);
  --t-h3: clamp(22px, 2.5vw, 32px);
  --t-h4: clamp(18px, 2vw, 24px);
  --t-lg: clamp(17px, 1.5vw, 20px);
  --t-md: 16px;
  --t-sm: 14px;
  --t-xs: 12px;
  --t-2xs: 10px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px;
  --s6:24px; --s8:32px; --s10:48px; --s12:64px; --s16:80px; --s20:96px; --s24:128px;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:24px; --r-pill:999px;
  --sh1:0 2px 8px rgba(0,0,0,.18);
  --sh2:0 4px 16px rgba(0,0,0,.22);
  --sh3:0 8px 32px rgba(0,0,0,.28);
  --sh4:0 16px 64px rgba(0,0,0,.36);
  --max-w:1200px; --mid-w:960px; --gutter:clamp(16px,4vw,48px);
  --bullet: url('https://www.quintessenceai.com/wp-content/uploads/2026/05/star-bullet.svg');
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
*{cursor:url('https://www.quintessenceai.com/wp-content/uploads/2026/05/star-bullet.svg') 8 8, auto;}
a,button,[role="button"]{cursor:url('https://www.quintessenceai.com/wp-content/uploads/2026/05/star-bullet.svg') 8 8, pointer;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--ink-1);font-family:var(--font-sans);font-size:var(--t-md);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.section,.ritual-container,.hero,.qai-header,.qai-footer,.contact-section,.ticker-section,.career-content,.legal-content{position:relative;z-index:2;}
img,video{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}

.em{font-family:var(--font-serif);font-style:italic;font-weight:400;background:linear-gradient(90deg,var(--ag-300),var(--ag-50) 50%,var(--ag-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(255,255,255,.15));}

/* ============================================================
   BOUTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  font-family:var(--font-sans);font-weight:500;font-size:var(--t-md);
  line-height:1;border-radius:var(--r-sm);border:1px solid;
  padding:12px var(--s5);white-space:nowrap;cursor:pointer;
  text-decoration:none;
  transition:all .2s ease;
}
.btn:active{transform:scale(.98);}

/* Primary — argenté silver avec hover éclaircissement + élévation */
.btn-primary{
  background:linear-gradient(180deg,#e8eaed 0%,#d0d4d8 100%);
  border-color:rgba(160,166,172,.5);
  color:var(--ink-inv);
  box-shadow:0 2px 8px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.6);
}
.btn-primary:hover{
  background:linear-gradient(180deg,#f2f4f6 0%,#dde0e4 100%);
  border-color:rgba(176,182,188,.9);
  box-shadow:0 6px 18px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.7);
  transform:translateY(-2px);
  color:var(--ink-inv);
}

/* Dark */
.btn-dark{
  background:linear-gradient(180deg,var(--ag-700),var(--ag-900));
  border-color:var(--ag-400);
  color:var(--ink-1);
}
.btn-dark:hover{
  background:linear-gradient(180deg,var(--ag-600),var(--ag-700));
  transform:translateY(-1px);
  color:var(--ink-1);
}

/* Ghost */
.btn-ghost{background:transparent;border-color:rgba(176,182,188,.3);color:var(--ink-2);}
.btn-ghost:hover{border-color:rgba(176,182,188,.6);color:var(--ink-1);}

/* Tailles */
.btn-sm{padding:8px var(--s4);font-size:var(--t-sm);}
.btn-lg{padding:16px var(--s8);font-size:var(--t-lg);}

/* Ritual — métallique premium */
.btn-ritual{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 32px;border-radius:12px;
  border:1px solid rgba(120,120,130,.25);
  background:linear-gradient(to bottom,#f1f1f3 0%,#d4d6dc 100%);
  color:#24252a;
  font-family:var(--font-sans);font-size:var(--t-md);font-weight:600;
  letter-spacing:.02em;cursor:pointer;text-decoration:none;
  box-shadow:0 2px 6px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.85);
  text-shadow:0 1px 0 rgba(255,255,255,.35);
  transition:background .2s ease,box-shadow .2s ease,transform .15s ease;
  white-space:nowrap;
}
.btn-ritual:hover{
  background:linear-gradient(to bottom,#fafafd 0%,#dfe2e8 100%);
  box-shadow:0 4px 12px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.95);
  transform:translateY(-1px);
  color:#24252a;
}

/* ============================================================
   LAYOUT
   ============================================================ */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);}
.container--mid{max-width:var(--mid-w);}
.section{width:100%;padding:var(--s24) var(--gutter);position:relative;}
.card{background:linear-gradient(160deg,var(--surface-5),var(--surface-3));border:1px solid var(--ag-400);border-radius:var(--r-md);box-shadow:var(--sh2);padding:var(--s6);}
.glow-orb{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--glow) 0%,transparent 70%);opacity:.45;pointer-events:none;z-index:0;}
.divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--ag-600) 20%,var(--ag-600) 80%,transparent);}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}

/* ============================================================
   HEADER
   ============================================================ */
.qai-header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:var(--s4) var(--gutter);display:flex;justify-content:center;pointer-events:none;}
.qai-header__inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--mid-w);padding:10px var(--s5) 10px var(--s6);background:linear-gradient(135deg,var(--surface-2),var(--surface-4) 50%,var(--surface-2));border:1px solid rgba(128,134,140,.35);border-radius:var(--r-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--sh2);pointer-events:all;gap:var(--s6);transition:box-shadow .3s;}
.qai-header.scrolled .qai-header__inner{box-shadow:0 8px 40px rgba(0,0,0,.5);}
.qai-header__brand{font-family:var(--font-serif);font-style:italic;font-size:var(--t-h4);font-weight:400;color:var(--ink-1);flex-shrink:0;letter-spacing:.01em;}
.qai-header__nav{display:flex;align-items:center;gap:var(--s10);flex:1;justify-content:center;}
.qai-header__nav a{font-weight:400;font-size:var(--t-md);color:var(--ink-2);transition:opacity .2s;white-space:nowrap;}
.qai-header__nav a:hover{opacity:.6;}
.qai-header__cta{flex-shrink:0;}
.qai-header__burger{display:none;flex-direction:column;gap:5px;padding:var(--s2);flex-shrink:0;}
.qai-header__burger span{display:block;width:22px;height:2px;background:var(--ink-1);border-radius:2px;transition:transform .25s,opacity .25s;}
.qai-header__burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.qai-header__burger.open span:nth-child(2){opacity:0;}
.qai-header__burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.qai-header__mobile{display:none;flex-direction:column;gap:var(--s4);width:100%;max-width:var(--mid-w);background:var(--surface-2);border:1px solid rgba(128,134,140,.3);border-radius:var(--r-md);padding:var(--s6);margin-top:var(--s2);pointer-events:all;}
.qai-header__mobile.open{display:flex;}
.qai-header__mobile a{font-weight:400;font-size:var(--t-md);color:var(--ink-1);}

@media(max-width:860px){.qai-header__nav,.qai-header__cta{display:none;}.qai-header__burger{display:flex;}}

/* ============================================================
   FOOTER
   ============================================================ */
.qai-footer{background:linear-gradient(180deg,var(--ag-700),var(--ag-900));padding:var(--s10) var(--gutter) var(--s6);}
.qai-footer__top{display:flex;justify-content:space-between;align-items:flex-start;gap:0;max-width:var(--max-w);margin:0 auto;padding-bottom:var(--s8);}
.qai-footer__brand{display:flex;flex-direction:column;gap:var(--s3);flex:0 0 60%;}
.qai-footer__wordmark{font-family:var(--font-serif);font-style:italic;font-size:var(--t-d2);font-weight:400;color:var(--ink-1);line-height:1;}
.qai-footer__tagline{font-size:var(--t-sm);color:var(--ink-3);line-height:1.6;max-width:600px;}
.qai-footer__links{display:flex;flex:0 0 40%;gap:0;justify-content:flex-start;align-items:flex-start;}
.qai-footer__col{display:flex;flex-direction:column;gap:var(--s2);flex:0 0 50%;align-items:flex-start !important;text-align:left !important;}
.qai-footer__col-title{font-size:var(--t-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-align:left;}
.qai-footer__col a{font-size:var(--t-sm);color:var(--ink-3);transition:color .2s;}
.qai-footer__col a:hover{color:var(--ink-1);}
.qai-footer__bottom{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-w);margin:0 auto;padding-top:var(--s6);border-top:1px solid rgba(128,134,140,.2);}
.qai-footer__bottom p,.qai-footer__bottom a{font-size:var(--t-xs);color:var(--ink-3);}
.qai-footer__legal{display:flex;gap:var(--s6);}

@media(max-width:768px){
  .qai-footer__top{flex-direction:column;}
  .qai-footer__links{justify-content:flex-start;flex:unset;}
  .qai-footer__bottom{flex-direction:column;gap:var(--s3);text-align:center;}
  .qai-footer__wordmark{font-size:var(--t-h2);}
}