*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; cursor:none !important; }
:root {
  --gold:#C9A84C; --gold-dim:#7A5E28; --gold-bright:#E8C96A;
  --black:#030303; --cream:#F2EDE4; --cream-dim:#A89880; --cream-faint:#504030;
}
html { scroll-behavior:smooth; }
body { background:var(--black); color:var(--cream); font-family:'Raleway',sans-serif; font-weight:300; overflow-x:hidden; }

.loader { position:fixed; inset:0; background:var(--black); display:flex; align-items:center; justify-content:center; z-index:9999; transition:opacity 0.8s ease,visibility 0.8s ease; }
.loader.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.loader-mono { font-family:'Cormorant Garamond',serif; font-weight:200; font-size:52px; letter-spacing:8px; text-transform:uppercase; color:var(--cream); opacity:0; animation:loaderFade 1.2s ease 0.3s forwards; }
.loader-mono em { font-style:normal; color:var(--gold); }
.loader-line { position:absolute; bottom:0; left:0; height:1px; width:0; background:linear-gradient(90deg,transparent,var(--gold),transparent); animation:loaderLine 1.5s ease 0.2s forwards; }

.cursor { position:fixed; width:8px; height:8px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); mix-blend-mode:difference; transition:width 0.3s,height 0.3s; }
.cursor-ring { position:fixed; width:36px; height:36px; border:1px solid rgba(201,168,76,0.35); border-radius:50%; pointer-events:none; z-index:9997; transform:translate(-50%,-50%); transition:width 0.3s,height 0.3s; }

.top-line { position:fixed; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold-dim) 25%,var(--gold-bright) 50%,var(--gold-dim) 75%,transparent); z-index:200; }

nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:32px 56px; display:flex; justify-content:space-between; align-items:center; }
nav::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,3,3,0.92) 0%,transparent 100%); z-index:-1; pointer-events:none; }
.nav-logo { font-family:'Cormorant Garamond',serif; font-weight:200; font-size:13px; letter-spacing:7px; text-transform:uppercase; color:var(--cream); text-decoration:none; }
.nav-logo em { font-style:normal; color:var(--gold); }
.nav-right { display:flex; align-items:center; gap:36px; }
.nav-links { display:flex; gap:32px; }
.nav-link { font-size:8px; font-weight:400; letter-spacing:3px; text-transform:uppercase; color:var(--cream-faint); text-decoration:none; transition:color 0.3s; position:relative; }
.nav-link::after { content:''; position:absolute; bottom:-3px; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform 0.3s; }
.nav-link:hover,.nav-link.active { color:var(--gold); }
.nav-link:hover::after,.nav-link.active::after { transform:scaleX(1); }
.lang-switch { display:flex; gap:0; align-items:center; }
.lang-btn { font-size:7px; font-weight:500; letter-spacing:2px; text-transform:uppercase; color:var(--cream-faint); background:none; border:none; padding:3px 8px; transition:color 0.3s; border-left:1px solid #1a1a1a; }
.lang-btn:first-child { border-left:none; }
.lang-btn:hover,.lang-btn.active { color:var(--gold); }

/* PAGE HERO */
.page-hero { min-height:50vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:160px 24px 80px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:500px; height:500px; background:radial-gradient(ellipse,rgba(201,168,76,0.04) 0%,transparent 65%); border-radius:50%; pointer-events:none; }
.page-hero-pre { font-size:8px; font-weight:400; letter-spacing:6px; text-transform:uppercase; color:var(--gold-dim); margin-bottom:24px; opacity:0; animation:riseUp 1s ease 1.8s forwards; }
.page-hero-h { font-family:'Cormorant Garamond',serif; font-weight:200; font-size:clamp(48px,8vw,88px); letter-spacing:2px; color:var(--cream); line-height:1; opacity:0; animation:riseUp 1.2s ease 2s forwards; }
.page-hero-h em { font-style:italic; color:var(--gold); }

/* PAGE BODY */
.page-body { max-width:1000px; margin:0 auto; padding:80px 56px 120px; }

/* SEC LABEL */
.sec-label { font-size:7px; font-weight:500; letter-spacing:5px; text-transform:uppercase; color:var(--gold-dim); margin-bottom:48px; display:flex; align-items:center; gap:18px; }
.sec-label::after { content:''; flex:1; height:1px; background:linear-gradient(90deg,#141414,transparent); }

/* RULE */
.rule { height:1px; background:linear-gradient(90deg,transparent,#0f0f0f 20%,#0f0f0f 80%,transparent); max-width:1000px; }

/* ABOUT PAGE */
.about-manifesto { display:flex; flex-direction:column; gap:0; }
.manifesto-block { display:grid; grid-template-columns:80px 1fr; gap:0 32px; padding:40px 0; border-bottom:1px solid #0d0d0d; align-items:start; }
.manifesto-block:first-child { border-top:1px solid #0d0d0d; }
.manifesto-num { font-family:'Cormorant Garamond',serif; font-size:13px; font-style:italic; color:var(--gold); opacity:0.5; letter-spacing:2px; padding-top:4px; }
.manifesto-text { font-size:13px; line-height:2.1; color:var(--cream-dim); }

.values-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#0a0a0a; border:1px solid #0a0a0a; }
.value-card { background:var(--black); padding:36px 32px; }
.value-title { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:400; color:var(--cream); margin-bottom:14px; line-height:1.2; }
.value-text { font-size:11px; line-height:1.95; color:var(--cream-dim); }

.about-founder {}
.founder-block { max-width:600px; }
.founder-quote { font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2.5vw,24px); font-weight:300; font-style:italic; color:var(--cream); line-height:1.7; margin-bottom:28px; }
.founder-name { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:var(--cream); margin-bottom:4px; }
.founder-title { font-size:8px; font-weight:500; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dim); }

/* SERVICES PAGE */
.services-full { display:flex; flex-direction:column; gap:0; }
.service-full-item { display:grid; grid-template-columns:280px 1fr; gap:0 60px; padding:56px 0; align-items:start; }
.sfi-left {}
.sfi-num { font-family:'Cormorant Garamond',serif; font-size:11px; font-style:italic; color:var(--gold); opacity:0.5; letter-spacing:2px; margin-bottom:14px; }
.sfi-name { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:var(--cream); line-height:1.2; margin-bottom:16px; }
.sfi-line { width:28px; height:1px; background:var(--gold-dim); }
.sfi-right {}
.sfi-body { font-size:12px; line-height:2.1; color:var(--cream-dim); margin-bottom:32px; }
.sfi-details { display:flex; flex-direction:column; gap:12px; }
.sfi-detail { display:grid; grid-template-columns:140px 1fr; gap:0 16px; }
.sfi-detail-label { font-size:7px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--cream-faint); padding-top:2px; }
.sfi-detail-val { font-size:11px; color:var(--cream-dim); line-height:1.6; }
.sfi-rule { height:1px; background:linear-gradient(90deg,transparent,#0d0d0d 20%,#0d0d0d 80%,transparent); }

.mandate-note { background:#060606; border:1px solid #0f0f0f; border-left:1px solid var(--gold-dim); padding:36px 40px; margin-top:80px; }
.mn-title { font-size:8px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dim); margin-bottom:12px; }
.mn-text { font-size:12px; line-height:1.9; color:var(--cream-dim); margin-bottom:20px; }
.mn-link { font-size:8px; font-weight:500; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dim); text-decoration:none; transition:color 0.3s; }
.mn-link:hover { color:var(--gold); }

/* PERSPECTIVES PAGE */
.perspectives-intro { margin-bottom:64px; }
.perspectives-intro p { font-size:13px; line-height:2.1; color:var(--cream-dim); max-width:600px; }
.persp-empty { display:flex; flex-direction:column; align-items:flex-start; padding:64px 0; border-top:1px solid #0d0d0d; border-bottom:1px solid #0d0d0d; }
.persp-empty-icon { font-size:32px; color:var(--gold); opacity:0.2; margin-bottom:24px; }
.persp-empty-title { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:300; color:var(--cream); margin-bottom:14px; }
.persp-empty-text { font-size:12px; line-height:1.9; color:var(--cream-dim); max-width:520px; margin-bottom:28px; }
.persp-cta { font-size:8px; font-weight:500; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dim); text-decoration:none; transition:color 0.3s; }
.persp-cta:hover { color:var(--gold); }

/* CONTACT PAGE */
.contact-page { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:140px 56px 80px; position:relative; overflow:hidden; }
.contact-orb { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; height:600px; background:radial-gradient(ellipse,rgba(201,168,76,0.05) 0%,transparent 65%); border-radius:50%; pointer-events:none; }
.contact-page-inner { display:flex; flex-direction:column; align-items:center; text-align:center; max-width:600px; position:relative; z-index:1; }
.contact-page-pre { font-size:8px; font-weight:400; letter-spacing:6px; text-transform:uppercase; color:var(--gold-dim); margin-bottom:20px; }
.contact-page-h { font-family:'Cormorant Garamond',serif; font-weight:200; font-size:clamp(40px,6vw,68px); color:var(--cream); letter-spacing:1px; line-height:1.15; margin-bottom:24px; }
.contact-page-h em { font-style:italic; color:var(--gold); }
.contact-page-note { font-size:12px; color:var(--cream-dim); line-height:1.9; margin-bottom:24px; max-width:460px; }
.contact-page-ar { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--gold); opacity:0.5; letter-spacing:3px; margin-bottom:40px; direction:rtl; }
.contact-page-email { font-family:'Cormorant Garamond',serif; font-size:clamp(14px,2vw,20px); font-weight:300; color:var(--cream); text-decoration:none; letter-spacing:1px; padding-bottom:5px; border-bottom:1px solid var(--gold-dim); transition:color 0.4s,border-color 0.4s; margin-bottom:40px; }
.contact-page-email:hover { color:var(--gold); border-color:var(--gold); }
.contact-page-details { display:flex; align-items:center; gap:0; margin-bottom:32px; flex-wrap:wrap; justify-content:center; }
.cpd-item { padding:0 20px; }
.cpd-label { font-size:7px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--cream-faint); margin-bottom:4px; }
.cpd-val { font-size:10px; color:var(--cream-dim); letter-spacing:0.5px; }
.cpd-sep { width:1px; height:32px; background:#111; }
.contact-page-confidential { font-size:8px; letter-spacing:2px; text-transform:uppercase; color:#2a2a2a; }

/* FOOTER */
footer { border-top:1px solid #0a0a0a; padding:28px 56px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-brand { font-family:'Cormorant Garamond',serif; font-weight:200; font-size:12px; letter-spacing:5px; text-transform:uppercase; color:#1e1e1e; }
.footer-brand em { font-style:normal; color:var(--gold-dim); }
.footer-links { display:flex; gap:24px; }
.footer-link { font-size:7px; letter-spacing:2px; text-transform:uppercase; color:#1a1a1a; text-decoration:none; transition:color 0.3s; }
.footer-link:hover { color:var(--gold-dim); }
.footer-r { font-size:7px; letter-spacing:2px; text-transform:uppercase; color:#141414; }

/* ANIMATIONS */
@keyframes loaderFade { from{opacity:0;transform:scale(0.96)} to{opacity:1;transform:scale(1)} }
@keyframes loaderLine { from{width:0} to{width:100%} }
@keyframes riseUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.9s ease,transform 0.9s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.15s; }
.reveal-delay-2 { transition-delay:0.3s; }
.reveal-delay-3 { transition-delay:0.45s; }

@media(max-width:700px) {
  nav { padding:20px 24px; }
  .nav-links { display:none; }
  .page-body { padding:60px 24px 80px; }
  .manifesto-block { grid-template-columns:1fr; gap:12px; }
  .values-grid { grid-template-columns:1fr; }
  .service-full-item { grid-template-columns:1fr; gap:24px; }
  .contact-page { padding:120px 24px 80px; }
  footer { padding:24px; flex-direction:column; align-items:flex-start; }
}
