:root{--paper:#e9e8e1;--ink:#151716;--muted:#575b56;--line:#15171630;--dark:#101111;--white:#efefe8;--accent:#cfed83;--font-display:"Arial Black","Arial Bold",Arial,sans-serif;--font-body:"Satoshi",Arial,sans-serif;--micro:.75rem;--body:clamp(1rem,.95rem + .2vw,1.125rem);--heading:clamp(2.4rem,5.1vw,5.6rem);--gutter:clamp(20px,4vw,72px);--space:clamp(64px,8vw,128px)}
[data-theme="dark"]{--paper:#1c201f;--ink:#eeeee5;--muted:#b4bcb5;--line:#eff6eb35}
body{font-family:var(--font-body);font-size:var(--body);background:var(--paper);color:var(--ink);line-height:1.6}
h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);font-weight:900;letter-spacing:-.065em;line-height:.95}h2{font-size:var(--heading)}h3{font-size:1.2rem;line-height:1.3;font-weight:700}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}a,button{touch-action:manipulation}img{display:block;width:100%;height:auto}.micro{font-size:var(--micro);font-family:var(--font-body);font-weight:500;letter-spacing:.07em;text-transform:uppercase;line-height:1.5}.outline{-webkit-text-stroke:1px currentColor;color:transparent}.outline{--outline-color:var(--ink);-webkit-text-stroke-color:var(--outline-color)}.accent{color:#6e8248}
.skip{position:fixed;top:-80px;left:20px;background:var(--accent);color:#101111;padding:16px;z-index:100}.skip:focus{top:10px}.nav{height:90px;padding:0 var(--gutter);background:var(--dark);color:var(--white);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff29;position:relative;z-index:20}.identity{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.2;letter-spacing:.05em;font-weight:700}.identity svg{width:46px;height:40px}.nav nav{display:flex;gap:28px;align-items:center}.nav nav a{font-size:13px;min-height:44px;display:flex;align-items:center;gap:8px}.nav nav a:hover,.nav a[aria-current="page"]{color:var(--accent)}.nav-tools{display:flex;align-items:center}.theme-toggle{font-size:26px;width:44px;height:44px}.menu-toggle{display:none}.hero{background:var(--dark);color:var(--white);padding:24px var(--gutter) 0;overflow:hidden}.hero-top{display:flex;justify-content:space-between;color:#bac2ba}.hero-stage{height:clamp(360px,35vw,560px);position:relative;margin-top:24px;isolation:isolate}.art{position:absolute;inset:-20% 6% -20% 14%;z-index:-1;pointer-events:none;transform:translate3d(var(--mx,0px),var(--my,0px),0);transition:transform 1.2s ease-out;mask-image:linear-gradient(transparent,black 20%,black 85%,transparent)}.art img{height:100%;object-fit:contain;mix-blend-mode:screen;animation:breathe 14s ease-in-out infinite alternate}.hero h1{font-size:clamp(5rem,12.6vw,12.5rem);letter-spacing:-.08em;line-height:.84;padding-top:8px;pointer-events:none}.first-name{display:block;position:relative;z-index:2}.last-name{display:block;position:absolute;right:0;bottom:42px;color:transparent;-webkit-text-stroke:1.4px #f4f5ec;letter-spacing:-.08em}.asterisk{font-family:Arial,sans-serif;font-size:.48em;color:var(--accent);-webkit-text-stroke:0;vertical-align:top;display:inline-block;margin:0 0 0 16px;animation:turn 45s linear infinite}.hero-statement{position:absolute;left:0;top:53%;font-size:clamp(18px,2vw,29px);line-height:1.25;letter-spacing:-.025em;max-width:250px}.hero-statement span{color:#ccd7c8}.art-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;color:#aeb8b0}.motion-toggle{text-transform:uppercase;letter-spacing:inherit;font-size:inherit;min-height:44px;margin-bottom:-12px}.hero-bottom{padding:24px 0 30px;display:flex;justify-content:space-between;align-items:center}.hero-bottom p{font-size:14px;line-height:1.5;color:#c4cdc5}.discover{padding:16px 0}.portals{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce4d34a}.portal{padding:26px 28px 28px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;transition:background .3s,color .3s}.portal+.portal{border-left:1px solid #dce4d34a;padding-left:32px;padding-right:0}.portal h2{font-size:clamp(1.7rem,3vw,3.1rem);letter-spacing:-.055em;line-height:1.1;margin:8px 0}.portal .micro{color:var(--accent)}.portal p{font-size:13px;color:#c4cdc5}.portal-arrow{font-size:48px;line-height:1;transition:transform .3s}.portal:hover .portal-arrow{transform:translate(6px,-6px);color:var(--accent)}.portal:hover h2{color:var(--accent)}.discipline-strip{display:flex;justify-content:space-between;gap:32px;white-space:nowrap;overflow:hidden;background:var(--accent);color:#1b2414;padding:18px var(--gutter);font-size:12px;font-weight:700;letter-spacing:.08em}.section-pad{padding:var(--space) var(--gutter)}.section-label{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);margin-bottom:56px}.about{background:radial-gradient(ellipse at 0 100%,#f8cab32a,transparent 60%),var(--paper)}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw}.about h2{font-size:clamp(2.8rem,5.6vw,6rem)}.bio{max-width:570px}.bio p{color:var(--muted);margin-bottom:24px}.bio .intro{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.3;color:var(--ink);letter-spacing:-.025em}.text-link{display:inline-flex;align-items:center;gap:42px;justify-content:space-between;border-bottom:1px solid currentColor;padding:12px 0;font-weight:700;min-height:44px}.text-link span{font-size:24px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.practice-index{border-top:1px solid var(--line);margin-top:64px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted)}.research{background:#111513;color:#e9efe4}.research .outline{--outline-color:#e9efe4}.research .section-label{color:#aab6aa;border-color:#ffffff30}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.section-heading>p{font-size:16px;color:#adb9ac}.research-grid{display:grid;grid-template-columns:1.18fr .9fr .9fr;gap:28px;align-items:start}.research-card{padding:0;text-align:left;width:100%;color:#e9efe4}.research-image{height:370px;position:relative;overflow:hidden;background:#1d2520}.research-image img{height:100%;object-fit:cover;transition:transform 1s;filter:saturate(.8)}.crop-one img{transform:scale(1.35);object-position:45%}.crop-two img{transform:scale(2.7) rotate(90deg);filter:hue-rotate(25deg)}.crop-three img{transform:scale(2) rotate(180deg);filter:hue-rotate(-45deg)}.research-two{margin-top:88px}.research-three{margin-top:176px}.research-two .research-image{height:290px}.research-three .research-image{height:240px}.research-card:hover img{transform:scale(1.6) rotate(-4deg)}.research-two:hover img{transform:scale(2.9) rotate(86deg)}.research-three:hover img{transform:scale(2.2) rotate(176deg)}.project-number{position:absolute;top:16px;left:20px;font-family:var(--font-display);font-size:42px;color:#fff;letter-spacing:-.06em}.image-tag{position:absolute;bottom:16px;left:16px;background:#111d;color:#edf2e5;padding:7px 10px}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:20px}.project-meta span{font-size:24px}.research-card p{font-size:13px;color:#adb9ac;margin-top:8px}.content-note{font-size:13px;line-height:1.6;color:var(--muted);max-width:660px;margin-top:32px}.research .content-note{color:#aab6aa}.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.recognition h2{font-size:clamp(2.2rem,3.6vw,4rem);margin-bottom:32px}.entry-list{list-style:none;padding:0;margin:0}.entry-list li{display:grid;grid-template-columns:100px 1fr;gap:20px;border-top:1px solid var(--line);padding:24px 0}.entry-list .micro{color:var(--muted)}.entry-list p{font-size:14px;color:var(--muted);margin-top:8px}.archive-teaser{display:block;background:#cfdbd0;color:#16231e;padding:56px var(--gutter) 64px;position:relative;overflow:hidden}.archive-teaser::before{content:"";position:absolute;width:70%;height:200%;right:-30%;top:-70%;background:conic-gradient(from 30deg,#cadbe1,#d8a9c6,#f0cba7,#dce7c0,#cadbe1);border-radius:50%;filter:blur(60px);opacity:.6;pointer-events:none}.archive-teaser>div{display:flex;justify-content:space-between;align-items:center;position:relative}.archive-teaser h2{font-size:clamp(4.5rem,16vw,17rem);letter-spacing:-.075em;line-height:1.3}.archive-arrow{font-size:clamp(4rem,12vw,12rem);line-height:1;transition:transform .4s}.archive-teaser:hover .archive-arrow{transform:translate(10px,-10px)}.archive-teaser p{margin:12px 0 24px;position:relative}.archive-teaser .text-link{position:relative}.contact h2{font-size:clamp(5.6rem,15vw,16rem);letter-spacing:-.08em}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:48px}.contact-bottom p{color:var(--muted)}.contact-trigger{min-width:220px;font-size:24px}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px var(--gutter);border-top:1px solid var(--line);font-size:12px}footer a{padding:12px 0}
dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(560px,calc(100% - 32px));padding:48px;margin:auto;max-height:85vh;overflow:auto}dialog::backdrop{background:#060909bd;backdrop-filter:blur(12px)}dialog h2{font-size:clamp(2rem,5vw,3rem);margin:24px 0}dialog p{color:var(--muted)}.dialog-close{display:block;margin:0 0 28px auto;padding:10px 0 10px 20px;font-size:14px}.dialog-close:hover{color:var(--ink)}
.page-hero{padding:64px var(--gutter);background:var(--dark);color:var(--white);position:relative;overflow:hidden}.page-hero .micro{color:var(--accent);margin-bottom:32px}.page-hero h1{font-size:clamp(4.5rem,13vw,12rem);margin-bottom:32px}.page-hero p:not(.micro){max-width:650px;color:#bac6bc}.page-hero .outline{--outline-color:var(--white)}.cv-layout{display:grid;grid-template-columns:240px 1fr;gap:64px}.cv-index{display:flex;flex-direction:column;align-items:start;gap:8px;align-self:start;position:sticky;top:24px;font-size:14px}.cv-index a{padding:8px 0}.cv-index a:hover{text-decoration:underline}.cv-content section{margin-bottom:64px;scroll-margin-top:24px}.cv-content h2{font-size:32px;margin-bottom:24px}.cv-content .entry-list li{grid-template-columns:120px 1fr}.cv-content .entry-list h3{font-size:18px}.cv-content .entry-list p{font-size:15px}.editor-note{border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:13px;max-width:650px;margin-top:32px}.archive-banner{background:radial-gradient(ellipse at 90% 80%,#475753,transparent 65%),#101111}.archive-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:40px}.archive-tabs button{padding:16px 24px;font-size:14px;border-bottom:2px solid transparent}.archive-tabs button[aria-selected=true]{border-color:var(--ink);font-weight:700}.archive-panel[hidden]{display:none}.archive-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;align-items:start}.archive-slot{aspect-ratio:3/4;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:#d4d9cf;color:#3c493a;position:relative}.archive-slot:nth-child(2){margin-top:64px;background:#dfd4d4}.archive-slot:nth-child(3){margin-top:128px;background:#c9d4de}.archive-slot .slot-number{font-family:var(--font-display);font-size:clamp(4rem,11vw,10rem);line-height:1;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px currentColor;-webkit-text-stroke-color:#536256}.archive-slot p{font-size:14px;max-width:200px}.film-empty{padding:48px;background:#111513;color:#e9efe4;display:grid;grid-template-columns:1fr 1fr;gap:40px;min-height:300px;align-items:end}.film-empty h2{font-size:clamp(2.5rem,5vw,5rem)}.film-empty p{max-width:430px;color:#adb9ac}.archive-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:56px}
@keyframes breathe{from{transform:scale(1) rotate(-2deg)}to{transform:scale(1.065) rotate(2deg)}}@keyframes turn{to{transform:rotate(360deg)}}body.motion-paused *,body.motion-paused *::before{animation-play-state:paused!important}body.motion-paused .art{transform:none!important}
@media(min-width:1600px){.hero-stage{height:540px}.hero h1{font-size:205px}}
@media(max-width:1000px){.nav nav{gap:18px}.nav nav a{font-size:12px}.hero-stage{height:370px}.hero-statement{top:48%}.hero h1{font-size:13vw}.research-grid{gap:18px}.research-image{height:310px}.research-two .research-image{height:260px}.research-three .research-image{height:220px}.project-meta h3{font-size:16px}.cv-layout{grid-template-columns:180px 1fr;gap:32px}}
@media(max-width:700px){.nav{height:76px}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:#101111;padding:24px var(--gutter);border-top:1px solid #ffffff30;box-shadow:0 20px 30px #0005}.nav.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:4px}.nav nav a{font-size:16px}.menu-toggle{display:block;font-size:12px;min-width:64px;min-height:44px}.identity svg{width:36px}.identity{font-size:11px}.hero{padding-top:16px}.hero-top>.micro:last-child{display:none}.hero-top .micro{font-size:12px;letter-spacing:.03em}.hero-stage{height:300px;margin-top:24px}.hero h1{font-size:17.4vw;line-height:.9;padding-top:0}.last-name{bottom:38px}.hero-statement{top:95px;font-size:18px;max-width:170px}.art{inset:16px -100px 12px 6px;mask-image:linear-gradient(transparent,black 15%,black 80%,transparent)}.art-caption{font-size:10px}.art-caption span{font-size:12px}.motion-toggle{font-size:12px}.hero-bottom{padding:20px 0;gap:20px}.hero-bottom p{font-size:12px;max-width:220px}.discover{max-width:100px;font-size:12px;text-align:right}.portals{grid-template-columns:1fr}.portal,.portal+.portal{padding:20px 0;border-left:0}.portal+.portal{border-top:1px solid #dce4d34a}.portal h2{font-size:29px}.portal p{font-size:12px}.portal-arrow{font-size:40px}.portal .micro{font-size:11px}.discipline-strip{font-size:11px;padding:14px var(--gutter);gap:20px}.section-label{margin-bottom:36px}.section-label span:last-child{display:none}.about-grid{grid-template-columns:1fr;gap:36px}.about h2{font-size:12.3vw}.bio .intro{font-size:22px}.practice-index{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:11px;margin-top:40px}.section-heading{display:block}.section-heading h2{font-size:13vw}.section-heading>p{margin-top:24px}.research-grid{grid-template-columns:1fr;gap:40px}.research-two,.research-three{margin-top:0}.research-two{width:85%;justify-self:end}.research-three{width:90%}.research-image{height:360px}.research-two .research-image{height:280px}.research-three .research-image{height:280px}.project-meta h3{font-size:20px}.recognition-grid{grid-template-columns:1fr;gap:48px}.entry-list li{grid-template-columns:84px 1fr;gap:16px}.entry-list .micro{font-size:11px}.archive-teaser{padding:40px var(--gutter)}.archive-teaser h2{font-size:18vw;line-height:1.6}.archive-arrow{font-size:17vw}.archive-teaser p{font-size:14px}.contact h2{font-size:24vw}.contact-bottom{display:block;margin-top:32px}.contact-trigger{margin-top:24px;font-size:22px}.contact-bottom p{font-size:16px}footer{flex-wrap:wrap;gap:12px}footer>span:nth-child(2){display:none}dialog{padding:28px}.page-hero{padding:48px var(--gutter)}.page-hero h1{font-size:17vw}.cv-layout{display:block}.cv-index{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 24px;margin-bottom:40px}.cv-content .entry-list li{grid-template-columns:1fr;gap:8px}.cv-content h2{font-size:28px}.archive-grid{grid-template-columns:1fr 1fr;gap:16px}.archive-slot{padding:16px}.archive-slot:nth-child(2){margin-top:48px}.archive-slot:nth-child(3){margin-top:0}.archive-slot p{font-size:12px}.archive-slot .micro{font-size:11px}.archive-slot .slot-number{font-size:80px}.film-empty{padding:28px;grid-template-columns:1fr;gap:32px}.archive-bottom{flex-direction:column;align-items:start}.archive-tabs button{padding:16px 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.art{transform:none!important}}
@media(min-width:701px){.hero-stage{height:clamp(360px,32vw,480px)}}
@media(max-width:700px){.micro,.identity,.portal .micro,.entry-list .micro,.practice-index,.discipline-strip,.archive-slot .micro{font-size:12px}.hero-statement{max-width:164px}.page-hero h1{font-size:15vw}}
.film-empty .outline{--outline-color:#e9efe4}
#hero-title{font-size:clamp(3.5rem,8.8vw,9rem)}
@media(max-width:700px){#hero-title{font-size:clamp(2.5rem,13vw,5.7rem)}}
:root {
  --paper: #c6e3cc;
  --muted: #414c49;
  --wash-green: #c6e3cc;
  --wash-yellow: #f2ecad;
  --wash-pink: #efc5d9;
  --wash-blue: #bfdcf0;
  --pastel-wash:
    radial-gradient(ellipse at 4% 10%, var(--wash-green) 0%, transparent 62%),
    radial-gradient(ellipse at 93% 9%, var(--wash-blue) 0%, transparent 62%),
    radial-gradient(ellipse at 94% 95%, var(--wash-pink) 0%, transparent 62%),
    radial-gradient(ellipse at 12% 100%, var(--wash-yellow) 0%, transparent 68%),
    linear-gradient(125deg, var(--wash-green), var(--wash-yellow) 38%, var(--wash-pink) 68%, var(--wash-blue));
  --reading-surface: var(--pastel-wash);
}
[data-theme="dark"] {
  --paper: var(--dark);
  --muted: #b4bcb5;
  --reading-surface: linear-gradient(var(--dark), var(--dark));
}
body,
.about,
.recognition,
.contact,
.cv-layout,
main > section[aria-label="RGLOOR media archive"],
footer,
dialog {
  background: var(--reading-surface);
}
.discipline-strip,
.archive-teaser,
.archive-slot,
.archive-slot:nth-child(2),
.archive-slot:nth-child(3),
.skip {
  background: var(--pastel-wash);
}
.archive-teaser::before { display: none; }
.archive-slot:nth-child(2) {
  --pastel-wash:
    radial-gradient(ellipse at 5% 6%, var(--wash-pink), transparent 66%),
    radial-gradient(ellipse at 96% 95%, var(--wash-yellow), transparent 68%),
    linear-gradient(145deg, var(--wash-blue), var(--wash-green));
}
.archive-slot:nth-child(3) {
  --pastel-wash:
    radial-gradient(ellipse at 8% 96%, var(--wash-green), transparent 68%),
    radial-gradient(ellipse at 90% 10%, var(--wash-blue), transparent 65%),
    linear-gradient(30deg, var(--wash-yellow), var(--wash-pink));
}
@media print{.nav,.cv-index,footer,.skip{display:none}.page-hero{background:white;color:black;padding:24px}.page-hero p{color:black!important}.section-pad{padding:24px}.cv-layout{display:block}body{background:white;color:black}.cv-content section{break-inside:avoid}a{color:black}}
