:root{--ink:#14111b;--paper:#f5f3f8;--purple:#5e2ca5;--acid:#d9ff54;--line:rgba(20,17,27,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue","Arial Nova",Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.site-header{position:fixed;z-index:50;inset:0 0 auto;height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(22px,4vw,72px);color:#fff;border-bottom:1px solid rgba(255,255,255,.16);background:rgba(28,13,45,.72);backdrop-filter:blur(18px)}
.brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.14em;width:fit-content}.brand img{width:40px;height:40px;border-radius:50%;object-fit:cover}.site-header nav{display:flex;gap:34px;font-size:.88rem}.site-header nav a{opacity:.76;transition:opacity .2s}.site-header nav a:hover{opacity:1}.header-cta{justify-self:end;font-size:.88rem;font-weight:650}
.hero{min-height:100svh;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:5vw;padding:130px clamp(24px,7vw,128px) 80px;color:#fff;background:radial-gradient(circle at 82% 45%,rgba(210,64,165,.35),transparent 28%),linear-gradient(126deg,#170d22 0%,#2b1248 48%,#4b1772 100%)}
.hero:before{content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(to right,#000,transparent 78%)}
.hero-copy,.hero-visual{position:relative;z-index:2}.hero-copy{max-width:820px}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 26px;font-size:.72rem;font-weight:700;letter-spacing:.18em}.eyebrow span{width:42px;height:2px;background:var(--acid)}.eyebrow.dark span{background:var(--purple)}
.hero h1,.section-heading h2,.about h2,.contact h2{margin:0;font-size:clamp(3.7rem,7.1vw,8.3rem);line-height:.84;letter-spacing:-.075em;font-weight:760}.hero h1 em,.section-heading h2 em,.about h2 em{color:var(--acid);font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}.hero-lead{max-width:660px;margin:38px 0 0;color:rgba(255,255,255,.7);font-size:clamp(1.05rem,1.4vw,1.28rem)}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}.button{display:inline-flex;padding:16px 21px;font-weight:700;border-radius:2px;background:var(--acid);color:var(--ink);transition:transform .2s}.button:hover{transform:translateY(-2px)}.text-link{font-size:.92rem;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:6px}
.hero-visual{aspect-ratio:1;display:grid;place-items:center}.logo-stage{width:min(70%,390px);position:relative;filter:drop-shadow(0 30px 48px rgba(0,0,0,.36));animation:float 7s ease-in-out infinite}.logo-stage img{position:relative;z-index:2;width:100%;border-radius:50%;border:12px solid rgba(255,255,255,.1)}.orbit{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%}.orbit-one{width:86%;height:86%}.orbit-two{width:112%;height:54%;transform:rotate(-22deg)}
.experience-card{position:absolute;z-index:3;top:5%;right:-4%;padding:15px 19px;color:var(--ink);background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.2);transform:rotate(-3deg)}.experience-card strong{display:block;font-size:2rem;line-height:1;letter-spacing:-.05em}.experience-card span{display:block;margin-top:4px;font-size:.72rem;line-height:1.35;text-transform:uppercase;letter-spacing:.07em}.service-chip{position:absolute;z-index:3;bottom:9%;left:-3%;padding:12px 15px;background:rgba(18,11,29,.84);border:1px solid rgba(255,255,255,.18);font-size:.8rem;letter-spacing:.04em}
@keyframes float{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(2deg) translateY(-12px)}}
.section{padding:clamp(84px,10vw,150px) clamp(24px,7vw,128px)}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;column-gap:9vw;align-items:end;margin-bottom:74px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2,.about h2{font-size:clamp(3rem,5.2vw,6.3rem);line-height:.94}.section-heading h2 em,.about h2 em{color:var(--purple)}.section-heading>p:last-child{margin:0 0 8px;font-size:1.08rem;color:#615d69;max-width:420px}
.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:54px 52px 1.1fr 1fr 30px;align-items:center;gap:24px;min-height:136px;border-bottom:1px solid var(--line);transition:color .25s,padding .25s,background .25s}.service-row:hover{color:#fff;padding-inline:24px;background:var(--purple)}.service-number{align-self:start;margin-top:25px;font-size:.7rem;letter-spacing:.12em;opacity:.5}.service-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.72rem;font-weight:800}.service-row h3{margin:0;font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.035em}.service-row p{margin:0;color:#6e6975;font-size:.95rem}.service-row:hover p{color:rgba(255,255,255,.7)}.service-arrow{opacity:.35}
.about{position:relative;overflow:hidden;color:#fff;background:#17111f}.about:after{content:"";position:absolute;width:700px;height:700px;right:-390px;bottom:-390px;border:1px solid rgba(211,65,161,.35);border-radius:50%;box-shadow:0 0 0 90px rgba(211,65,161,.03),0 0 0 180px rgba(211,65,161,.02)}.about-main{position:relative;z-index:2}.about h2{max-width:1000px}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;margin-top:70px}.about-intro{margin:0;font-size:clamp(1.35rem,2.2vw,2.15rem);line-height:1.35;letter-spacing:-.02em}.about-copy{color:rgba(255,255,255,.6)}.about-copy p{margin:0 0 20px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:66px;padding-top:28px;border-top:1px solid rgba(255,255,255,.15)}.principles span{display:flex;gap:18px;align-items:center;font-size:.88rem}.principles b{color:var(--acid);font-size:.68rem;letter-spacing:.12em}
.work{background:#fff}.work-heading{grid-template-columns:1fr}.work-grid{display:grid;grid-template-columns:1.05fr .72fr .6fr;gap:22px;align-items:stretch}.work-card{position:relative;overflow:hidden;min-height:520px;background:#2d193f}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s}.work-card.tall img{object-position:center 28%}.work-card:hover img{transform:scale(1.035);filter:saturate(1.08)}.work-overlay{position:absolute;inset:auto 0 0;padding:80px 28px 28px;color:#fff;background:linear-gradient(transparent,rgba(13,8,19,.86))}.work-overlay span{font-size:.65rem;letter-spacing:.17em}.work-overlay h3{margin:10px 0 0;max-width:430px;font-size:1.5rem;line-height:1.15}.work-note{display:flex;flex-direction:column;justify-content:space-between;padding:32px;color:#fff;background:var(--purple)}.note-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-family:Georgia,serif;font-size:2rem;font-style:italic}.work-note p{margin:auto 0;font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.08;letter-spacing:-.035em}.work-note p strong{color:var(--acid);font-family:Georgia,serif;font-weight:400;font-style:italic}.work-note a{padding-top:20px;border-top:1px solid rgba(255,255,255,.3);font-size:.86rem}
.contact{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1.25fr;align-items:center;min-height:650px;color:#fff;background:linear-gradient(120deg,#311450,#5e2ca5 62%,#7434a9)}.contact-mark{font-size:clamp(7rem,18vw,19rem);line-height:.7;letter-spacing:-.11em;font-weight:800;opacity:.06;transform:rotate(-90deg) translateY(-8%)}.contact-content{position:relative;z-index:2;max-width:760px}.contact h2{font-size:clamp(3.6rem,6.4vw,7.2rem)}.contact-content>p:not(.eyebrow){max-width:600px;color:rgba(255,255,255,.66);font-size:1.06rem}.contact-mail{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:38px;padding:19px 0;border-top:1px solid rgba(255,255,255,.32);border-bottom:1px solid rgba(255,255,255,.32);font-size:clamp(1rem,1.7vw,1.4rem)}
footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;min-height:115px;padding:24px clamp(24px,7vw,128px);background:#110d17;color:#fff}footer .brand img{width:34px;height:34px}footer>p{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}.footer-links{justify-self:end;display:flex;gap:24px;font-size:.78rem;color:rgba(255,255,255,.65)}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:145px}.hero-visual{width:min(580px,90vw);justify-self:center}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{margin-top:28px}.service-row{grid-template-columns:46px 1fr 30px;padding:26px 0}.service-icon{grid-row:span 2}.service-number{display:none}.service-row p{grid-column:2}.service-arrow{grid-row:1/span 2;grid-column:3}.work-grid{grid-template-columns:1fr 1fr}.work-note{grid-column:1/-1;min-height:320px}.contact{grid-template-columns:1fr}.contact-mark{display:none}}
@media(max-width:680px){.site-header{height:68px;padding-inline:18px}.brand img{width:36px;height:36px}.brand span{font-size:.86rem}.header-cta{font-size:.78rem}.hero{min-height:auto;padding:116px 22px 74px;gap:52px}.hero h1{font-size:clamp(3.25rem,16vw,5.3rem)}.hero-lead{margin-top:28px}.hero-actions{align-items:flex-start;flex-direction:column;gap:21px}.hero-visual{width:100%}.experience-card{right:0}.service-chip{left:0}.section{padding:82px 22px}.section-heading{margin-bottom:48px}.section-heading h2,.about h2{font-size:clamp(2.8rem,13vw,4.7rem)}.service-row{grid-template-columns:44px 1fr;gap:16px}.service-arrow{display:none}.service-row h3,.service-row p{grid-column:2}.service-row:hover{padding-inline:14px}.about-grid{grid-template-columns:1fr;gap:28px;margin-top:48px}.principles{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr}.work-card{min-height:470px}.work-card.tall{min-height:590px}.work-note{grid-column:auto;min-height:340px}.contact{min-height:580px}.contact h2{font-size:clamp(3.3rem,15vw,5.6rem)}.contact-mail{font-size:.94rem}footer{grid-template-columns:1fr auto}footer>p{display:none}.footer-links a:first-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Shared navigation: keep every destination available on smaller screens. */
html{scroll-padding-top:100px}
.site-header nav a[aria-current="page"]{opacity:1;color:var(--acid)}
a:focus-visible{outline:2px solid var(--purple);outline-offset:5px}
.site-header a:focus-visible,.hero a:focus-visible,.contact a:focus-visible,footer a:focus-visible{outline-color:var(--acid)}
.skip-link{position:fixed;z-index:100;top:8px;left:18px;padding:12px 18px;background:var(--acid);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
@media(max-width:980px){
  html{scroll-padding-top:124px}
  .site-header{height:108px;grid-template-rows:64px 44px}
  .site-header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;gap:clamp(16px,4vw,34px);font-size:.8rem;align-self:stretch;align-items:center;border-top:1px solid #ffffff1a}
  .site-header .header-cta{grid-column:2;grid-row:1}
}
@media(max-width:680px){.hero{padding-top:150px}}

/* Shared navigation and footer additions. Links remain available without JS. */
.menu-toggle{display:none;font:inherit;color:inherit;background:transparent;border:1px solid #ffffff60;border-radius:2px;padding:9px 12px;cursor:pointer}
.menu-toggle:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
footer{grid-template-columns:auto 1fr}
footer>p{justify-self:end}
.footer-links{grid-column:1/-1;justify-self:stretch;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px}
@media(max-width:1100px) and (min-width:981px){.site-header nav{gap:20px}}
@media(max-width:980px){
  .site-header nav{flex-wrap:wrap;gap:8px 22px;font-size:.8rem}
  .site-header.menu-ready{height:78px;grid-template-columns:1fr auto auto;grid-template-rows:78px;gap:18px}
  .menu-ready .menu-toggle{display:block;grid-column:3;grid-row:1}
  .menu-ready nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px;max-height:calc(100dvh - 78px);overflow-y:auto;background:#21112f;border-bottom:1px solid #ffffff26}
  .menu-ready.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .menu-ready nav a{display:block;padding:13px 10px;font-size:1rem}
}
@media(max-width:680px){
  .site-header.menu-ready{height:68px;grid-template-rows:68px;gap:10px}
  .menu-ready nav{max-height:calc(100dvh - 68px)}
  .site-header .header-cta{font-size:.7rem}
  .site-header nav{gap:5px 12px;font-size:.72rem}
  .footer-links{justify-content:flex-start}
  .footer-links a:first-child{display:inline}
}
@media(max-width:360px){.site-header .header-cta{display:none}.site-header.menu-ready{grid-template-columns:1fr auto}.menu-ready .menu-toggle{grid-column:2}}
