
:root{--ink:#232931;--mint:#4ecca3;--paper:#f3efe4}body{background:var(--ink);color:var(--paper)}a{color:inherit}a:hover{color:var(--mint)}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:80px;z-index:20}.site-nav{display:flex;justify-content:space-between;align-items:center;padding:25px 5vw;gap:20px;border-bottom:1px solid #ffffff20}.brand{font-weight:bold;text-decoration:none;letter-spacing:2px}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a{font-size:13px;text-decoration:none}.hero{padding:75px 7vw 90px;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px;margin-bottom:25px}.hero h1{font-size:clamp(52px,8.5vw,120px);line-height:.94;margin:0;max-width:1100px}.accent{color:var(--mint)}.hero p{max-width:640px;line-height:1.8;margin:30px 0}.actions{display:flex;gap:15px;flex-wrap:wrap}.button{display:inline-block;padding:15px 24px;border:1px solid var(--mint);border-radius:30px;text-decoration:none;font-size:14px}.button.solid{background:var(--mint);color:var(--ink)}.scribble{font-family:cursive;font-style:italic;color:#ebc88d;transform:rotate(-3deg);font-size:19px;margin-top:30px}.section-head{padding:40px 7vw;display:flex;justify-content:space-between;gap:20px;align-items:baseline}.section-head h2{font-size:44px;margin:0}.project-row{display:grid;grid-template-columns:1fr 1fr}.project-row:nth-child(even) .project-copy{order:2}.project-copy,.project-art{padding:65px 7vw;min-height:450px}.project-copy{background:var(--paper);color:var(--ink)}.project-copy h2{font-size:clamp(38px,4vw,64px);line-height:1.05;margin:20px 0}.project-copy p{font-size:15px;line-height:1.9}.project-copy a{font-weight:bold;text-underline-offset:6px}.tags{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:25px 0}.project-art{background:#39434b;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.project-art svg{width:100%;max-width:430px;filter:drop-shadow(12px 15px 0 #0003);transform:rotate(-3deg)}.project-art small{font-size:10px;opacity:.6;margin-top:25px}.project-row:nth-child(2) .project-art{background:#4ecca3}.project-row:nth-child(3) .project-art{background:#cda078}.project-row:nth-child(4) .project-art{background:#75738d}.worlds,.experience,.about-body{padding:70px 7vw}.worlds{background:#171d23}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.world-grid h3{font-size:32px}.world-grid p,.experience p,.about-body p{line-height:1.9;font-size:15px}.experience h2,.worlds h2,.about-body h2{font-size:46px}.timeline{display:grid;grid-template-columns:180px 1fr;gap:25px;border-top:1px solid #ffffff25;padding:25px 0}.timeline h3{font-size:26px;margin:0}.timeline p{margin:5px 0}.contact{padding:80px 7vw;background:var(--mint);color:var(--ink)}.contact h2{font-size:clamp(45px,6vw,80px);margin:0 0 20px}.contact a{color:var(--ink)}footer{padding:25px 7vw;display:flex;justify-content:space-between;gap:20px;font-size:11px}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px}.portrait{background:var(--paper);color:var(--ink);padding:35px;transform:rotate(2deg);align-self:start}.portrait svg{width:100%;height:320px}.portrait p{text-align:center;font-family:cursive}.reveal{transition:transform .7s,opacity .7s}.js-motion .reveal.pending{opacity:0;transform:translateY(25px)}a:focus-visible,button:focus-visible{outline:3px solid #e9bd75;outline-offset:6px}@media(max-width:700px){.site-nav{align-items:flex-start;flex-direction:column}.nav-links{gap:17px;flex-wrap:wrap}.hero{padding-top:55px}.project-row,.world-grid,.about-grid{grid-template-columns:1fr}.project-row:nth-child(even) .project-copy{order:0}.project-copy,.project-art{padding:40px 7vw;min-height:auto}.project-art{min-height:300px}.section-head{flex-direction:column}.timeline{grid-template-columns:1fr;gap:8px}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}.js-motion .reveal.pending{opacity:1;transform:none}}html{scroll-behavior:smooth}
:root{--surface:#232931;--text:#f3efe4;--panel:#f3efe4;--panel-ink:#232931;--subtle:#171d23;--accent:#4ecca3;--accent-ink:#142b23;--border:#ffffff25;--note:#ebc88d}html[data-mode=light]{--surface:#faf7ef;--text:#232931;--panel:#ece5d5;--subtle:#eee8dc;--border:#23293125;--note:#795620}html[data-color=amber]{--accent:#efb867;--accent-ink:#33240e}html[data-color=violet]{--accent:#b4a1ef;--accent-ink:#251d3c}body{background:var(--surface);color:var(--text)}.accent,a:hover{color:var(--accent)}.button{border-color:var(--accent)}.button.solid,.contact{background:var(--accent);color:var(--accent-ink)}.contact a{color:var(--accent-ink)}.project-copy{background:var(--panel);color:var(--panel-ink)}.worlds{background:var(--subtle)}.site-nav,.timeline{border-color:var(--border)}.scribble{color:var(--note)}.photo-panel{position:relative;display:block;min-height:500px;overflow:hidden;color:white;background:#39434b}.photo-panel img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .7s,filter .7s;filter:saturate(.55)}.photo-shade{position:absolute;inset:0;background:linear-gradient(transparent 20%,#10151ce6);transition:background .4s}.photo-panel:after{content:'';position:absolute;inset:25px;border:1px solid #ffffff80;opacity:0;transform:scale(.94);transition:opacity .4s,transform .4s}.photo-caption{position:absolute;left:45px;bottom:45px;right:40px;z-index:1;transition:transform .4s}.photo-caption span{display:block;font-size:12px;letter-spacing:1px;margin-bottom:14px}.photo-caption strong{font-family:Lalezar,sans-serif;font-size:32px;font-weight:normal}.photo-panel:hover,.photo-panel:focus-visible{color:white}.photo-panel:hover img,.photo-panel:focus-visible img{transform:scale(1.065);filter:saturate(1)}.photo-panel:hover:after,.photo-panel:focus-visible:after{opacity:1;transform:scale(1)}.photo-panel:hover .photo-caption{transform:translateY(-8px)}.palette{position:fixed;right:0;top:40%;z-index:30;display:flex;flex-direction:row-reverse;align-items:flex-start;filter:drop-shadow(0 5px 12px #0003)}.palette button{cursor:pointer}.palette-toggle{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px 0 0 8px;width:45px;height:48px;font-size:26px}.palette-options{background:var(--panel);color:var(--panel-ink);padding:20px;border-radius:8px 0 8px 8px;width:245px}.palette-label{display:block;font-size:12px;margin-bottom:15px}.palette-group{display:flex;gap:10px;margin-top:10px}.palette-group button{background:transparent;color:var(--panel-ink);border:1px solid #23293180;padding:7px 13px;border-radius:20px;font-size:12px}.palette-group button[aria-pressed=true]{outline:2px solid var(--panel-ink);outline-offset:2px}.swatches button{width:30px;height:30px;padding:0;border:none}.swatches [data-color=mint]{background:#4ecca3}.swatches [data-color=amber]{background:#efb867}.swatches [data-color=violet]{background:#b4a1ef}.breadcrumb{display:block;font-size:13px;margin-bottom:35px;text-underline-offset:5px}.collection-hero h1{font-size:clamp(50px,8vw,105px)}.collection-grid{padding:0 7vw 80px;display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.collection-card{background:var(--panel);color:var(--panel-ink);overflow:hidden}.card-photo{display:block;height:280px;overflow:hidden;position:relative}.card-photo img{height:100%;width:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:saturate(.6)}.card-photo:hover img,.card-photo:focus-visible img{transform:scale(1.06);filter:saturate(1)}.card-arrow{position:absolute;right:20px;bottom:20px;background:var(--accent);color:var(--accent-ink);width:45px;height:45px;border-radius:50%;font-size:28px;text-align:center}.card-copy{padding:30px}.card-copy h2{font-size:35px;line-height:1.15}.card-copy h2 a{text-decoration:none}.card-copy p{font-size:14px;line-height:1.8}.collection-note{padding:0 7vw 50px;max-width:900px}.collection-note h2{font-size:36px}.collection-note p{line-height:1.9}.detail-hero h1{font-size:clamp(50px,7vw,95px);max-width:1050px}.detail-info{padding:20px 7vw 70px;background:var(--surface);color:var(--text)}.detail-info h2{font-size:42px;color:var(--text)}.project-intro{font-size:19px;line-height:1.8;max-width:850px}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:45px}.project-facts h3{font-size:24px;color:var(--text)}.project-facts p{font-size:13px;line-height:1.8;color:var(--text)}.detail-photo{margin:0 7vw}.detail-photo img{width:100%;max-height:600px;object-fit:cover}.detail-photo figcaption{font-size:11px;opacity:.65;padding-top:12px}.case-study{padding:70px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:60px}.case-study h2{font-size:42px;line-height:1.15}.case-study p{line-height:1.9;margin-bottom:30px}.project-next{padding:0 7vw 70px;display:flex;gap:15px;flex-wrap:wrap}@media(max-width:700px){.photo-panel{min-height:350px}.photo-caption{left:30px;bottom:30px}.photo-caption strong{font-size:28px}.collection-grid,.case-study{grid-template-columns:1fr}.project-facts{grid-template-columns:1fr 1fr}.palette{top:auto;bottom:25px}.palette-options{width:220px}.case-study{gap:25px}.card-photo{height:240px}}@media(prefers-reduced-motion:reduce){.photo-panel:hover img,.photo-panel:focus-visible img,.card-photo:hover img,.card-photo:focus-visible img{transform:none}.photo-panel:hover .photo-caption{transform:none}}
.project-copy a:hover,.card-copy a:hover{color:var(--panel-ink);text-decoration:underline;text-decoration-thickness:2px}.palette-options[hidden]{display:none}.contact .button:hover{background:var(--accent-ink);color:var(--accent)}
