/* ============================================================
   GEORGES DAYA — shared design system (all pages)
   ============================================================ */

/* ---------- LEMON MILK — brand display face (self-hosted, uppercase-only) ---------- */
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-LightItalic.otf') format('opentype');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-RegularItalic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-MediumItalic.otf') format('opentype');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'LEMON MILK';src:url('../fonts/LEMONMILK-BoldItalic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}

:root{
  --ink:#000000; --charcoal:#141414; --charcoal-2:#1c1c1c;
  --concrete:#d6d6d6; --concrete-dim:#8c8c8c; --stone:#5c5c5c;
  --warm-white:#f4f4f4; --warm-white-dim:#bcbcbc;
  --accent:#e8e8e8; --accent-2:#f5f5f5; --accent-glow:rgba(255,255,255,.40); --accent-soft:rgba(255,255,255,.09);
  --ember:#8f8f8f; --gold:#cfcfcf;
  --heading:'LEMON MILK','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --nav-h:74px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}
body{background:var(--ink);color:var(--warm-white);font-family:var(--body);font-weight:300;line-height:1.6;
  letter-spacing:.01em;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:#141414}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.serif{font-family:var(--heading)}
.label{font-family:var(--heading);font-size:9px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--accent-2)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--accent)}
.accent{color:var(--accent-2)}
.italic{font-family:var(--heading);font-style:italic}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--heading);font-size:11px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;padding:16px 30px;border-radius:44px;transition:.4s var(--ease);border:1px solid transparent;cursor:pointer}
.btn--solid{background:var(--accent);color:#141414}
.btn--solid:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 14px 40px -12px var(--accent-glow)}
.btn--ghost{border-color:rgba(244,244,244,.28);color:var(--warm-white)}
.btn--ghost:hover{border-color:var(--warm-white);background:rgba(244,244,244,.05)}

/* ---------- custom cursor ---------- */
#cursor-dot,#cursor-ring{display:none}   /* custom cursor removed — use the normal mouse cursor */
#cursor-dot{width:6px;height:6px;background:#fff;mix-blend-mode:difference;z-index:9998}
#cursor-ring{width:34px;height:34px;border:1px solid rgba(255,255,255,.55);z-index:9997;
  transition:width .3s var(--ease),height .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}
#cursor-ring.hover{width:58px;height:58px;border-color:var(--accent);background:var(--accent-soft)}
@media (hover:none),(pointer:coarse){#cursor-dot,#cursor-ring{display:none}}

/* ---------- ambient overlays ---------- */
.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.vignette{position:fixed;inset:0;z-index:99;pointer-events:none;
  background:radial-gradient(130% 100% at 50% 45%,transparent 42%,rgba(0,0,0,.35) 78%,rgba(0,0,0,.62) 100%)}

/* ---------- navigation ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  height:var(--nav-h);padding:0 clamp(18px,3.4vw,46px);transition:height .45s var(--ease),background .5s var(--ease),backdrop-filter .5s var(--ease),border-color .5s var(--ease);
  border-bottom:1px solid transparent}
.nav.scrolled{height:56px;background:rgba(0,0,0,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:rgba(244,244,244,.08)}
.nav__mark{display:flex;align-items:center;gap:12px;z-index:2}
.nav__mark img,.nav__mark svg{width:34px;height:34px;border-radius:50%;fill:#fff;transition:width .45s var(--ease),height .45s var(--ease)}
.nav__mark b{font-family:var(--heading);font-weight:500;font-size:15px;letter-spacing:.16em;color:#fff;transition:font-size .45s var(--ease)}
.nav.scrolled .nav__mark{gap:10px}
.nav.scrolled .nav__mark img,.nav.scrolled .nav__mark svg{width:26px;height:26px}
.nav.scrolled .nav__mark b{font-size:12.5px}
.nav__links{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px)}
.nav__link{position:relative;font-family:var(--heading);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-white-dim);
  padding:6px 0;transition:color .3s,font-size .45s var(--ease)}
.nav.scrolled .nav__link{font-size:10px}
.nav__link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .35s var(--ease)}
.nav__link:hover,.nav__link.is-active{color:var(--warm-white)}
.nav__link.is-active::after,.nav__link:hover::after{width:100%}
.nav__book{font-family:var(--heading);font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--warm-white);
  border:1px solid rgba(244,244,244,.35);padding:11px 20px;border-radius:40px;transition:padding .45s var(--ease),font-size .45s var(--ease),background .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease)}
.nav.scrolled .nav__book{padding:9px 17px;font-size:9px}
.nav__book:hover{background:var(--accent);border-color:var(--accent);color:#141414}
.nav__burger{display:none;width:30px;height:20px;position:relative;z-index:2;cursor:pointer;background:none;border:0}
.nav__burger span{position:absolute;left:0;width:100%;height:1.5px;background:var(--warm-white);transition:.4s var(--ease)}
.nav__burger span:nth-child(1){top:3px}.nav__burger span:nth-child(2){top:9px}.nav__burger span:nth-child(3){top:15px}
body.menu-open .nav__burger span:nth-child(1){top:9px;transform:rotate(45deg)}
body.menu-open .nav__burger span:nth-child(2){opacity:0}
body.menu-open .nav__burger span:nth-child(3){top:9px;transform:rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:190;background:rgba(0,0,0,.97);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:0 34px;
  opacity:0;visibility:hidden;transform:translateY(-12px);transition:.5s var(--ease)}
body.menu-open .mobile-menu{opacity:1;visibility:visible;transform:none}
.mobile-menu a{font-family:var(--heading);font-weight:300;font-size:clamp(34px,9vw,58px);color:var(--warm-white);
  line-height:1.3;transition:.3s;padding-left:0}
.mobile-menu a:hover{color:var(--accent-2);padding-left:14px}
.mobile-menu .mm-meta{margin-top:34px;font-size:12px;letter-spacing:.06em;color:var(--concrete-dim);line-height:2}
.mobile-menu .mm-meta a{font-family:var(--body);font-size:12px;display:inline}
@media(max-width:820px){
  .nav__links{display:none}
  .nav__burger{display:block}
}

/* ---------- footer ---------- */
.foot{position:relative;z-index:2;background:var(--charcoal);border-top:1px solid rgba(244,244,244,.06);
  padding:clamp(56px,8vh,96px) clamp(18px,5vw,90px) 40px}
.foot__in{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot__brand .fmark{font-family:var(--heading);font-weight:400;font-size:clamp(28px,4vw,48px);letter-spacing:.1em;color:var(--warm-white);line-height:1}
.foot__brand .ftag{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-2);margin-top:14px}
.foot__brand .fline{color:var(--concrete-dim);font-size:13px;margin-top:20px;max-width:34ch;font-style:italic;font-family:var(--heading)}
.foot__col h5{font-family:var(--heading);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);margin-bottom:16px}
.foot__col a,.foot__col p{display:block;font-size:13px;color:var(--warm-white-dim);line-height:2;transition:.3s}
.foot__col a:hover{color:var(--accent-2)}
.foot__legal{max-width:1300px;margin:56px auto 0;padding-top:22px;border-top:1px solid rgba(244,244,244,.06);
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--stone)}
@media(max-width:760px){.foot__in{grid-template-columns:1fr;gap:32px}}

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(38px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* hidden tab (embedded preview) freezes rAF + transitions — make state changes instant */
html.no-anim *,html.no-anim *::before,html.no-anim *::after{transition-duration:.001s!important}

/* page-load fade so inner pages don't flash */
.page-fade{opacity:0;transition:opacity .8s var(--ease)}
.page-fade.ready{opacity:1}

/* ---------- client logo carousel (full-colour on white chips, auto-scroll) ---------- */
.clients{position:relative;z-index:2;padding:clamp(34px,6.5vh,74px) 0;border-top:1px solid rgba(244,244,244,.06)}
.clients-in{max-width:1500px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:24px}
.clients-label{font-family:var(--heading);font-size:9px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--stone)}
.clients-marquee{position:relative;width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.clients-track{display:flex;align-items:center;gap:clamp(14px,1.5vw,22px);width:max-content;animation:client-scroll 64s linear infinite}
.clients:hover .clients-track{animation-play-state:paused}
.clogo{flex:none;width:clamp(122px,13vw,170px);height:clamp(72px,8vw,98px);background:#fff;border-radius:13px;
  display:flex;align-items:center;justify-content:center;padding:15px 22px;box-shadow:0 14px 34px -20px rgba(0,0,0,.8)}
.clogo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.clogo a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
@keyframes client-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.clients-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}

/* ---------- WordPress fallbacks and utilities ---------- */
.gd-empty{max-width:760px;margin:32px auto;text-align:center;color:var(--concrete-dim)}
.gd-empty-section{min-height:42vh;display:grid;place-items:center;padding:120px 24px}
.gd-image-placeholder{width:100%;aspect-ratio:4/5;border-radius:8px;background:linear-gradient(145deg,var(--charcoal-2),#080808);position:relative}
.gd-image-placeholder::after{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.gd-content{min-height:70vh;padding:calc(var(--nav-h) + 80px) clamp(18px,5vw,90px) 100px}
.gd-content__in{max-width:900px;margin:0 auto}.gd-content h1{font-family:var(--heading);font-size:clamp(40px,7vw,88px);line-height:1.05;margin-bottom:30px}.gd-entry{color:var(--warm-white-dim)}
.gd-entry>*+*{margin-top:1.3em}.gd-entry a{text-decoration:underline}.gd-entry ul,.gd-entry ol{padding-left:1.4em}
.gd-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gd-form-message{padding:14px 16px;border-radius:10px;margin:0 0 24px;border:1px solid rgba(244,244,244,.2)}
.gd-form-message--success{background:rgba(92,190,120,.12);border-color:rgba(92,190,120,.45)}
.gd-form-message--error{background:rgba(220,80,70,.12);border-color:rgba(220,80,70,.45)}
.btn:disabled{opacity:.55;cursor:wait;transform:none}
body.admin-bar .nav{top:32px}@media(max-width:782px){body.admin-bar .nav{top:46px}}
