*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f2ed;color:#111;font-family:Inter,Arial,sans-serif;font-weight:300}.topbar{position:fixed;inset:0 0 auto;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;color:#fff;mix-blend-mode:difference}.topbar a,.topbar button{color:inherit;text-decoration:none}.wordmark{font-size:18px;letter-spacing:.16em}.topbar nav{display:flex;gap:18px;align-items:center;font:11px 'DM Mono',monospace;letter-spacing:.08em}.topbar button{border:0;background:none;font:inherit}.hero{position:relative;height:100svh;min-height:650px;overflow:hidden;background:#1a2430;color:#fff}.hero-video,.hero-fallback,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-video{object-fit:cover;z-index:0}.hero-fallback{z-index:0;background:radial-gradient(circle at 22% 25%,#586a7b 0,transparent 28%),radial-gradient(circle at 80% 70%,#292f37 0,transparent 35%),linear-gradient(130deg,#071018,#3e4b59 55%,#111)}.orbit{position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%}.orbit-a{width:70vw;height:70vw;left:-18vw;top:10vh;animation:spin 20s linear infinite}.orbit-b{width:50vw;height:50vw;right:-15vw;bottom:-15vw;animation:spin 14s linear infinite reverse}.scan{position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 4px,rgba(255,255,255,.018) 5px 6px)}.hero-overlay{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.12) 55%,rgba(0,0,0,.4))}.hero-copy{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:90%;text-align:center}.kicker{font:10px 'DM Mono',monospace;letter-spacing:.18em}.hero h1{margin:.05em 0;font-weight:300;font-size:clamp(88px,22vw,340px);line-height:.78;letter-spacing:-.07em}.hero-note{font:10px 'DM Mono',monospace;letter-spacing:.15em}.scroll-cue{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff;text-decoration:none;font:10px 'DM Mono',monospace;letter-spacing:.1em}.statement{padding:11vw 6vw 12vw}.statement p{margin:0;max-width:1200px;font-size:clamp(34px,6vw,92px);line-height:.98;letter-spacing:-.045em}.statement span{display:block;color:#6d6f70;font-family:'Playfair Display',serif;font-style:italic}.work{padding:0 22px 80px}.section-head{display:flex;justify-content:space-between;border-top:1px solid #151515;padding:10px 0 18px;font:10px 'DM Mono',monospace}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 16px}.project-card{color:#111;text-decoration:none}.project-card.wide{grid-column:span 2}.project-media{aspect-ratio:4/5;overflow:hidden;display:grid;place-items:center}.wide .project-media{aspect-ratio:16/8.5}.project-media span{font-size:clamp(80px,18vw,260px);letter-spacing:-.08em;opacity:.85}.p1{background:linear-gradient(125deg,#dcd8d0,#949ea8)}.p2{background:linear-gradient(150deg,#ebe9e4,#a4978e)}.p3{background:linear-gradient(135deg,#20232a,#a9b2ba);color:#f4f2ed}.p4{background:linear-gradient(90deg,#c9c7c2,#494d53);color:#fff}.p5{background:linear-gradient(135deg,#e3d9d0,#7d7772)}.p6{background:linear-gradient(120deg,#b5bcc4,#eef0ed)}.project-meta{display:flex;justify-content:space-between;padding-top:9px;font:10px 'DM Mono',monospace}.marquee{overflow:hidden;border-top:1px solid #111;border-bottom:1px solid #111;padding:14px 0;font:13px 'DM Mono',monospace;white-space:nowrap}.marquee div{display:inline-block;animation:marquee 18s linear infinite}.about{padding:100px 22px 120px}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px}.about h2{margin:0;font-size:clamp(56px,9vw,150px);line-height:.84;font-weight:300;letter-spacing:-.065em}.about-copy{font-size:18px;line-height:1.45;max-width:620px}.about-copy .small{font:11px 'DM Mono',monospace;text-transform:uppercase}.contact{min-height:75vh;background:#111;color:#f4f2ed;padding:28px 22px;display:flex;flex-direction:column;justify-content:flex-end}.contact>p:first-child{font:10px 'DM Mono',monospace;margin:auto 0}.contact a{color:inherit;text-decoration:none;font-size:clamp(44px,9vw,140px);letter-spacing:-.055em;line-height:.9}.contact-note{font:11px 'DM Mono',monospace;text-transform:uppercase}footer{padding:15px 22px;display:flex;justify-content:space-between;font:9px 'DM Mono',monospace}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:760px){.topbar{padding:15px}.topbar nav a:nth-child(2){display:none}.statement{padding:28vw 15px}.projects-grid{grid-template-columns:1fr}.project-card.wide{grid-column:auto}.wide .project-media,.project-media{aspect-ratio:4/5}.work,.about,.contact{padding-left:15px;padding-right:15px}.about-grid{grid-template-columns:1fr;gap:55px}.project-meta{flex-direction:column;gap:4px}.contact{min-height:60vh}footer{padding:14px 15px;flex-direction:column;gap:20px}}

/* ELIA custom cursor — filled circle that automatically inverts over any colour */
@media (pointer:fine){
  html,body,a,button{cursor:none}
  .elia-cursor{
    position:fixed;
    top:0;
    left:0;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#fff;
    mix-blend-mode:difference;
    pointer-events:none;
    z-index:99999;
    opacity:0;
    will-change:transform,width,height;
    transition:width .18s ease,height .18s ease,opacity .15s ease;
  }
  .elia-cursor.is-visible{opacity:1}
  .elia-cursor.is-hovering{width:26px;height:26px}
}
@media (pointer:coarse){
  .elia-cursor{display:none}
}
@media (prefers-reduced-motion:reduce){
  .elia-cursor{transition:opacity .15s ease}
}