@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@400;500&display=swap');
:root{--bg:#0b0b0b;--fg:#eee;--muted:#999;--line:#292929;--soft:#171717}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif;font-weight:300;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,11,11,.9);backdrop-filter:blur(12px);z-index:10}.logo{font-size:.82rem;letter-spacing:.18em;font-weight:500}.site-header nav{display:flex;gap:2.2rem;font-size:.78rem;letter-spacing:.08em}.site-header nav a{color:#aaa;transition:color .35s ease}.site-header nav a:hover,.site-header nav .active{color:#fff}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.4rem}.hero{min-height:calc(100vh - 84px);position:relative;display:flex;align-items:center;padding:8vw 10vw;overflow:hidden;background:radial-gradient(circle at 80% 40%,#242424 0,#111 35%,#0b0b0b 70%)}.hero-inner{position:relative;z-index:1;max-width:900px}.eyebrow,.section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:#8d8d8d}.hero h1,.page-heading h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(5rem,13vw,12rem);line-height:.82;font-weight:400;letter-spacing:-.055em;margin:1.4rem 0 2rem}.hero h1 span,.page-heading h1 span{color:#777}.intro{max-width:480px;color:#b8b8b8;font-size:1.05rem}.scroll-link{display:inline-block;margin-top:4rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#aaa}.hero-mark{position:absolute;right:8vw;bottom:4vw;font-family:"Playfair Display";font-size:20vw;color:#151515}.intro-section,.contact{padding:10vw}.intro-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:4rem}.intro-grid h2,.contact-grid h2{font-family:"Playfair Display";font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.95;margin:0}.intro-grid p,.contact-grid p{max-width:520px;color:#aaa;font-size:1.05rem}.text-link{display:inline-block;margin-top:1.5rem;border-bottom:1px solid #666;padding-bottom:.35rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.statement{padding:13vw 10vw;background:#151515}.statement-inner{max-width:1000px}.statement p{font-family:"Playfair Display";font-size:clamp(1.4rem,2.6vw,2.4rem);line-height:1.1;margin:0;color:#ddd}.subpage{padding:0 10vw 8vw}.page-heading{padding:10vw 0 8vw;max-width:1000px}.page-heading h1{font-size:clamp(4.5rem,10vw,9rem);margin:1.2rem 0}.page-heading>p:last-child{max-width:620px;color:#aaa}.works{display:flex;flex-direction:column;gap:10vw}.work-row{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(240px,1fr);gap:7vw;align-items:center}.work-row.reverse{grid-template-columns:minmax(240px,1fr) minmax(0,2.1fr)}.work-row.reverse .work-image{order:2}.work-row.reverse .work-info{order:1}.work-image{aspect-ratio:16/10;background:#171717;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);opacity:.82;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .5s}.work-image:hover img{transform:scale(1.035);opacity:1}.work-info span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#777}.work-info h2{font-family:"Playfair Display";font-weight:400;font-size:clamp(2rem,3.5vw,4rem);margin:.7rem 0}.work-info p{color:#aaa}.work-info .muted{font-size:.8rem;color:#666;margin-top:2rem}.content-block{display:grid;grid-template-columns:1fr 2fr;gap:8vw;border-top:1px solid var(--line);padding-top:3rem;max-width:1000px}.content-block p{max-width:700px;color:#aaa;font-size:1.05rem}.contact{border-top:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:2rem 5vw;display:flex;justify-content:space-between;color:#666;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.site-header{height:70px}.site-header nav{display:none;position:absolute;left:0;right:0;top:70px;background:#0b0b0b;border-bottom:1px solid var(--line);padding:1.5rem 5vw;flex-direction:column;gap:1rem}.site-header nav.open{display:flex}.menu-toggle{display:block}.hero{min-height:calc(100vh - 70px);padding:16vw 7vw}.hero h1{font-size:clamp(4.5rem,21vw,8rem)}.hero-mark{font-size:38vw;right:5vw}.intro-section,.contact,.subpage{padding-left:7vw;padding-right:7vw}.intro-grid,.contact-grid,.content-block{grid-template-columns:1fr;gap:3rem}.page-heading{padding:18vw 0 12vw}.page-heading h1{font-size:clamp(4rem,18vw,7rem)}.work-row,.work-row.reverse{grid-template-columns:1fr;gap:2rem}.work-row.reverse .work-image,.work-row.reverse .work-info{order:initial}.works{gap:18vw}footer{padding:1.5rem 7vw}}
.intro-grid h2 img {
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto;
}

.intro-grid > * {
  min-width: 0;
}

.textstyle14{font-family:"Playfair Display",serif;font-size:1.4rem;color:#fff;font-weight:500;display:block;margin-top:2rem}
.textstyle15{font-weight:500;color:#ddd;font-size:1.05rem}
.textstyle11{color:#aaa;font-size:.95rem}
.textstyle16{color:#aaa;font-size:.95rem}

.content-block a{color:#e8c48a;text-decoration:underline;text-decoration-color:rgba(232,196,138,.4);text-underline-offset:.2em;transition:color .25s ease,text-decoration-color .25s ease}
.content-block a:hover{color:#fff;text-decoration-color:#fff}