:root{--ink:#111110;--paper:#f5f3ed;--line:rgba(17,17,16,.2);--acid:#d9ff57;--rust:#af3d23;--blue:#394f62}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{height:116px;padding:28px 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:30}.brand{color:inherit;text-decoration:none;display:flex;flex-direction:column;font-weight:600;font-size:18px;line-height:.92;letter-spacing:-.04em}.brand small{font-size:9px;font-weight:400;letter-spacing:.12em;margin-top:8px}.menu-button{width:52px;height:52px;border:0;background:none;display:grid;place-content:center;gap:8px;cursor:pointer}.menu-button span:not(.sr-only){display:block;width:35px;height:1.5px;background:var(--ink)}.menu{position:fixed;inset:0;background:var(--paper);z-index:50;padding:28px 5vw;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:.4s ease}.menu.open{opacity:1;visibility:visible}.menu-close{position:absolute;top:32px;right:5vw;border:0;background:none;font:300 56px/1 "DM Sans";cursor:pointer}.menu-links{text-align:center;display:flex;flex-direction:column;gap:5px}.menu-links a{color:inherit;text-decoration:none;text-transform:uppercase;font-size:clamp(2rem,6vw,5rem);font-weight:300;line-height:1.02;letter-spacing:-.04em}.menu-links a:hover{font-family:"Libre Caslon Display",serif;font-style:italic;text-transform:none}.menu p{position:absolute;bottom:28px;font-size:12px;letter-spacing:.08em}.hero{padding:0 2vw 2vw}.hero-frame{min-height:calc(100vh - 140px);position:relative;overflow:hidden;color:white;padding:4vw;display:flex;align-items:flex-end;transition:background .6s ease;background-color:#191918;background-image:radial-gradient(circle at 22% 25%,rgba(217,255,87,.65),transparent 16%),radial-gradient(circle at 73% 62%,rgba(175,61,35,.9),transparent 20%),linear-gradient(130deg,#10100f 8%,#3b4f60 48%,#111 100%)}.hero-frame:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(108deg,transparent 0 14px,rgba(255,255,255,.035) 15px 16px);mix-blend-mode:screen}.hero-frame.visual-two{background-image:radial-gradient(ellipse at 50% 110%,rgba(245,243,237,.8),transparent 42%),linear-gradient(150deg,#8e3d27,#181817 45%,#263c4a)}.hero-frame.visual-three{background-image:linear-gradient(90deg,transparent 48%,rgba(217,255,87,.76) 48% 53%,transparent 53%),radial-gradient(circle at 30% 50%,#b64c2d,transparent 24%),linear-gradient(140deg,#0c0d0e,#334d59)}.frame-index{position:absolute;top:4vw;left:4vw;font-size:12px;letter-spacing:.15em;z-index:2}.hero-copy{position:relative;z-index:2}.hero-copy p{text-transform:uppercase;font-size:12px;letter-spacing:.14em}.hero h1{font:400 clamp(3rem,8vw,8rem)/.9 "Libre Caslon Display",serif;letter-spacing:-.045em;margin:.2em 0 0;max-width:900px}.frame-controls{position:absolute;right:4vw;bottom:4vw;z-index:3;display:flex;gap:6px}.frame-controls button{border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.15);color:white;width:52px;height:52px;font-size:22px;cursor:pointer;backdrop-filter:blur(8px)}.intro{padding:12vw 8vw;display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:11vw;align-items:center}.portrait-placeholder{aspect-ratio:4/5;background:var(--blue);display:grid;place-items:center;overflow:hidden;position:relative}.portrait-placeholder:before,.portrait-placeholder:after{content:"";position:absolute;border:1px solid rgba(245,243,237,.5);border-radius:50%;width:56%;aspect-ratio:1}.portrait-placeholder:after{width:28%}.portrait-placeholder span{font:400 2rem "Libre Caslon Display",serif;color:var(--paper)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:500}.intro h2,.section-heading h2,.split-copy h2{font:400 clamp(2.8rem,5vw,5.6rem)/.98 "Libre Caslon Display",serif;letter-spacing:-.04em;margin:.45em 0}.lead{font-size:clamp(1.3rem,2.2vw,2rem);font-weight:300;line-height:1.35;max-width:700px}.text-link{display:inline-block;margin-top:30px;color:inherit;text-decoration:none;border-bottom:1px solid;padding-bottom:7px}.text-link span{margin-left:18px}.work{padding:8vw 4vw;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin:0 4vw 8vw}.section-heading h2{text-align:right;margin:0}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2vw}.project{margin-bottom:8vw}.project-a{grid-column:1/8}.project-b{grid-column:9/13;margin-top:20vw}.project-c{grid-column:4/11}.project-art{aspect-ratio:4/3;position:relative;overflow:hidden;background:#17202a}.project-art:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 32%,var(--acid) 32% 34%,transparent 34%),radial-gradient(circle at 68% 44%,var(--rust),transparent 23%),linear-gradient(145deg,#111,#3e5664)}.project-b .project-art:after{background:radial-gradient(ellipse at 50% 80%,var(--paper),transparent 35%),linear-gradient(35deg,#111 40%,var(--rust))}.project-c .project-art:after{background:linear-gradient(110deg,#27404f 0 36%,var(--acid) 36% 39%,#111 39% 74%,var(--rust) 74%)}.project-art span{position:absolute;color:white;z-index:2;top:20px;left:20px;font-size:12px}.project>p{font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:14px 0 5px}.project h3{font:400 clamp(1.6rem,3vw,3rem) "Libre Caslon Display",serif;margin:0}.about{background:var(--ink);color:var(--paper);padding:12vw 8vw}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw}.about h2{font:400 clamp(3rem,6vw,6.5rem)/.95 "Libre Caslon Display",serif;letter-spacing:-.045em;margin:.8em 0 0}.about-grid>div{padding-top:5vw;font-size:1.15rem;line-height:1.7;font-weight:300}.split-section{min-height:85vh;display:grid;grid-template-columns:1fr 1fr}.split-section.reverse .split-visual{order:2}.split-visual{display:grid;place-items:center;min-height:600px;background:var(--rust);overflow:hidden}.split-visual span{font:400 clamp(4rem,10vw,10rem)/.77 "Libre Caslon Display",serif;color:var(--paper);letter-spacing:-.06em}.now-visual{background:var(--acid)}.now-visual span{color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:600;letter-spacing:-.08em}.split-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}.split-copy p:not(.eyebrow){font-size:1.2rem;line-height:1.65;font-weight:300;max-width:560px}.pill{align-self:flex-start;color:inherit;text-decoration:none;border:1px solid;border-radius:100px;padding:15px 24px;margin-top:25px}.pill:hover{background:var(--ink);color:var(--paper)}.contact{padding:11vw 5vw 3vw;background:var(--blue);color:white;min-height:75vh;display:flex;flex-direction:column}.contact h2{font:400 clamp(4rem,11vw,11rem)/.8 "Libre Caslon Display",serif;letter-spacing:-.06em;margin:.4em 0}.contact>a{color:white;font-size:clamp(1rem,2.1vw,2rem);text-underline-offset:8px}.contact-bottom{margin-top:auto;padding-top:10vw;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.35);font-size:12px}.contact-bottom a{color:white;text-decoration:none}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.topbar{height:100px}.hero{padding:0}.hero-frame{min-height:calc(100svh - 100px);padding:24px}.frame-index{top:24px;left:24px}.frame-controls{right:24px;bottom:24px}.hero-copy{padding-bottom:65px}.hero h1{font-size:clamp(3.4rem,15vw,5.2rem)}.intro{grid-template-columns:1fr;padding:24vw 8vw}.portrait-placeholder{width:68%;justify-self:center}.section-heading{display:block;margin-bottom:18vw}.section-heading h2{text-align:left;margin-top:28px}.project-grid{display:block}.project{margin:0 0 22vw}.project-b{width:72%;margin-left:auto}.project-c{width:88%}.about{padding:24vw 8vw}.about-grid{grid-template-columns:1fr}.about-grid>div{padding-top:10vw}.split-section,.split-section.reverse{grid-template-columns:1fr}.split-section.reverse .split-visual{order:0}.split-visual{min-height:62vh}.split-copy{padding:20vw 8vw}.contact{padding:22vw 8vw 6vw;min-height:90vh}.contact-bottom{display:block}.menu-links a{font-size:clamp(2.2rem,11vw,4rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none;opacity:1;transform:none}}
