:root { --ink:#12151c; --paper:#f1eee7; --acid:#d7ff50; --coral:#ff5b47; --cobalt:#4858ff; --line:rgba(18,21,28,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans', sans-serif; }
a { color:inherit; text-decoration:none; }
.site-shell { max-width:1440px; margin:0 auto; overflow:hidden; }
.topbar { height:88px; padding:0 5.5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { display:flex; align-items:baseline; gap:8px; font-family:'DM Mono', monospace; font-size:18px; letter-spacing:-.06em; }
.wordmark span { font-weight:500; }.wordmark i { font-family:'Playfair Display', serif; font-size:15px; letter-spacing:0; }
.nav-links { display:flex; align-items:center; gap:32px; font-family:'DM Mono', monospace; font-size:11px; text-transform:uppercase; }.nav-links a:hover,.text-link:hover { color:var(--coral); }.arrow { font-size:15px; }
.menu-toggle { display:none; border:0; background:none; width:38px; padding:5px; }.menu-toggle span { display:block; height:1px; background:var(--ink); margin:6px 0; }
.hero { min-height:690px; padding:78px 5.5vw 90px; display:grid; grid-template-columns:1fr 1.1fr; gap:5vw; position:relative; }
.eyebrow { font:11px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.02em; margin:0 0 34px; }.status-dot { display:inline-block; width:7px; height:7px; margin-right:8px; background:var(--coral); border-radius:50%; }
h1,h2 { font-weight:500; letter-spacing:-.07em; line-height:.87; margin:0; font-size:clamp(68px,10.5vw,150px); }.hero h1 { max-width:660px; }.hero h1 em,h2 em { font-family:'Playfair Display',serif; font-weight:600; letter-spacing:-.08em; }
.hero-intro { max-width:305px; font-size:15px; line-height:1.45; margin:43px 0 35px; }.text-link { border-bottom:1px solid var(--ink); padding-bottom:7px; font:12px 'DM Mono',monospace; text-transform:uppercase; }.text-link span { margin-left:26px; font-size:16px; }
.hero-art { min-height:475px; position:relative; overflow:hidden; background:#d5d1c8; background-image:url('https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=1200&q=85'); background-size:cover; background-position:center 28%; isolation:isolate; }.hero-art:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.2)); z-index:-1; }
.sun-disc { width:220px; height:220px; position:absolute; top:-55px; right:-35px; border-radius:50%; background:var(--acid); mix-blend-mode:multiply; }.sculpture { position:absolute; width:170px; height:290px; background:var(--coral); border-radius:90px 90px 5px 5px; left:18%; bottom:-72px; transform:rotate(20deg); mix-blend-mode:multiply; }.art-grid { position:absolute; inset:15% 20%; border:1px solid rgba(255,255,255,.6); background:linear-gradient(90deg,transparent 49.5%,rgba(255,255,255,.5) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(255,255,255,.5) 50%,transparent 50.5%); }.art-caption { position:absolute; z-index:2; top:18px; left:18px; right:18px; display:flex; justify-content:space-between; color:#fff; font:10px 'DM Mono',monospace; text-transform:uppercase; }.art-stamp { position:absolute; right:20px; bottom:18px; color:#fff; font:11px 'DM Mono',monospace; text-align:center; border:1px solid #fff; width:48px; height:48px; padding-top:6px; line-height:16px; }.art-stamp b { font-size:16px; }
.hero-note { position:absolute; right:5.5vw; bottom:33px; font:10px 'DM Mono',monospace; text-transform:uppercase; line-height:1.5; }.hero-note strong { font-weight:400; color:var(--coral); }
.marquee { background:var(--acid); overflow:hidden; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:16px 0; }.marquee-track { display:flex; white-space:nowrap; align-items:center; justify-content:space-around; width:130%; margin-left:-15%; font:16px 'DM Mono',monospace; text-transform:uppercase; }.marquee b { font-size:23px; font-weight:400; }
.work-section,.about-section { padding:140px 5.5vw; }.section-heading { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:68px; }.section-heading .eyebrow { margin-top:8px; }.section-heading h2 { font-size:clamp(64px,8.4vw,120px); width:57%; }
.filter-bar { display:flex; gap:10px; border-bottom:1px solid var(--line); padding-bottom:15px; margin-bottom:34px; }.filter { color:var(--ink); border:1px solid transparent; background:none; font:11px 'DM Mono',monospace; text-transform:uppercase; padding:9px 14px; cursor:pointer; }.filter.active,.filter:hover { border-color:var(--ink); background:var(--ink); color:var(--paper); }.filter sup { font-size:9px; margin-left:3px; }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:75px 24px; }.project-card.wide { grid-column:span 2; }.project-image { display:block; height:395px; overflow:hidden; position:relative; }.wide .project-image { height:515px; }.project-number,.project-arrow { position:absolute; z-index:2; top:18px; font:11px 'DM Mono',monospace; }.project-number { left:18px; }.project-arrow { right:18px; font-size:20px; }.project-meta { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid var(--line); padding:13px 0 15px; }.project-meta h3 { font-size:18px; font-weight:500; margin:0; letter-spacing:-.04em; }.project-meta p { font:10px 'DM Mono',monospace; text-transform:uppercase; margin:0; }
.project-aurora { background:#d3a990; }.aurora-shape { position:absolute; width:57%; height:130%; left:23%; top:-15%; border-radius:50%; background:#f6e8c9; transform:rotate(24deg); }.aurora-shape:after { content:''; position:absolute; inset:15%; border:1px solid var(--coral); border-radius:50%; }.aurora-type { position:absolute; z-index:1; left:8%; bottom:10%; font:clamp(56px,9vw,130px) 'Playfair Display',serif; line-height:.75; letter-spacing:-.08em; }.aurora-type small { font:11px 'DM Mono',monospace; letter-spacing:0; }.project-mono { background:#d6d2ca; }.mono-type { position:absolute; top:37%; left:12%; font:clamp(40px,5vw,72px) 'DM Mono',monospace; letter-spacing:-.15em; line-height:.8; }.mono-type i { font-family:'Playfair Display',serif; letter-spacing:-.06em; }.mono-line { position:absolute; height:45%; width:1px; background:var(--coral); right:20%; top:28%; transform:rotate(35deg); }.project-red { background:var(--coral); color:var(--paper); }.red-object { position:absolute; font:360px 'Playfair Display',serif; line-height:1; left:19%; top:10%; color:var(--ink); }.red-copy { position:absolute; right:18px; bottom:18px; font:11px 'DM Mono',monospace; text-align:right; }.project-cobalt { background:var(--cobalt); color:var(--acid); }.cobalt-copy { position:absolute; left:8%; top:16%; font:clamp(75px,12vw,180px) 'DM Mono',monospace; letter-spacing:-.18em; line-height:.8; }.cobalt-copy em { font-family:'Playfair Display',serif; }.cobalt-star { position:absolute; font-size:150px; right:12%; bottom:0; color:var(--coral); }
.about-section { display:grid; grid-template-columns:1fr 1.1fr; gap:7vw; background:var(--ink); color:var(--paper); }.about-section .section-heading { display:block; }.about-section .section-heading h2 { width:100%; }.about-copy { padding-top:45px; max-width:520px; }.large-copy { font-size:29px; line-height:1.15; letter-spacing:-.05em; margin:0 0 55px; }.about-copy > p:not(.large-copy) { max-width:390px; font-size:15px; line-height:1.5; margin-bottom:50px; }.about-copy .text-link { border-color:var(--paper); }
.contact-section { padding:140px 5.5vw 36px; background:var(--acid); }.contact-section .eyebrow { margin-bottom:80px; }.contact-section h2 { font-size:clamp(64px,11vw,160px); }.contact-email { display:block; font:clamp(18px,2.4vw,30px) 'DM Mono',monospace; border-bottom:1px solid var(--ink); padding:75px 0 17px; }.contact-email span { float:right; }.contact-footer { display:flex; justify-content:space-between; padding-top:16px; font:10px 'DM Mono',monospace; text-transform:uppercase; }
.project-card.is-hidden { display:none; }
@media (max-width:700px) { .topbar { height:70px; padding:0 6vw; }.nav-links { position:absolute; display:none; top:70px; left:0; right:0; z-index:5; padding:22px 6vw; background:var(--acid); border-bottom:1px solid var(--ink); flex-direction:column; align-items:flex-start; gap:17px; }.nav-links.open { display:flex; }.menu-toggle { display:block; }.hero { display:block; min-height:0; padding:56px 6vw 80px; }.hero h1 { font-size:73px; }.hero-intro { margin-top:35px; }.hero-art { min-height:360px; margin-top:56px; }.hero-note { position:static; margin-top:20px; }.section-heading { display:block; margin-bottom:50px; }.section-heading h2 { width:100%; font-size:67px; }.section-heading .eyebrow { margin-bottom:45px; }.work-section,.about-section { padding:90px 6vw; }.filter-bar { overflow:auto; padding-bottom:12px; }.filter { white-space:nowrap; padding-left:11px; padding-right:11px; }.project-grid { display:block; }.project-card,.project-card.wide { margin-bottom:56px; }.project-image,.wide .project-image { height:350px; }.about-section { display:block; }.about-copy { padding-top:0; }.large-copy { font-size:27px; margin-top:20px; }.contact-section { padding:95px 6vw 28px; }.contact-section .eyebrow { margin-bottom:65px; }.contact-footer { flex-wrap:wrap; gap:13px; }.contact-footer span:last-child { width:100%; } }