:root{--ink:#0e0e0d;--graphite:#1c1c1a;--bone:#ece9e2;--white:#fff;--warm:#8d8a82;--serif:"Instrument Serif",Georgia,serif;--sans:"Inter Tight",system-ui,sans-serif;--pad:clamp(20px,4vw,64px);--gap:clamp(96px,16vw,240px);--ease:cubic-bezier(.2,.7,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--ink);color:var(--bone);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}:focus-visible{outline:2px solid var(--bone);outline-offset:3px}.section{padding:var(--gap) var(--pad) 0}.display{font:400 clamp(3rem,9vw,9rem)/.92 var(--serif);letter-spacing:-.02em}.display--xl{font-size:clamp(2.6rem,8.4vw,9.5rem)}.btn{letter-spacing:.12em;min-height:48px;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s;border:1px solid #ece9e266;border-radius:999px;justify-content:center;align-items:center;padding:0 26px;font-size:.78rem;font-weight:500;display:inline-flex}.btn:hover,.btn--solid{background:var(--bone);color:var(--ink);border-color:var(--bone)}.btn--solid:hover{color:var(--bone);background:0 0}.btn--sm{min-height:40px;padding:0 20px}.btn--lg{min-height:60px;padding:0 40px}.header{z-index:50;padding:22px var(--pad);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background .4s,padding .4s,border-color .4s;display:flex;position:fixed;inset:0 0 auto}.header.is-scrolled{background:#0e0e0df0;border-color:#ece9e21f;padding-block:12px}.logo{flex-direction:column;line-height:1.1;display:flex}.logo strong{letter-spacing:.14em;font-size:.95rem;font-weight:600}.logo span{letter-spacing:.3em;color:var(--warm);font-size:.62rem}.nav{letter-spacing:.12em;align-items:center;gap:clamp(20px,3vw,44px);font-size:.78rem;font-weight:500;display:flex}.nav a:not(.btn){padding:6px 0;position:relative}.nav a:not(.btn):after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav a:not(.btn):hover:after{transform:scaleX(1)}.burger{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;display:none;position:relative}.burger i{height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;left:10px;right:10px}.burger i:first-child{top:18px}.burger i:last-child{top:26px}.burger[aria-expanded=true] i:first-child{transform:translateY(4px)rotate(45deg)}.burger[aria-expanded=true] i:last-child{transform:translateY(-4px)rotate(-45deg)}.menu{z-index:40;background:var(--ink);padding:var(--pad);clip-path:inset(0 0 100%);visibility:hidden;transition:clip-path .6s var(--ease),visibility 0s .6s;flex-direction:column;justify-content:center;gap:4px;display:flex;position:fixed;inset:0}.menu.is-open{clip-path:inset(0);visibility:visible;transition:clip-path .6s var(--ease)}.menu a{font:400 clamp(3rem,16vw,6rem)/1.05 var(--serif)}.menu p{letter-spacing:.25em;color:var(--warm);margin-top:32px;font-size:.72rem}.media{background:var(--graphite);position:relative;overflow:hidden}.media img,.media video,.ph{object-fit:cover;width:100%;height:100%;display:block}.ph{background:radial-gradient(120% 80% at 80% 10%,#ece9e238,#0000 55%),linear-gradient(160deg,#3a3935,#171715 70%)}.ph--2{background:radial-gradient(90% 70% at 20% 90%,#ece9e233,#0000 60%),linear-gradient(20deg,#2b2a27,#161614)}.ph--3{background:radial-gradient(80% 60% at 50% 0,#ece9e242,#0000 60%),linear-gradient(#34332f,#121211)}.ph--4{background:radial-gradient(70% 70% at 70% 60%,#8d8a8259,#0000 60%),linear-gradient(135deg,#25241f,#1a1a18)}.ph--5{background:linear-gradient(100deg,#171715 20%,#3b3a35 60%,#1e1e1c)}.ph--6{background:radial-gradient(60% 80% at 30% 40%,#ece9e233,#0000),linear-gradient(45deg,#1f1f1d,#2f2e2a)}.hero{gap:var(--pad);min-height:100svh;padding:120px var(--pad) 48px;grid-template-columns:1.15fr .85fr;align-items:end;display:grid;position:relative}.hero__title{font:400 clamp(4.2rem,17vw,19rem)/.82 var(--serif);letter-spacing:-.035em;margin-left:-.04em}.hero__title em{padding-left:.12em;font-style:italic}.line{padding-bottom:.06em;display:block;overflow:hidden}.line>span{animation:rise 1.1s var(--ease) forwards;display:block;transform:translateY(105%)}.line:nth-child(2)>span{animation-delay:.12s}@keyframes rise{to{transform:none}}.hero__lead{max-width:30ch;color:var(--bone);opacity:.82;margin:clamp(24px,4vw,48px) 0 28px;font-size:clamp(1rem,1.3vw,1.2rem)}.hero__cta{flex-wrap:wrap;gap:12px;display:flex}.hero__media{align-self:stretch;height:min(78svh,820px);margin-top:40px;animation:1.4s .3s both fade}.hero__media .ph{animation:settle 2.4s .2s var(--ease) forwards;transform:scale(1.08)}@keyframes settle{to{transform:scale(1)}}@keyframes fade{0%{opacity:0}}.hero__media figcaption{letter-spacing:.25em;font-size:.7rem;position:absolute;bottom:16px;left:18px}.hero__line{left:var(--pad);background:var(--warm);width:64px;height:1px;position:absolute;bottom:20px}.intro{gap:var(--pad);grid-template-columns:1fr 1fr;align-items:end;display:grid}.intro__body p{max-width:46ch;margin-bottom:1.2em;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.5}.metrics{letter-spacing:.16em;color:var(--warm);border-top:1px solid #ece9e233;flex-wrap:wrap;gap:10px 28px;margin-top:48px;padding-top:20px;font-size:.75rem;display:flex}.rows{border-top:1px solid #ece9e233;margin-top:clamp(40px,6vw,88px)}.row{border-bottom:1px solid #ece9e233}.row a{transition:padding .5s var(--ease),background .5s;grid-template-columns:60px 1.3fr 1fr 40px;align-items:center;gap:20px;padding:clamp(24px,3.2vw,48px) 0;display:grid;position:relative}.row__n{letter-spacing:.14em;color:var(--warm);font-size:.78rem}.row__t{font:400 clamp(1.9rem,4.6vw,4.6rem)/1 var(--serif);letter-spacing:-.01em}.row__d{color:var(--warm);transition:color .4s}.row__a{transition:transform .5s var(--ease);justify-self:end;font-size:1.8rem}.row__ph{opacity:0;pointer-events:none;width:200px;height:130px;transition:opacity .4s,transform .6s var(--ease);position:absolute;top:50%;right:12%;transform:translateY(-50%)scale(.9)}.row a:hover{background:var(--graphite);padding-left:16px}.row a:hover .row__a{transform:translate(10px)}.row a:hover .row__d{color:var(--bone)}.row a:hover .row__ph{opacity:1;transform:translateY(-50%)scale(1)}.grid{gap:clamp(28px,4vw,56px) var(--pad);grid-template-columns:repeat(12,1fr);align-items:start;margin-top:clamp(40px,6vw,88px);display:grid}.card{display:block;position:relative}.card--wide{grid-column:1/9}.card--wide .media{aspect-ratio:16/10}.card--tall{grid-column:9/13;margin-top:clamp(60px,12vw,200px)}.card--tall .media{aspect-ratio:3/4}.card--sq{grid-column:2/7}.card--sq .media{aspect-ratio:1}.card--full{grid-column:1/13;margin-top:clamp(0px,4vw,64px)}.card--full .media{aspect-ratio:21/9}.card .media:after{content:"";background:var(--ink);opacity:0;transition:opacity .5s;position:absolute;inset:0}.card .ph{transition:transform 1.1s var(--ease)}.card:hover .ph{transform:scale(1.05)}.card:hover .media:after{opacity:.35}.card__info{letter-spacing:.1em;color:var(--warm);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:14px;font-size:.78rem;display:flex}.card__info b{font:400 1.5rem/1 var(--serif);letter-spacing:0;color:var(--bone)}.cursor{z-index:60;background:var(--bone);width:96px;height:96px;color:var(--ink);letter-spacing:.2em;pointer-events:none;opacity:0;transition:opacity .3s,scale .4s var(--ease);border-radius:50%;place-items:center;margin:-48px 0 0 -48px;font-size:.7rem;font-weight:600;display:grid;position:fixed;top:0;left:0;scale:.4}.cursor.is-on{opacity:1;scale:1}.marquee{margin-top:var(--gap);border-block:1px solid #ece9e233;padding:clamp(18px,3vw,36px) 0;overflow:hidden}.marquee__track{width:max-content;animation:40s linear infinite slide;display:flex}.marquee span{font:400 clamp(2rem,5vw,5rem)/1 var(--serif);white-space:pre;color:var(--warm);padding-right:.3em}@keyframes slide{to{transform:translate(-50%)}}.about{gap:var(--pad);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about__sub{font:italic 400 clamp(1.4rem,2.4vw,2.2rem)/1.2 var(--serif);margin:28px 0 20px}.about__text p:last-child{max-width:44ch;color:var(--bone);opacity:.8}.about__media{aspect-ratio:4/5}.contact{padding-bottom:var(--gap);background:var(--bone);color:var(--ink);margin-top:var(--gap)}.contact .btn{border-color:#0e0e0d66}.contact .btn:hover,.contact .btn--solid{background:var(--ink);color:var(--bone);border-color:var(--ink)}.contact .btn--solid:hover{color:var(--ink);background:0 0}.contact__lead{max-width:36ch;margin:clamp(28px,4vw,56px) 0 32px;font-size:clamp(1.05rem,1.5vw,1.35rem)}.contact__loc{letter-spacing:.25em;color:#5d5b55;margin-top:clamp(48px,8vw,120px);font-size:.75rem}.footer{padding:48px var(--pad);letter-spacing:.1em;border-top:1px solid #ece9e21f;grid-template-columns:1.2fr 1fr 1fr auto;gap:32px;font-size:.78rem;display:grid}.footer nav{flex-direction:column;gap:8px;display:flex}.footer nav a:hover,.footer p{color:var(--warm)}.reveal{opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease);transform:translateY(32px)}.reveal.is-in{opacity:1;transform:none}@media (width<=1024px){.hero{grid-template-columns:1fr}.hero__media{height:56svh;margin-top:32px}.row a{grid-template-columns:44px 1fr 32px}.row__d{grid-area:2/2}.row__a{grid-area:1/3/3}.row__ph{display:none}.card--wide{grid-column:1/13}.card--tall{grid-column:7/13;margin-top:0}.card--sq{grid-column:1/7}.footer{grid-template-columns:1fr 1fr}}@media (width<=768px){.nav{display:none}.burger{display:block}.intro,.about{grid-template-columns:1fr}.about__media{aspect-ratio:4/5}.card--tall,.card--sq{grid-column:1/13}.card--full .media{aspect-ratio:4/3}.hero{padding-top:100px}.hero__cta .btn{flex:auto}.cursor{display:none}}@media (hover:none){.cursor{display:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:10ms!important;animation-duration:10ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}.card img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s var(--ease);display:block}.card:hover img{transform:scale(1.05)}.card.is-in{opacity:1;transform:none}
