:root{--ink:#151515;--muted:#73736d;--paper:#f3f0e8;--acid:#d8ff42;--line:#cbc9c0;--coral:#ff775d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.5}.grain{position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:10;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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;background:rgba(243,240,232,.9);backdrop-filter:blur(12px);z-index:5}.wordmark{font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.06em;font-size:20px}.wordmark span{color:var(--coral);padding:0 3px}.nav{display:flex;gap:28px}.nav a,.status,.micro,.tag,.year,.index,.date,.place,.tiny,.contact-links span,.footer{font:500 10px/1.2 'DM Mono',monospace;letter-spacing:.12em}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a.active{color:var(--ink)}.status{color:var(--ink);text-decoration:none}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#80bf65;margin-right:8px}.hero{min-height:640px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:90px 0 100px}.eyebrow{font:500 10px 'DM Mono',monospace;letter-spacing:.14em;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,calc(8 * var(--layout-vw, 1vw)),108px);line-height:.93;letter-spacing:-.08em;margin:25px 0 32px;font-weight:700}h1 em,h2 em,.big-line em{font-family:Georgia,serif;font-weight:400;color:#777;letter-spacing:-.06em}.intro{color:#5e5d57;max-width:480px;font-size:15px}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:36px}.button{text-decoration:none;font-size:12px;font-weight:700}.button.primary{background:var(--ink);color:var(--paper);padding:15px 18px}.button.primary span{color:var(--acid);margin-left:22px}.button.text{color:var(--ink)}.button.text span{color:var(--coral);margin-left:8px}.hero-art{height:390px;position:relative;overflow:hidden;background:var(--acid);border-radius:50% 45% 48% 52%;transform:rotate(-7deg)}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-a{width:210px;height:210px;right:10%;top:15%;background:var(--coral);box-shadow:0 0 70px 20px #ffb15d}.orb-b{width:100px;height:100px;left:14%;bottom:10%;background:#fbffdf}.orbit{position:absolute;border:1px solid rgba(21,21,21,.35);border-radius:50%;width:75%;height:38%;left:13%;top:31%;transform:rotate(35deg)}.orbit-two{width:55%;height:70%;left:23%;top:16%;transform:rotate(-33deg)}.art-label{position:absolute;font:500 10px 'DM Mono',monospace;letter-spacing:.1em}.label-one{top:24%;left:10%}.label-two{right:7%;bottom:18%}.hero-stamp{position:absolute;bottom:12%;left:39%;font:800 42px/.8 Manrope;letter-spacing:-.1em}.hero-stamp span{font:500 9px/1.2 'DM Mono';letter-spacing:.12em;display:block;margin-top:14px}.section{padding:100px 0}.section.alt{background:var(--ink);color:var(--paper)}.section-head{display:flex;align-items:center;gap:18px;margin-bottom:52px}.section-head h2{font-size:38px;letter-spacing:-.07em;margin:0}.rule{height:1px;background:var(--line);flex:1}.alt .rule{background:#444}.micro{color:var(--muted);white-space:nowrap}.index{color:var(--coral)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.work-card{background:var(--paper);padding:30px;min-height:350px;display:flex;flex-direction:column}.work-card.featured{background:var(--acid)}.card-top,.card-footer{display:flex;justify-content:space-between;align-items:center}.tag{color:var(--muted)}.year{color:var(--muted)}.work-card h3{font-size:48px;letter-spacing:-.08em;margin:60px 0 4px}.card-sub{font-family:Georgia,serif;font-size:18px;line-height:1.2;max-width:390px}.work-card>p:not(.card-sub){color:#64635c;max-width:440px;font-size:13px}.card-footer{margin-top:auto;padding-top:32px;border-top:1px solid rgba(21,21,21,.18);font:500 10px 'DM Mono';letter-spacing:.1em}.small{min-height:260px}.small h3{margin-top:34px}.timeline{border-top:1px solid #454545}.timeline-row{display:grid;grid-template-columns:150px 1fr 120px;gap:30px;padding:26px 0;border-bottom:1px solid #454545;align-items:start}.date,.place{color:#aaa}.timeline-row h3{font-size:20px;letter-spacing:-.04em;margin:0 0 5px}.timeline-row p{color:#aaa;font-size:13px;margin:0}.place{text-align:right}.placeholder-section{padding-bottom:80px}.placeholder{min-height:240px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--muted)}.placeholder-mark{font-size:42px;color:var(--coral)}.placeholder p{font-family:Georgia,serif;font-size:25px;margin:0}.life-section{background:var(--coral);padding:100px 0}.life-section .rule{background:rgba(21,21,21,.3)}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.big-line{font-size:64px;line-height:.96;letter-spacing:-.08em;margin:0}.life-copy>p:last-child{max-width:360px;margin-top:32px}.life-pills{display:flex;align-content:center;flex-wrap:wrap;gap:10px}.life-pills span{padding:12px 15px;border:1px solid var(--ink);border-radius:30px;font:500 10px 'DM Mono';letter-spacing:.1em;height:max-content}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:140px 0}.contact h2{font-size:74px;line-height:.9;letter-spacing:-.08em;margin:25px 0}.contact-copy>p:last-child{max-width:410px;color:var(--muted)}.contact-links{padding-top:20px}.contact-links a{display:grid;grid-template-columns:80px 1fr 20px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:17px}.contact-links a b{color:var(--coral)}.contact-note{font:500 11px/1.8 'DM Mono';letter-spacing:.08em;color:var(--muted);margin-top:30px}.footer{border-top:1px solid var(--line);padding:25px 0 30px;color:var(--muted);display:flex;justify-content:space-between}.footer a{color:var(--ink);text-decoration:none}@media(max-width:780px){.wrap{width:min(100% - 36px,560px)}.topbar{padding:0 18px}.nav{display:none}.status{font-size:9px}.hero{display:block;padding:70px 0}.hero-art{height:280px;margin-top:60px}.work-grid,.life-grid,.contact{grid-template-columns:1fr}.work-card{min-height:310px}.timeline-row{grid-template-columns:90px 1fr}.place{display:none}.section{padding:70px 0}.section-head{gap:10px}.section-head h2{font-size:30px}.micro{display:none}.big-line{font-size:54px}.contact{gap:40px;padding:90px 0}.contact h2{font-size:60px}.footer{font-size:9px;gap:12px;flex-wrap:wrap}.footer span:nth-child(2){display:none}}

/* Shared page treatment */
body { background: #fff; }
.topbar { background: rgba(255, 255, 255, .94); }
.wordmark { font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; font-weight: 700; letter-spacing: -.045em; }
.section.alt,
.life-section { background: #fff; color: var(--ink); }

.nav { align-items: center; }
.nav-contact { display: inline-block; padding: 11px 17px; background: #151515; color: #fff !important; border-radius: 2px; letter-spacing: .12em; }
.back-home, .back-guide { color: var(--muted) !important; }
.back-home:hover, .back-guide:hover { color: var(--ink) !important; }

.back-home,
.back-guide,
.nav-contact,
.project-highlight,
.tag,
.year,
.micro,
.index,
.date,
.place,
.tiny,
.footer { font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; }

.back-home,
.back-guide,
.nav-contact { font-weight: 700; }

.nav .back-home,
.nav .back-guide,
.nav .nav-contact { font-weight: 800 !important; }

.nav .back-home,
.nav .back-guide,
.nav .nav-contact { font-size: 12px !important; }

.home-page,
.guide-page { position: relative; isolation: isolate; background: #fff; }
.home-page::before,
.guide-page::before,
.home-page::after,
.guide-page::after { content: ''; position: fixed; inset: -18%; pointer-events: none; z-index: -1; }
.home-page::before,
.guide-page::before {
  background:
    radial-gradient(circle at 12% 20%, rgba(190, 224, 255, .42), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(255, 204, 220, .34), transparent 27%),
    radial-gradient(circle at 72% 82%, rgba(215, 205, 255, .28), transparent 31%);
  filter: blur(32px);
  animation: ambient-drift 18s ease-in-out infinite alternate;
}
.home-page::after,
.guide-page::after {
  opacity: .26;
  background-image: linear-gradient(rgba(120, 150, 180, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(120, 150, 180, .08) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}
@keyframes ambient-drift { from { transform: translate3d(-2%, -1%, 0) scale(1); } to { transform: translate3d(2%, 1%, 0) scale(1.06); } }
@media (prefers-reduced-motion: reduce) { .home-page::before, .guide-page::before { animation: none; } }

.home-page::before,
.guide-page::before {
  background:
    radial-gradient(circle at 12% 20%, rgba(225, 216, 249, .42), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(255, 204, 220, .34), transparent 27%),
    radial-gradient(circle at 72% 82%, rgba(246, 225, 218, .28), transparent 31%);
}

.home-page,
.guide-page { background: #fff; }
.home-page::before,
.guide-page::before,
.home-page::after,
.guide-page::after { display: none; }

/* Guide return links sit above page titles, matching project return links. */
.content-back { display: inline-block; margin-bottom: 22px; color: #777; text-decoration: none; font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; font-size: 15px; font-weight: 600; transition: color .2s; }
.content-back:hover { color: #dd8294; }
.content-back:focus-visible { outline: 2px solid #e58ba2; outline-offset: 4px; }
.page-back-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-bottom: 22px; }
.page-back-links a { margin: 0; }
@media (prefers-reduced-motion: reduce) { .content-back { transition: none; } }
