*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
*{cursor:none}

:root{
  --accent:#8b84e0;
  --accent2:#c4a0ff;
  --accent3:#ff8fa3;
  --accent-light:#b8b3f0;
  --accent-dark:#5e58b0;
  --cream:#f7f6ff;
  --ink:#0e0c22;
  --ink-mid:#1a1838;
  --ink-soft:#231f52;
  --muted:#8a87b8;
  --muted-light:#b8b5d8;
  --border:rgba(139,132,224,0.18);
  --border-hover:rgba(139,132,224,0.45);
  --glow:rgba(139,132,224,0.25);
}

html{scroll-behavior:smooth}

body{
  font-family:'Jost',sans-serif;
  background:var(--ink);
  color:var(--cream);
  overflow-x:hidden;
}

/* CURSOR */
.cursor{
  position:fixed;top:0;left:0;
  width:12px;height:12px;
  background:var(--accent);
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  transform:translate(-50%,-50%);
  transition:transform 0.1s,width 0.3s,height 0.3s,background 0.3s,opacity 0.3s;
  mix-blend-mode:screen;
}
.cursor-ring{
  position:fixed;top:0;left:0;
  width:36px;height:36px;
  border:1px solid rgba(139,132,224,0.6);
  border-radius:50%;
  pointer-events:none;
  z-index:9998;
  transform:translate(-50%,-50%);
  transition:transform 0.18s ease,width 0.3s,height 0.3s,border-color 0.3s;
}
body:has(a:hover) .cursor,
body:has(button:hover) .cursor{width:20px;height:20px;background:var(--accent2)}
body:has(a:hover) .cursor-ring,
body:has(button:hover) .cursor-ring{width:52px;height:52px;border-color:var(--accent2)}

/* SCROLL ANIMATIONS */
.reveal{
  opacity:0;
  transform:translateY(48px);
  transition:opacity 0.85s cubic-bezier(0.22,1,0.36,1), transform 0.85s cubic-bezier(0.22,1,0.36,1);
}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{
  opacity:0;
  transform:translateX(-60px);
  transition:opacity 0.9s cubic-bezier(0.22,1,0.36,1), transform 0.9s cubic-bezier(0.22,1,0.36,1);
}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{
  opacity:0;
  transform:translateX(60px);
  transition:opacity 0.9s cubic-bezier(0.22,1,0.36,1), transform 0.9s cubic-bezier(0.22,1,0.36,1);
}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{
  opacity:0;
  transform:scale(0.88);
  transition:opacity 0.9s cubic-bezier(0.22,1,0.36,1), transform 0.9s cubic-bezier(0.22,1,0.36,1);
}
.reveal-scale.visible{opacity:1;transform:scale(1)}
.stagger-1{transition-delay:0.08s}
.stagger-2{transition-delay:0.16s}
.stagger-3{transition-delay:0.24s}
.stagger-4{transition-delay:0.32s}
.stagger-5{transition-delay:0.40s}
.stagger-6{transition-delay:0.48s}

/* NOISE OVERLAY */
body::before{
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
  opacity:0.03;
  pointer-events:none;
  z-index:9000;
}

/* AMBIENT GLOW */
.ambient-bg{
  position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;
}
.ambient-orb{
  position:absolute;border-radius:50%;filter:blur(120px);
  animation:orbFloat 18s ease-in-out infinite;
}
.orb1{width:600px;height:600px;background:rgba(139,132,224,0.08);top:-200px;right:-100px;animation-delay:0s}
.orb2{width:500px;height:500px;background:rgba(196,160,255,0.06);bottom:-100px;left:-150px;animation-delay:-9s}
.orb3{width:400px;height:400px;background:rgba(255,143,163,0.04);top:40%;right:20%;animation-delay:-5s}
@keyframes orbFloat{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(40px,-60px) scale(1.05)}
  66%{transform:translate(-30px,40px) scale(0.95)}
}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 4rem;
  background:rgba(14,12,34,0.7);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  transition:padding 0.4s;
}
nav.scrolled{padding:0.9rem 4rem;background:rgba(14,12,34,0.92)}
.nav-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem;font-weight:300;letter-spacing:0.25em;
  color:var(--accent);text-transform:uppercase;text-decoration:none;
  position:relative;
}
.nav-logo::after{
  content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width 0.4s;
}
.nav-logo:hover::after{width:100%}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{
  font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;transition:color 0.3s;
  position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;
  background:var(--accent);transition:width 0.3s;
}
.nav-links a:hover{color:var(--cream)}
.nav-links a:hover::after{width:100%}
.nav-cta{
  font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
  padding:0.55rem 1.5rem;border:1px solid var(--accent);
  color:var(--accent);background:transparent;text-decoration:none;
  transition:all 0.35s;position:relative;overflow:hidden;
}
.nav-cta::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  transform:translateX(-100%);transition:transform 0.35s;z-index:-1;
}
.nav-cta:hover{color:var(--ink);border-color:transparent}
.nav-cta:hover::before{transform:translateX(0)}

/* HERO */
.hero{
  min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  position:relative;overflow:hidden;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:8rem 4rem 6rem 5rem;
  position:relative;z-index:2;
}
.hero-eyebrow{
  font-size:0.68rem;letter-spacing:0.38em;text-transform:uppercase;
  color:var(--accent2);margin-bottom:2rem;
  display:flex;align-items:center;gap:1rem;
  opacity:0;animation:fadeUp 0.8s 0.2s forwards;
}
.hero-eyebrow::before{
  content:'';display:block;width:40px;height:1px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}
h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.5rem,5.5vw,5.8rem);font-weight:300;
  line-height:1.04;letter-spacing:-0.01em;margin-bottom:2rem;
  color:var(--cream);
  opacity:0;animation:fadeUp 0.9s 0.4s forwards;
}
h1 em{font-style:italic;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-desc{
  font-size:0.95rem;line-height:1.85;color:var(--muted-light);
  max-width:390px;margin-bottom:3rem;font-weight:300;
  opacity:0;animation:fadeUp 0.9s 0.6s forwards;
}
.hero-actions{
  display:flex;gap:1.5rem;align-items:center;
  opacity:0;animation:fadeUp 0.9s 0.8s forwards;
}
.btn-primary{
  padding:1rem 2.6rem;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:var(--cream);font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
  text-decoration:none;transition:all 0.35s;border:1px solid transparent;
  font-family:'Jost',sans-serif;position:relative;overflow:hidden;
}
.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  opacity:0;transition:opacity 0.35s;
}
.btn-primary:hover::before{opacity:1}
.btn-primary span{position:relative;z-index:1}
.btn-ghost{
  font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--muted-light);text-decoration:none;transition:color 0.3s;
  display:flex;align-items:center;gap:0.6rem;
}
.btn-ghost:hover{color:var(--accent2)}
.btn-ghost::after{content:'→';font-size:1rem;transition:transform 0.3s}
.btn-ghost:hover::after{transform:translateX(4px)}

.hero-right{position:relative;overflow:hidden}
.hero-visual{
  width:100%;height:100%;
  background:radial-gradient(ellipse 80% 80% at 50% 40%,#12103a 0%,#0a0918 100%);
  position:relative;
}
.hero-visual::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 70% at 60% 35%,rgba(139,132,224,0.18) 0%,transparent 65%),
    radial-gradient(ellipse 50% 50% at 30% 80%,rgba(196,160,255,0.1) 0%,transparent 60%);
}
.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(139,132,224,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(139,132,224,0.06) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 40%,transparent 100%);
}
.hero-frame{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:340px;height:420px;border:1px solid var(--border);
  opacity:0;animation:frameIn 1.2s 0.5s forwards;
}
.hero-frame::before,.hero-frame::after{
  content:'';position:absolute;width:32px;height:32px;
}
.hero-frame::before{
  top:-1px;left:-1px;
  border-top:2px solid var(--accent2);border-left:2px solid var(--accent2);
}
.hero-frame::after{
  bottom:-1px;right:-1px;
  border-bottom:2px solid var(--accent);border-right:2px solid var(--accent);
}
.hero-frame-inner{
  position:absolute;inset:20px;border:1px solid rgba(139,132,224,0.1);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.hero-monogram{
  font-family:'Cormorant Garamond',serif;
  font-size:7rem;font-weight:300;
  background:linear-gradient(135deg,rgba(139,132,224,0.25),rgba(196,160,255,0.1));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  letter-spacing:-0.05em;line-height:1;user-select:none;
}
.hero-tag{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  font-size:0.62rem;letter-spacing:0.32em;text-transform:uppercase;
  color:var(--accent2);opacity:0.65;white-space:nowrap;
}
.hero-particles{position:absolute;inset:0;pointer-events:none}
.particle{
  position:absolute;width:2px;height:2px;border-radius:50%;
  background:var(--accent2);opacity:0;
  animation:particleFade var(--dur,4s) var(--delay,0s) infinite;
}
@keyframes particleFade{
  0%{opacity:0;transform:translate(0,0)}
  20%{opacity:0.6}
  100%{opacity:0;transform:translate(var(--tx,20px),var(--ty,-40px))}
}

/* MARQUEE */
.marquee-wrap{
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  overflow:hidden;padding:0.9rem 0;
  background:rgba(139,132,224,0.03);
  position:relative;
}
.marquee-wrap::before,.marquee-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.marquee-wrap::after{right:0;background:linear-gradient(-90deg,var(--ink),transparent)}
.marquee-track{
  display:flex;gap:3.5rem;white-space:nowrap;
  animation:marquee 30s linear infinite;
}
.marquee-wrap:hover .marquee-track{animation-play-state:paused}
.marquee-item{
  font-size:0.68rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--muted);flex-shrink:0;display:flex;align-items:center;gap:1.5rem;
  transition:color 0.3s;
}
.marquee-item:hover{color:var(--accent2)}
.marquee-item span{
  color:var(--accent2);font-size:0.45rem;
  animation:sparkle 3s ease-in-out infinite;
}
@keyframes sparkle{0%,100%{opacity:0.5;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SHARED SECTION */
.section-label{
  font-size:0.63rem;letter-spacing:0.42em;text-transform:uppercase;
  color:var(--accent2);margin-bottom:1.5rem;
  display:flex;align-items:center;gap:1rem;
}
.section-label::before{
  content:'';display:block;width:30px;height:1px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}
h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,3.5vw,3.6rem);
  font-weight:300;line-height:1.12;margin-bottom:1.5rem;color:var(--cream);
}
h2 em{
  font-style:italic;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.body-text{
  font-size:0.93rem;line-height:1.9;
  color:var(--muted-light);font-weight:300;margin-bottom:1.5rem;
}

/* ABOUT */
.about{
  display:grid;grid-template-columns:1fr 1fr;
  padding:9rem 5rem;gap:7rem;align-items:center;
  position:relative;z-index:1;
}
.about-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;
}
.stat-item{
  border-top:1px solid var(--border);padding-top:1.5rem;
  position:relative;overflow:hidden;
}
.stat-item::after{
  content:'';position:absolute;top:0;left:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width 0.8s cubic-bezier(0.22,1,0.36,1);
}
.stat-item.visible::after{width:100%}
.stat-number{
  font-family:'Cormorant Garamond',serif;
  font-size:3.2rem;font-weight:300;line-height:1;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stat-label{
  font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--muted);margin-top:0.4rem;
}
.about-visual{position:relative;height:500px}
.about-box{
  position:absolute;border:1px solid var(--border);
  background:rgba(139,132,224,0.025);
  transition:border-color 0.5s,background 0.5s;
}
.about-box:nth-child(1){inset:0 60px 60px 0}
.about-box:nth-child(2){
  width:200px;height:200px;bottom:0;right:0;
  background:rgba(139,132,224,0.06);
  border-color:rgba(139,132,224,0.35);
}
.about-box:nth-child(3){
  width:80px;height:80px;top:30px;left:-20px;
  background:linear-gradient(135deg,var(--accent-dark),var(--accent2));
  opacity:0.25;border:none;
}
.about:hover .about-box{border-color:var(--border-hover)}
.about-quote{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;font-style:italic;font-weight:300;
  color:var(--cream);text-align:center;width:240px;line-height:1.7;z-index:2;
}
.about-quote::before,.about-quote::after{
  content:'"';
  font-size:3rem;font-weight:300;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:0;vertical-align:-0.5em;
}
.about-quote::after{content:'"'}

/* SERVICES */
.services{
  padding:9rem 5rem;
  border-top:1px solid var(--border);
  position:relative;z-index:1;
}
.services-header{margin-bottom:5rem;max-width:500px}
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--border);border-left:1px solid var(--border);
}
.service-card{
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:3rem 2.5rem;
  transition:background 0.5s,transform 0.4s;
  cursor:default;position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(139,132,224,0.06),rgba(196,160,255,0.03));
  opacity:0;transition:opacity 0.4s;
}
.service-card::after{
  content:'';position:absolute;
  bottom:0;left:0;width:0;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width 0.5s cubic-bezier(0.22,1,0.36,1);
}
.service-card:hover::before{opacity:1}
.service-card:hover::after{width:100%}
.service-num{
  font-family:'Cormorant Garamond',serif;
  font-size:3.5rem;font-weight:300;
  background:linear-gradient(135deg,rgba(139,132,224,0.2),rgba(196,160,255,0.08));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;margin-bottom:1.5rem;
  transition:all 0.4s;
}
.service-card:hover .service-num{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;background-clip:text;
}
.service-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.45rem;font-weight:400;
  color:var(--cream);margin-bottom:1rem;line-height:1.25;
  transition:color 0.3s;
}
.service-desc{
  font-size:0.83rem;line-height:1.85;
  color:var(--muted);font-weight:300;
}
.service-arrow{
  margin-top:2rem;font-size:1rem;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  opacity:0;transform:translateX(-8px);
  transition:opacity 0.3s,transform 0.3s;
}
.service-card:hover .service-arrow{opacity:1;transform:translateX(0)}

/* PROCESS */
.process{
  padding:9rem 5rem;
  border-top:1px solid var(--border);
  display:grid;grid-template-columns:1fr 2fr;gap:8rem;align-items:start;
  position:relative;z-index:1;
}
.process-steps{display:flex;flex-direction:column;gap:0}
.process-step{
  padding:2.5rem 0;border-bottom:1px solid var(--border);
  display:flex;gap:2rem;align-items:flex-start;
  cursor:default;transition:padding-left 0.4s,border-color 0.4s;
  position:relative;
}
.process-step::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width 0.6s cubic-bezier(0.22,1,0.36,1);
}
.process-step:hover{padding-left:0.8rem;border-color:transparent}
.process-step:hover::after{width:100%}
.process-step:first-child{border-top:1px solid var(--border)}
.step-num{
  font-family:'Cormorant Garamond',serif;
  font-size:1rem;font-weight:400;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  min-width:36px;padding-top:0.15rem;
}
.step-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem;font-weight:400;
  color:var(--cream);margin-bottom:0.5rem;
  transition:color 0.3s;
}
.step-text{
  font-size:0.83rem;line-height:1.85;color:var(--muted);font-weight:300;
}

/* TESTIMONIAL */
.testimonial{
  padding:9rem 5rem;
  border-top:1px solid var(--border);
  text-align:center;position:relative;overflow:hidden;
}
.testimonial::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(139,132,224,0.07) 0%,transparent 70%);
}
.testimonial-inner{position:relative;z-index:1}
.quote-mark{
  font-family:'Cormorant Garamond',serif;
  font-size:9rem;line-height:0.4;font-weight:300;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  opacity:0.4;margin-bottom:2.5rem;display:block;
}
.quote-text{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.5rem,2.8vw,2.6rem);
  font-weight:300;font-style:italic;
  line-height:1.55;color:var(--cream);
  max-width:800px;margin:0 auto 3rem;
}
.quote-author{
  font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.quote-role{font-size:0.7rem;color:var(--muted);margin-top:0.4rem;letter-spacing:0.1em}
.quote-line{
  width:60px;height:1px;margin:2rem auto;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}

/* CTA */
.cta-section{
  padding:9rem 5rem;
  border-top:1px solid var(--border);
  display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;
  position:relative;z-index:1;
}
.cta-form{display:flex;flex-direction:column;gap:1.5rem}
.form-group{display:flex;flex-direction:column;gap:0.5rem}
label{
  font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);
}
input,textarea{
  background:transparent;
  border:none;border-bottom:1px solid var(--border);
  color:var(--cream);font-family:'Jost',sans-serif;
  font-size:0.93rem;font-weight:300;
  padding:0.75rem 0;outline:none;
  transition:border-color 0.4s;
}
input:focus,textarea:focus{
  border-image:linear-gradient(90deg,var(--accent),var(--accent2)) 1;
}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:0.4}
textarea{resize:none;height:100px}
.submit-btn{
  align-self:flex-start;
  padding:1rem 2.6rem;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:var(--cream);
  font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
  font-family:'Jost',sans-serif;border:none;
  cursor:pointer;transition:all 0.35s;margin-top:0.5rem;
  position:relative;overflow:hidden;
}
.submit-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  opacity:0;transition:opacity 0.35s;
}
.submit-btn:hover::before{opacity:1}
.submit-btn span{position:relative;z-index:1}

/* FOOTER */
footer{
  border-top:1px solid var(--border);
  padding:3rem 5rem;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:1;
}
.footer-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;font-weight:300;letter-spacing:0.25em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.footer-copy{font-size:0.73rem;color:var(--muted);letter-spacing:0.05em}
.footer-links{display:flex;gap:2rem}
.footer-links a{
  font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;transition:color 0.3s;
}
.footer-links a:hover{color:var(--accent2)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@keyframes frameIn{
  from{opacity:0;transform:translate(-50%,-50%) scale(0.88)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

/* WORD BY WORD */
.word-reveal .word{
  display:inline-block;opacity:0;transform:translateY(24px);
  transition:opacity 0.6s cubic-bezier(0.22,1,0.36,1),transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.word-reveal.visible .word{opacity:1;transform:translateY(0)}

/* LINE DRAW */
.line-draw{
  stroke-dasharray:200;stroke-dashoffset:200;
  transition:stroke-dashoffset 1.2s cubic-bezier(0.22,1,0.36,1);
}
.line-draw.visible{stroke-dashoffset:0}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:1.2rem 1.5rem}
  .nav-links{display:none}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:7rem 1.5rem 3rem}
  .hero-right{height:350px}
  .about,.process,.cta-section{grid-template-columns:1fr;gap:3rem;padding:5rem 1.5rem}
  .services{padding:5rem 1.5rem}
  .services-grid{grid-template-columns:1fr}
  .testimonial{padding:5rem 1.5rem}
  footer{flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;text-align:center}
  .about-visual{height:300px}
}

/* CHAR SPLIT */
.char-split .char{
  display:inline-block;
  opacity:0;transform:translateY(30px) rotateX(-30deg);
  transition:opacity 0.5s,transform 0.5s;
  transform-origin:50% 100%;
}
.char-split.visible .char{opacity:1;transform:translateY(0) rotateX(0)}

/* COUNTER suffix fix */
.counter-wrap{display:inline}

/* BRANDS */
.brands{
  padding:8rem 0;
  border-top:1px solid var(--border);
  position:relative;z-index:1;overflow:hidden;
}
.brands-header{
  text-align:center;padding:0 5rem;margin-bottom:4.5rem;
}
.brands-row{
  overflow:hidden;position:relative;padding:1.2rem 0;
}
.brands-row::before,.brands-row::after{
  content:'';position:absolute;top:0;bottom:0;width:180px;z-index:2;pointer-events:none;
}
.brands-row::before{left:0;background:linear-gradient(90deg,var(--ink) 30%,transparent)}
.brands-row::after{right:0;background:linear-gradient(-90deg,var(--ink) 30%,transparent)}
.brands-track{
  display:flex;gap:0;align-items:center;white-space:nowrap;
}
.brands-track.ltr{animation:brandLTR 35s linear infinite}
.brands-track.rtl{animation:brandRTL 35s linear infinite}
.brands-row:hover .brands-track{animation-play-state:paused}
@keyframes brandLTR{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes brandRTL{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.brand-logo{
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;margin:0 2.5rem;
  height:56px;padding:0 2rem;
  border:1px solid var(--border);
  border-radius:4px;
  background:rgba(139,132,224,0.03);
  transition:border-color 0.4s,background 0.4s,transform 0.3s;
  position:relative;overflow:hidden;
}
.brand-logo::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(139,132,224,0.08),rgba(196,160,255,0.04));
  opacity:0;transition:opacity 0.4s;
}
.brand-logo:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.brand-logo:hover::before{opacity:1}
.brand-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.05rem;font-weight:300;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;
  transition:color 0.3s;position:relative;z-index:1;
}
.brand-logo:hover .brand-name{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.brand-dot{
  width:5px;height:5px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  margin-left:0.5rem;flex-shrink:0;opacity:0.5;
  position:relative;z-index:1;
}

/* TEAM */
.team{
  padding:9rem 5rem;
  border-top:1px solid var(--border);
  position:relative;z-index:1;
}
.team-header{text-align:center;margin-bottom:5rem}
.team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:2rem;
}
.team-card{
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:rgba(139,132,224,0.025);
  transition:border-color 0.4s,transform 0.4s,background 0.4s;
  position:relative;
}
.team-card::before{
  content:'';position:absolute;inset:0;border-radius:16px;
  background:linear-gradient(160deg,rgba(139,132,224,0.07),rgba(196,160,255,0.03));
  opacity:0;transition:opacity 0.4s;z-index:0;
}
.team-card::after{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.5s cubic-bezier(0.22,1,0.36,1);
}
.team-card:hover{border-color:var(--border-hover);transform:translateY(-6px)}
.team-card:hover::before{opacity:1}
.team-card:hover::after{transform:scaleX(1)}
.team-photo{
  width:100%;aspect-ratio:1/1;
  object-fit:cover;display:block;
  background:linear-gradient(135deg,var(--ink-soft) 0%,var(--ink-mid) 100%);
  position:relative;overflow:hidden;
}
.team-photo-placeholder{
  width:100%;aspect-ratio:1/1;
  background:linear-gradient(145deg,#1e1c42 0%,#151330 50%,#1a1740 100%);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.team-photo-placeholder::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 60% at 50% 40%,rgba(139,132,224,0.15) 0%,transparent 70%);
}
.team-initials{
  font-family:'Cormorant Garamond',serif;
  font-size:3.5rem;font-weight:300;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  position:relative;z-index:1;letter-spacing:0.05em;
  opacity:0.6;
}
.team-info{
  padding:1.6rem 1.8rem 2rem;
  position:relative;z-index:1;
}
.team-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;font-weight:600;
  color:var(--cream);letter-spacing:0.02em;
  margin-bottom:0.35rem;line-height:1.2;
}
.team-role{
  font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--muted);font-weight:300;
  transition:color 0.3s;
}
.team-card:hover .team-role{color:var(--accent2)}
.team-social{
  display:flex;gap:0.75rem;margin-top:1.2rem;
}
.team-social a{
  width:28px;height:28px;border-radius:50%;
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);
  transition:all 0.3s;
}
.team-social a:hover{
  border-color:var(--accent2);color:var(--accent2);
  background:rgba(196,160,255,0.08);
}
@media(max-width:900px){
  .brands{padding:5rem 0}
  .brands-header{padding:0 1.5rem;margin-bottom:3rem}
  .team{padding:5rem 1.5rem}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem}
}