:root{--ink:#181816;--paper:#f2efe7;--accent:#f15a32;--muted:#6c6a64;--line:rgba(24,24,22,.22);--ease:cubic-bezier(.22,1,.36,1);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper)}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.skip-link{position:fixed;z-index:1000;top:1rem;left:1rem;padding:.8rem 1rem;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:88px;padding:0 clamp(1.25rem,4vw,4.5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:1.25rem;font-weight:900;letter-spacing:-.08em}.wordmark span{color:var(--accent)}nav{display:flex;gap:2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}nav a,.availability,.arrow-link,.text-link,footer a{position:relative}.site-header nav a:after,.text-link:after,footer a:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.site-header nav a:hover:after,.text-link:hover:after,footer a:hover:after{transform:scaleX(1);transform-origin:left}.availability{justify-self:end;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;display:flex;align-items:center;gap:.6rem}.availability i{width:7px;height:7px;border-radius:50%;background:#199a54;box-shadow:0 0 0 5px rgba(25,154,84,.12)}.menu-button,.mobile-menu{display:none}.hero{position:relative;min-height:100svh;padding:clamp(8.5rem,13vw,12rem) clamp(1.25rem,4vw,4.5rem) 3rem;display:grid;grid-template-columns:2.2fr 1fr;grid-template-rows:auto 1fr auto}.hero-kicker{grid-column:1/-1;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em}.hero h1{grid-column:1/-1;max-width:14ch;margin:4vh 0 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(4.1rem,10.4vw,10.7rem);font-weight:400;line-height:.82;letter-spacing:-.075em}.hero h1 em{display:block;margin-left:11vw;color:var(--accent);font-weight:400}.hero-footer{align-self:end;display:flex;align-items:flex-end;gap:clamp(2rem,6vw,7rem)}.hero-footer p{max-width:37rem;margin:0;font-size:clamp(1rem,1.3vw,1.3rem);line-height:1.5}.arrow-link{flex:none;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.arrow-link span{display:inline-block;margin-left:.5rem;transition:transform .3s var(--ease)}.arrow-link:hover span{transform:translateY(5px)}.hero-stamp{align-self:end;justify-self:end;width:150px;height:150px;border:1px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(6deg)}.hero-stamp span{font-size:.53rem;letter-spacing:.15em}.hero-stamp b{font-family:Georgia,serif;font-size:3.3rem;line-height:1;color:var(--accent)}.hero-stamp small{text-transform:uppercase;font-size:.55rem;letter-spacing:.09em}.ticker{overflow:hidden;background:var(--ink);color:var(--paper);transform:rotate(-1deg);width:102%;margin-left:-1%;padding:1rem 0}.ticker-track{width:max-content;display:flex;animation:ticker 28s linear infinite}.ticker-group{min-width:100vw;display:flex;align-items:center;justify-content:space-around;gap:3rem;padding:0 2rem;font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,2rem);font-style:italic;white-space:nowrap}.ticker-group i{width:7px;height:7px;background:var(--accent);border-radius:50%}@keyframes ticker{to{transform:translateX(-50%)}}.work-section,.about-section,.contact-section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem)}.section-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid var(--ink)}.eyebrow{display:block;margin-bottom:1.3rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.section-heading h2,.about-intro h2,.contact-section h2{margin:0;font-family:Georgia,serif;font-size:clamp(3.2rem,6.5vw,7rem);font-weight:400;line-height:.95;letter-spacing:-.055em}.section-heading p{align-self:end;max-width:34rem;margin:0;font-size:1rem;line-height:1.6}.work-toolbar{padding:1.3rem 0 2.5rem;display:flex;justify-content:space-between;gap:1rem;align-items:start}.filters{display:flex;flex-wrap:wrap;gap:.5rem}.filters button{border:1px solid var(--line);background:transparent;padding:.68rem .9rem;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:.63rem;transition:.25s}.filters button:hover,.filters button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filters span{opacity:.5;margin-left:.25rem}.results-count{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;padding-top:.75rem}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2rem,5vw,5rem) clamp(1rem,2vw,2rem)}.project-card{grid-column:span 6;transition-delay:var(--delay)}.project-card:nth-child(5n+1),.project-card:nth-child(5n+4){grid-column:span 7}.project-card:nth-child(5n+2),.project-card:nth-child(5n+5){grid-column:span 5}.project-card:nth-child(5n+3){grid-column:3/span 8}.project-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}.project-media{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:#d8d5cd}.project-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s var(--ease),filter .5s}.project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.22),transparent 40%);opacity:0;transition:.35s}.project-open:hover img{transform:scale(1.035)}.project-open:hover .project-media:after{opacity:1}.project-media--empty{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff}.project-media--empty:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 10%,rgba(0,0,0,.08) 10% 10.2%)}.project-media--empty b{position:relative;font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,6rem);font-weight:400;line-height:.82;letter-spacing:-.06em}.project-index{position:absolute;top:1rem;left:1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:.65rem;font-weight:700}.preview-label{position:absolute;right:1rem;bottom:1rem;background:var(--paper);padding:.75rem 1rem;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;font-weight:700;transform:translateY(150%);transition:transform .45s var(--ease);z-index:1}.project-open:hover .preview-label,.project-open:focus-visible .preview-label{transform:none}.project-info{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.project-info b,.project-info small{display:block}.project-info b{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;letter-spacing:-.03em}.project-info small,.project-info em{margin-top:.35rem;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;font-style:normal}.about-section{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,9rem);background:var(--ink);color:var(--paper)}.about-intro{grid-row:span 2}.about-copy{padding-top:2.2rem}.about-copy p{font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.65;margin:0 0 1.5rem}.text-link{display:inline-block;margin-top:1.5rem;color:var(--accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.capability-list{margin:2rem 0 0}.capability-list div{display:grid;grid-template-columns:2.3rem 1fr;padding:1.3rem 0;border-top:1px solid rgba(255,255,255,.2)}.capability-list dt{font-size:.65rem;color:var(--accent)}.capability-list b,.capability-list span{display:block}.capability-list b{font-family:Georgia,serif;font-size:1.25rem;font-weight:400}.capability-list span{margin-top:.4rem;color:#aaa9a2;font-size:.78rem;line-height:1.5}.contact-section{min-height:80svh;display:flex;flex-direction:column;justify-content:center}.contact-section h2{max-width:12ch}.contact-cta{display:flex;justify-content:space-between;align-items:end;margin-top:1rem;padding-bottom:1.3rem;border-bottom:2px solid var(--ink);font-family:Georgia,serif;font-size:clamp(3.2rem,7.4vw,8rem);letter-spacing:-.06em;line-height:1;color:var(--accent)}.contact-cta b{font-family:Arial,sans-serif;font-size:.45em;transition:transform .4s var(--ease)}.contact-cta:hover b{transform:translate(10px,-10px)}.contact-meta{display:flex;justify-content:space-between;margin-top:2rem;font-size:.75rem;line-height:1.6;text-transform:uppercase;letter-spacing:.08em}.contact-meta p{margin:0}.contact-meta div{display:flex;flex-direction:column;align-items:flex-end}footer{padding:1.3rem clamp(1.25rem,4vw,4.5rem);display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.project-dialog{width:min(96vw,1500px);height:min(92vh,980px);padding:0;border:1px solid #3a3a38;background:#e5e1d8;box-shadow:0 30px 100px rgba(0,0,0,.45);overflow:hidden}.project-dialog::backdrop{background:rgba(16,16,14,.78);backdrop-filter:blur(6px)}.dialog-bar{height:58px;padding:0 1rem;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;background:var(--ink);color:#fff}.browser-dots{display:flex;gap:6px}.browser-dots i{width:9px;height:9px;border-radius:50%;background:#555}.browser-dots i:first-child{background:var(--accent)}.dialog-title{text-align:center}.dialog-title b,.dialog-title span{display:block}.dialog-title b{font-family:Georgia,serif;font-weight:400}.dialog-title span{font-size:.55rem;color:#aaa;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.dialog-actions{justify-self:end;display:flex;align-items:center;gap:1rem}.dialog-actions a,.dialog-actions button{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em}.dialog-actions a{color:#ff8b6e}.dialog-actions button{padding:.55rem .75rem;border:1px solid #555;background:transparent;color:#fff;cursor:pointer}.project-dialog iframe{display:block;width:100%;height:calc(100% - 58px);border:0;background:#fff}.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.project-media img,.preview-label{transition:none}}@media(max-width:800px){.site-header{height:72px;grid-template-columns:1fr auto}.site-header nav,.availability{display:none}.menu-button{display:block;border:0;background:none;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}.mobile-menu{position:fixed;z-index:19;inset:72px 0 auto;background:var(--ink);color:white;padding:2rem}.mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:1.5rem}.hero{padding-top:7.5rem;grid-template-columns:1fr}.hero h1{font-size:clamp(4rem,18vw,7.8rem);line-height:.84}.hero h1 em{margin-left:0}.hero-footer{flex-direction:column;align-items:flex-start;margin-top:3rem}.hero-stamp{display:none}.section-heading,.about-section{grid-template-columns:1fr}.section-heading{gap:2rem}.project-card,.project-card:nth-child(n){grid-column:1/-1}.work-toolbar{flex-direction:column}.results-count{order:-1}.project-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0}.dialog-bar{grid-template-columns:auto 1fr auto}.browser-dots,.dialog-actions a,.dialog-title span{display:none}.dialog-title{text-align:left;padding-left:1rem}.contact-meta{flex-direction:column;gap:2rem}.contact-meta div{align-items:flex-start}.ticker-group{min-width:180vw}.about-intro{grid-row:auto}.contact-section{min-height:70svh}}
