/* LaVue — shared shell: tokens, header, footer, buttons */
@font-face{font-family:Tajawal;src:url('/fonts/Tajawal-Light.ttf');font-weight:300;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/Tajawal-Regular.ttf');font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/Tajawal-Medium.ttf');font-weight:500;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/Tajawal-Bold.ttf');font-weight:700;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/Tajawal-ExtraBold.ttf');font-weight:800;font-display:swap}

:root{
  --rose:#C9958D;--rose-l:#DDB7AE;--ivory:#FAF5F1;--warm:#FFFCF9;--gray:#817873;--ink:#25211F;--beige:#E9DED5;
  --rose-d:#9C635C;--rose-m:#B5786F;--ink-2:#5F5752;
  --serif:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --ease:cubic-bezier(.22,.8,.24,1);
  --pad:clamp(20px,5.5vw,96px);
  --header-h:84px;
}
html{scroll-padding-top:calc(var(--header-h) + 8px);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:focus-visible{outline:2px solid var(--rose-d);outline-offset:3px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,252,249,.96);border-bottom:1px solid rgba(37,33,31,.08);transition:background .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.site-header__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h);padding-inline:var(--pad)}
.site-header__brand{position:relative;z-index:3;display:block;line-height:0}
.site-header__brand img{height:46px;width:auto;mix-blend-mode:multiply}
.site-nav{display:flex;align-items:center;gap:clamp(20px,2.8vw,44px);flex-wrap:wrap}
.site-nav a:not(.lv-btn){position:relative;padding-block:6px;font-size:16px;font-weight:500;color:var(--ink);transition:color .4s var(--ease)}
.site-nav a:not(.lv-btn)::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:var(--rose-d);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.site-nav a:not(.lv-btn):hover,.site-nav a[aria-current="page"]{color:var(--rose-d)}
.site-nav a:not(.lv-btn):hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
.site-nav form{margin:0}
.site-nav__login{padding:10px 22px;border:1px solid var(--ink);font-size:15px;font-weight:500;color:var(--ink);transition:background .4s var(--ease),color .4s var(--ease)}
.site-nav__login:hover{background:var(--ink);color:var(--ivory)}
.site-nav button.site-nav__login{background:transparent;cursor:pointer;font-family:inherit}
.site-header__toggle{display:none}

/* Dark cinematic header used on the homepage */
.site-header__word{display:none;font-family:var(--serif);font-weight:500;font-size:32px;line-height:1;letter-spacing:.01em;color:var(--ivory)}
.site-header.is-over-hero{position:fixed;inset-inline:0;top:0;background:transparent;border-color:transparent;transition:transform .7s var(--ease),background .5s var(--ease),border-color .5s var(--ease)}
.site-header.is-over-hero .site-header__brand img{display:none}
.site-header.is-over-hero .site-header__word{display:block}
.site-header.is-over-hero.is-scrolled{background:rgba(14,11,10,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:rgba(250,245,241,.08);box-shadow:none}
.site-header.is-over-hero.is-hidden{transform:translateY(-100%)}
.site-header.is-over-hero .site-header__toggle span{background:var(--ivory)}
.site-header.is-over-hero .site-nav__login{border-color:rgba(250,245,241,.5);color:var(--ivory)}
.site-header.is-over-hero .site-nav__login:hover{background:var(--ivory);color:var(--ink)}
.site-header.is-over-hero .site-nav a:not(.lv-btn){color:var(--ivory)}
.site-header.is-over-hero .site-nav a:not(.lv-btn)::after{background:var(--rose-l)}
.site-header.is-over-hero .site-nav a:not(.lv-btn):hover,.site-header.is-over-hero .site-nav a[aria-current="page"]{color:var(--rose-l)}
.site-header.is-over-hero .site-nav a.site-nav__login:hover{color:var(--ink)}
.site-header.is-over-hero :focus-visible{outline-color:var(--rose-l)}
@media (max-width:899px){
  .js .site-header.is-over-hero .site-nav{background:#0E0B0A}
}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

@media (max-width:899px){
  :root{--header-h:72px}
  .site-header__brand img{height:40px}
  .site-header__toggle{position:relative;z-index:3;display:inline-flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:0 10px;background:transparent;border:0;cursor:pointer}
  .site-header__toggle span{display:block;height:1.5px;background:var(--ink);transition:transform .5s var(--ease),opacity .3s}
  .site-header__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .site-header__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .site-header__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .site-nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}
  .js .site-nav{position:fixed;inset:0;z-index:2;flex-direction:column;justify-content:center;gap:22px;padding:90px var(--pad) 40px;background:var(--ivory);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s .5s}
  .js .site-nav.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .js .site-nav a:not(.lv-btn){font-size:28px;font-weight:300}
  .js .site-nav__login{margin-top:12px;font-size:18px;padding:14px 34px}
}
body.nav-locked{overflow:hidden}

/* ---------- Buttons & links ---------- */
.lv-btn{display:inline-flex;align-items:center;gap:.9em;padding:17px 32px;background:var(--ink);color:var(--ivory);border:1px solid var(--ink);font:inherit;font-weight:500;font-size:16px;cursor:pointer;transition:background .5s var(--ease),border-color .5s var(--ease),color .5s var(--ease)}
.lv-btn span[aria-hidden]{display:inline-block;transition:transform .5s var(--ease)}
.lv-btn:hover{background:var(--rose-d);border-color:var(--rose-d)}
.lv-btn:hover span[aria-hidden]{transform:translateX(-6px)}
.lv-btn--light{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.lv-btn--light:hover{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.lv-link{position:relative;display:inline-flex;align-items:center;gap:.7em;padding-block:6px;font-weight:500;font-size:16px;color:inherit}
.lv-link::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:right;transition:transform .6s var(--ease)}
.lv-link:hover::after,.lv-link:focus-visible::after{transform:scaleX(1)}
.lv-link span[aria-hidden]{display:inline-block;transition:transform .5s var(--ease)}
.lv-link:hover span[aria-hidden]{transform:translateX(-6px)}

/* ---------- Footer ---------- */
footer.site-footer{display:block;padding:clamp(64px,8vw,120px) var(--pad) 36px;background:var(--ink);color:var(--ivory)}
.site-footer__top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 24px;padding-bottom:clamp(40px,6vw,80px);border-bottom:1px solid rgba(250,245,241,.16)}
.site-footer__brand{grid-column:1 / span 6}
.site-footer__word{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(56px,8vw,120px);line-height:.9;letter-spacing:.01em;color:var(--rose-l)}
.site-footer__sig{display:block;margin-top:16px;font-family:var(--serif);font-style:italic;font-size:22px;color:rgba(250,245,241,.7)}
.site-footer__about{grid-column:8 / span 5;max-width:420px;color:#CFC4BD;line-height:2;font-size:16px;margin:0}
.site-footer__nav{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:8px}
.site-footer__nav a{font-size:15px;color:var(--ivory);opacity:.85;transition:opacity .3s,color .3s}
.site-footer__nav a:hover{opacity:1;color:var(--rose-l)}
.site-footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;font-size:14px;color:#B9ADA6}
footer.site-footer{position:relative;overflow:hidden;padding-bottom:0}
.site-footer__word{font-size:clamp(36px,4vw,56px)}
.site-footer__ghost{display:block;margin:clamp(24px,4vw,56px) 0 -.13em;font-family:var(--serif);font-weight:500;font-size:clamp(130px,29vw,500px);line-height:.8;letter-spacing:-.03em;text-align:center;direction:ltr;white-space:nowrap;color:rgba(250,245,241,.07);pointer-events:none;-webkit-user-select:none;user-select:none}
@media (max-width:899px){
  .site-footer__brand,.site-footer__about{grid-column:1 / -1}
  footer.site-footer{text-align:start;line-height:1.8}
}
