
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&family=Instrument+Serif:ital@1&display=swap');

:root{
  --paper:#eee9dc; --paper2:#f7f3ea; --ink:#11110f; --acid:#d9ff00;
  --red:#ff3b30; --blue:#405cff; --pink:#ff4fb3; --green:#18b978;
  --orange:#ff7a00; --purple:#8d5cff; --cyan:#00c8ff;
  --line:rgba(17,17,15,.18); --muted:rgba(17,17,15,.62);
  --sans:"Space Grotesk",Arial,sans-serif; --mono:"DM Mono","Courier New",monospace;
  --serif:"Instrument Serif",Georgia,serif; --gap:14px; --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--ink);color:var(--acid)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrapper{max-width:1550px;margin:auto;padding:14px;display:flex;flex-direction:column;gap:14px}
.topline{display:flex;justify-content:space-between;gap:16px;padding:11px 14px;border:1px solid var(--line);font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.site-nav{position:sticky;top:10px;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 16px;border:1px solid var(--ink);background:rgba(238,233,220,.93);backdrop-filter:blur(12px);border-radius:999px}
.nav-brand{font:500 12px/1 var(--mono);text-transform:uppercase}
.nav-links{display:flex;gap:18px;flex-wrap:wrap;font:500 10px/1 var(--mono);text-transform:uppercase}
.nav-links a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;min-height:62vh}
.mast{border:1px solid var(--ink);border-radius:var(--radius);background:#fff;padding:clamp(24px,4vw,58px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
.mast:after{content:"";position:absolute;width:45vw;height:45vw;max-width:600px;max-height:600px;right:-22%;top:-18%;border:70px dotted var(--acid);border-radius:50%;transform:rotate(17deg);opacity:.75}
.mark{position:relative;z-index:2;font:500 12px/1.3 var(--mono);text-transform:uppercase}
.mark strong{display:block;font-size:18px}
.hero-title{position:relative;z-index:2;font-size:clamp(58px,9vw,145px);line-height:.78;letter-spacing:-.075em;font-weight:600;margin:40px 0 22px;max-width:800px}
.hero-title em{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.hero-note{position:relative;z-index:2;max-width:620px;font-size:clamp(18px,2vw,26px);line-height:1.24;margin:0}
.hero-actions{position:relative;z-index:2;display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.button{display:inline-flex;padding:12px 15px;border:1px solid var(--ink);border-radius:999px;font:500 10px/1 var(--mono);text-transform:uppercase;background:var(--paper2)}
.button:hover{background:var(--ink);color:var(--acid)}
.button.primary{background:var(--ink);color:var(--acid)}
.hero-art{border:1px solid var(--ink);border-radius:var(--radius);overflow:hidden;min-height:100%;background:var(--ink);position:relative}
.hero-art .burst{position:absolute;inset:7%;border:1px solid #fff;transform:rotate(-7deg);display:grid;place-items:center}
.hero-art .burst:before{content:"THE CLUBHOUSE";font:700 clamp(40px,8vw,120px)/.72 var(--sans);letter-spacing:-.08em;color:var(--acid);transform:rotate(-12deg);text-align:center}
.hero-art .sticker{position:absolute;background:var(--red);color:#fff;border:1px solid #fff;padding:12px 14px;font:500 11px var(--mono);transform:rotate(9deg);right:8%;bottom:10%}
.section{border:1px solid var(--ink);border-radius:var(--radius);padding:24px;background:var(--paper2)}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:18px}
.eyebrow,.tag{font:500 10px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.section h2{font-size:clamp(34px,5vw,74px);line-height:.9;letter-spacing:-.055em;margin:8px 0}
.section-head p{max-width:500px;margin:0;color:var(--muted);line-height:1.45}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.project-card{border:1px solid var(--ink);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-height:390px}
.project-card .visual{height:210px;position:relative}
.project-card .copy{padding:15px;display:flex;flex-direction:column;gap:8px;flex:1}
.project-card h3{font-size:27px;line-height:.9;letter-spacing:-.05em;margin:0}
.project-card p{font-size:13px;line-height:1.38;color:var(--muted);margin:0}
.project-card .more{margin-top:auto;font:500 10px var(--mono);text-transform:uppercase}
.project-card:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--ink)}
.visual{overflow:hidden;background:var(--ink)}
.visual .generated{position:absolute;inset:0}
.visual .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s}
.visual.has-photo .photo{opacity:1}
.visual.has-photo .generated{display:none}
.evidence{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}
.evidence .statement{border:1px solid var(--ink);border-radius:14px;padding:24px;background:var(--acid)}
.evidence .statement h3{font-size:38px;line-height:.9;letter-spacing:-.05em;margin:8px 0 16px}
.evidence .statement p{line-height:1.5;max-width:700px}
.evidence .facts{border:1px solid var(--ink);border-radius:14px;padding:20px;background:#fff}
.fact{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.fact:last-child{border-bottom:0}.fact b{font:500 10px var(--mono);text-transform:uppercase}
.archive-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.archive-strip .mini{aspect-ratio:1;border:1px solid var(--ink);border-radius:10px;overflow:hidden;position:relative}
.archive-strip .mini .visual{height:100%}
footer{display:flex;justify-content:space-between;gap:18px;padding:18px 4px 30px;font:500 10px/1.4 var(--mono);text-transform:uppercase;border-top:1px solid var(--ink)}
footer a{text-decoration:underline;text-underline-offset:3px}

.page-hero{border:1px solid var(--ink);border-radius:var(--radius);padding:clamp(25px,5vw,70px);background:#fff;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;width:280px;height:280px;border:55px solid var(--acid);border-radius:50%;right:-60px;top:-100px;transform:rotate(21deg)}
.page-hero h1{font-size:clamp(56px,10vw,150px);line-height:.78;letter-spacing:-.08em;margin:16px 0;max-width:1000px}
.page-hero .lede{font-size:clamp(18px,2.2vw,28px);max-width:820px;line-height:1.3;margin:0}
.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:28px;position:relative;z-index:2}
.meta div{border-top:1px solid var(--ink);padding-top:8px}.meta small{display:block;font:500 9px var(--mono);text-transform:uppercase;margin-bottom:5px}.meta span{font-size:13px}
.prose{max-width:900px;font-size:17px;line-height:1.62}.prose h2{font-size:clamp(36px,5vw,70px);line-height:.9;letter-spacing:-.055em}.prose h3{font-size:22px;margin-top:35px}.prose p{max-width:780px}
.project-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.project-page-grid .section{min-height:100%}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gallery .visual{aspect-ratio:4/3;border:1px solid var(--ink);border-radius:10px}
.gallery .visual:nth-child(2){transform:rotate(1.2deg)} .gallery .visual:nth-child(5){transform:rotate(-1deg)}
.gallery-note{font:500 10px/1.5 var(--mono);text-transform:uppercase;color:var(--muted);margin-top:12px}
.photo-instructions{border:1px dashed var(--ink);padding:15px;border-radius:10px;background:rgba(255,255,255,.55);font:500 11px/1.5 var(--mono)}
.timeline{display:grid;gap:10px}.timeline article{display:grid;grid-template-columns:130px 1fr;gap:18px;border-top:1px solid var(--ink);padding:18px 0}.timeline .year{font:500 11px var(--mono);text-transform:uppercase}.timeline h3{font-size:26px;line-height:1;margin:0 0 8px}.timeline p{margin:0;max-width:780px;line-height:1.5}
.callout{border:1px solid var(--ink);border-radius:14px;background:var(--ink);color:#fff;padding:24px}.callout h2{color:var(--acid);margin-top:0}
.link-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

@media(max-width:1000px){.intro{grid-template-columns:1fr}.hero-art{min-height:45vh}.project-grid{grid-template-columns:repeat(2,1fr)}.evidence,.project-page-grid{grid-template-columns:1fr}.archive-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.wrapper{padding:8px}.topline{font-size:8px}.topline span:last-child{display:none}.site-nav{align-items:flex-start;border-radius:15px}.nav-links{gap:10px;justify-content:flex-end}.intro{min-height:0}.mast{min-height:75vh}.hero-title{font-size:17vw}.hero-art{min-height:60vh}.project-grid{grid-template-columns:1fr}.project-card{min-height:330px}.section-head{display:block}.meta{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.timeline article{grid-template-columns:1fr}.archive-strip{grid-template-columns:repeat(2,1fr)}footer{display:grid}}
