:root{
  --bg:#070709;
  --bg-soft:#0d0d11;
  --panel:#101014;
  --text:#f4f3f6;
  --muted:#a9a6b0;
  --line:rgba(255,255,255,.11);
  --accent:#ee00ff;
  --accent2:#7727ff;
  --max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
::selection{background:var(--accent);color:white}
.grain{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:20;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(to bottom,rgba(7,7,9,.92),rgba(7,7,9,.65));backdrop-filter:blur(16px)}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.16em;font-size:.82rem}
.brand-mark{width:40px;height:40px;fill:none;stroke:#ededf0;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.brand-mark .m-stroke{stroke:var(--accent)}
.nav{display:flex;gap:34px;text-transform:uppercase;font-size:.72rem;letter-spacing:.13em}
.nav a{position:relative;color:#d8d6dd;padding:28px 0}
.nav a:after{content:"";position:absolute;left:0;bottom:19px;width:0;height:1px;background:var(--accent);transition:.25s}
.nav a:hover:after,.nav a.active:after{width:100%}
.menu-toggle{display:none;background:none;border:0;padding:10px}
.menu-toggle span{display:block;width:24px;height:1px;background:white;margin:6px 0}
.hero{position:relative;min-height:100svh;max-width:var(--max);margin:auto;padding:128px 32px 56px;display:grid;grid-template-columns:1.02fr 1.1fr;align-items:center;gap:42px;isolation:isolate}
.hero:before{content:"";position:absolute;inset:20% 0 0 8%;background:radial-gradient(circle at center,rgba(164,0,255,.12),transparent 58%);filter:blur(60px);z-index:-2}
.hero-copy{position:relative;z-index:3;padding-left:18px}
.eyebrow{margin:0 0 20px;text-transform:uppercase;letter-spacing:.22em;color:#c7c3ce;font-size:.69rem}
.hero h1{margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(4rem,9vw,8.6rem);line-height:.78;letter-spacing:-.075em;font-weight:300}
.hero h1 span,.section-heading h2 span,.statement h2 span,.contact h2 span{color:var(--accent)}
.role-line{font-size:clamp(.72rem,1.1vw,.9rem);letter-spacing:.18em;margin:28px 0 0;color:white}
.role-line:after{content:"";display:block;width:58px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));margin-top:24px}
.hero-lead{max-width:520px;font-family:Manrope,Inter,sans-serif;font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.45;color:#d7d4dc;font-weight:300;margin:28px 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:154px;padding:14px 24px;border:1px solid var(--line);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;transition:.25s;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--accent),#b100ff);border-color:transparent;color:white;box-shadow:0 0 35px rgba(238,0,255,.22)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 42px rgba(238,0,255,.4)}
.btn-ghost{background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:var(--accent);color:#fff}
.hero-image{position:relative;height:min(72vh,760px);min-height:520px;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0c0c0e;box-shadow:0 28px 80px rgba(0,0,0,.45)}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,9,.15),transparent 45%),linear-gradient(0deg,rgba(7,7,9,.18),transparent 38%);pointer-events:none}
.hero-image img{filter:contrast(1.06) brightness(.92);object-position:center top}
.hero-image figcaption{position:absolute;right:18px;bottom:18px;z-index:2;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;color:#f4f2f7}
.hero-side-note{position:absolute;right:-32px;top:46%;transform:rotate(90deg);font-size:.63rem;letter-spacing:.45em;color:rgba(255,255,255,.55)}
.scroll-cue{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);font-size:.61rem;letter-spacing:.22em;text-transform:uppercase;color:#8f8b95}
.scroll-cue span{color:var(--accent);margin-left:10px}
.hero-glow{position:absolute;border-radius:50%;filter:blur(55px);opacity:.23;z-index:-1}
.glow-a{width:320px;height:320px;background:#8b00ff;right:20%;top:15%}.glow-b{width:220px;height:220px;background:#ff00cc;left:15%;bottom:11%}
.section{max-width:var(--max);margin:auto;padding:120px 32px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}
.section-heading .eyebrow{margin:0;min-width:190px}
.section-heading h2{margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(2.5rem,5vw,5.2rem);line-height:.95;letter-spacing:-.055em;font-weight:300;text-align:right}
.about{border-top:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:.84fr 1.2fr;gap:70px;align-items:center}
.about-copy{font-size:1.02rem;line-height:1.75;color:#bdb9c4}
.about-copy .lead{font-family:Manrope,Inter,sans-serif;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.45;color:white;font-weight:300;margin-top:0}
.signature{font-size:.78rem!important;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)!important;margin-top:36px}
.about-art{display:grid;grid-template-columns:1.2fr .72fr;gap:16px;align-items:end}
.art-card{margin:0;overflow:hidden;border:1px solid var(--line);position:relative}
.art-card:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(0,0,0,.24);pointer-events:none}
.art-card-main{height:510px}.art-card-main img{object-position:center}
.art-card-detail{height:370px}.art-card-detail img{object-position:center}
.expertise{border-top:1px solid var(--line)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-card{min-height:300px;padding:30px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01));position:relative;overflow:hidden;transition:.3s}
.service-card:before{content:"";position:absolute;width:180px;height:180px;background:var(--accent);filter:blur(80px);opacity:0;right:-60px;bottom:-80px;transition:.35s}
.service-card:hover{transform:translateY(-5px);border-color:rgba(238,0,255,.5)}.service-card:hover:before{opacity:.13}
.service-icon{font-size:2.1rem;color:var(--accent);height:74px}
.service-card h3{font-size:1.08rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 26px}.service-card h3:after{content:"";display:block;width:40px;height:2px;background:var(--accent);margin-top:12px}
.service-card p{color:#a9a5af;line-height:1.65;margin:0;font-size:.9rem}
.statement{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:34px;text-align:center;padding-top:86px;padding-bottom:86px}
.statement-line{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.statement p{position:absolute;left:50%;transform:translate(-50%,-58px);font-size:.65rem;text-transform:uppercase;letter-spacing:.25em;color:#8d8994}
.statement h2{font-family:Manrope,Inter,sans-serif;margin:0;font-weight:300;font-size:clamp(1.7rem,4vw,4.1rem);letter-spacing:-.035em;white-space:nowrap}
.gallery{border-top:1px solid var(--line)}
.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-auto-rows:260px;gap:14px}
.gallery-item{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);background:#0d0d10}
.gallery-item img{transition:transform .55s ease,filter .55s ease}.gallery-item:hover img{transform:scale(1.035);filter:contrast(1.06)}
.gallery-item figcaption{position:absolute;left:18px;bottom:16px;background:rgba(4,4,6,.66);backdrop-filter:blur(10px);padding:9px 11px;text-transform:uppercase;font-size:.6rem;letter-spacing:.15em}
.g1{grid-row:span 2}.g2{grid-column:2}.g3{grid-column:3}.g4{grid-column:2}.g5{grid-column:3}
.g1 img{object-position:center top}.g2 img{object-position:center 15%}.g4 img{object-position:center}.g5 img{object-position:center}
.visual-card{background:radial-gradient(circle at 50% 100%,#2f0556 0,#11091e 44%,#09090c 100%);isolation:isolate}
.visual-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.025) 39px 40px);opacity:.45}
.visual-card span{position:absolute;left:18px;bottom:16px;z-index:3;font-size:.62rem;letter-spacing:.18em}
.laser{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--accent),white);transform-origin:left center;filter:drop-shadow(0 0 6px var(--accent));z-index:1}.laser-1{width:80%;left:5%;top:18%;transform:rotate(17deg)}.laser-2{width:90%;left:3%;top:52%;transform:rotate(-13deg)}.laser-3{width:70%;left:16%;top:8%;transform:rotate(42deg)}
.crowd{position:absolute;inset:auto 0 0;height:43%;display:flex;align-items:flex-end;justify-content:space-around;z-index:2}.crowd i{display:block;width:11%;height:46%;border-radius:50% 50% 15% 15%;background:#040406;box-shadow:0 25px 0 6px #040406}.crowd i:nth-child(2){height:60%}.crowd i:nth-child(3){height:35%}.crowd i:nth-child(4){height:68%}.crowd i:nth-child(5){height:51%}.crowd i:nth-child(6){height:72%}.crowd i:nth-child(7){height:42%}
.contact{border-top:1px solid var(--line)}
.contact-panel{display:grid;grid-template-columns:1.1fr .8fr;gap:80px;align-items:end;padding:62px 0;border-bottom:1px solid var(--line)}
.contact h2{font-family:Manrope,Inter,sans-serif;font-size:clamp(3.2rem,6vw,6.5rem);line-height:.88;letter-spacing:-.06em;font-weight:300;margin:0}
.contact-copy{color:#b9b5bf;line-height:1.7}.contact-copy .btn{margin-top:24px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px;max-width:980px}
.contact-form label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#aaa6b1}.contact-form label:nth-child(3){grid-column:1/-1}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:10px;background:#0b0b0e;color:#fff;border:1px solid var(--line);padding:15px 16px;font:inherit;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(238,0,255,.6);box-shadow:0 0 0 3px rgba(238,0,255,.07)}
.contact-form .btn{justify-self:start}.form-note{margin:2px 0 0;color:#6f6b76;font-size:.68rem;line-height:1.5;max-width:420px}
.footer{max-width:var(--max);margin:auto;padding:30px 32px 42px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;color:#8d8993;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.footer-brand span{color:#ddd}.footer-quote{color:#c6c2cb}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:980px){
  .site-header{height:68px;padding:0 20px}.nav{position:fixed;inset:68px 0 auto 0;display:flex;flex-direction:column;gap:0;background:rgba(7,7,9,.98);border-bottom:1px solid var(--line);padding:14px 22px 24px;transform:translateY(-140%);transition:.3s}.nav.open{transform:none}.nav a{padding:17px 0}.nav a:after{bottom:10px}.menu-toggle{display:block}.brand-mark{width:36px;height:36px}
  .hero{min-height:auto;padding:108px 20px 48px;grid-template-columns:1fr;gap:34px}.hero-copy{padding:0;order:2}.hero-image{order:1;height:66svh;min-height:470px}.hero-side-note{display:none}.scroll-cue{display:none}
  .section{padding:90px 20px}.section-heading{display:block;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2{text-align:left}
  .about-grid{grid-template-columns:1fr;gap:45px}.about-art{grid-template-columns:1.25fr .75fr}.art-card-main{height:460px}.art-card-detail{height:330px}
  .service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:250px}
  .statement{grid-template-columns:1fr;padding:70px 20px}.statement-line{display:none}.statement p{position:static;transform:none}.statement h2{white-space:normal}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:250px}.g1{grid-row:span 2}.g2,.g3,.g4,.g5{grid-column:auto}
  .contact-panel{grid-template-columns:1fr;gap:36px}.footer{grid-template-columns:1fr;justify-items:start}
}
@media (max-width:620px){
  .hero h1{font-size:clamp(4.4rem,25vw,7rem)}.role-line{line-height:1.75}.hero-image{height:58svh;min-height:420px}.hero-image figcaption{display:none}
  .about-art{grid-template-columns:1fr}.art-card-main{height:390px}.art-card-detail{height:250px}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:220px}
  .gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:330px}.g1{grid-row:auto}.g2,.g3,.g4,.g5{grid-column:auto}.g3{min-height:260px}
  .contact-form{grid-template-columns:1fr}.contact-form label:nth-child(3){grid-column:auto}.contact h2{font-size:clamp(2.8rem,16vw,4.8rem)}
  .footer p{line-height:1.6}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-card,.gallery-item img{transition:none}}

/* Language switch */
.header-actions{display:flex;align-items:center;gap:16px}
.language-switch{display:flex;align-items:center;gap:7px;font-size:.68rem;letter-spacing:.12em;color:#77727d;text-transform:uppercase;white-space:nowrap}
.lang-btn{appearance:none;border:0;background:transparent;color:#77727d;padding:8px 2px;font:inherit;letter-spacing:inherit;cursor:pointer;transition:color .2s ease,text-shadow .2s ease}
.lang-btn:hover,.lang-btn.active{color:#fff;text-shadow:0 0 16px rgba(238,0,255,.65)}
.lang-btn.active{color:var(--accent)}
.language-switch span{opacity:.45}
.scroll-cue b{color:var(--accent);margin-left:10px;font-weight:400}

@media (max-width:980px){
  .header-actions{gap:8px}
  .language-switch{gap:5px;font-size:.64rem}
  .lang-btn{padding:10px 2px}
}

.section-heading h2 .plain-title,.statement h2 .plain-title,.contact h2 .plain-title{color:inherit}
