:root{--bg:#f7f5f0;--panel:#fff;--ink:#181713;--muted:#68635b;--rule:rgba(24,23,19,.16);--accent:#9d6a3a;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;background:rgba(247,245,240,.84);backdrop-filter:blur(10px);border-bottom:1px solid rgba(24,23,19,.08);font-family:Arial,Helvetica,sans-serif}.brand{font-weight:700;letter-spacing:.02em}nav{display:flex;gap:18px;font-size:.88rem;color:var(--muted)}nav a:hover{color:var(--ink)}.hero{min-height:86vh;position:relative;display:grid;align-items:center;overflow:hidden;border-bottom:1px solid var(--rule)}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(247,245,240,.86) 0%,rgba(247,245,240,.58) 34%,rgba(247,245,240,.08) 66%),url("images/hero-imax-beach.jpg");background-size:cover;background-position:center 40%;transform:scale(1.002)}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding-top:72px}.eyebrow{margin:0 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}h1,h2,h3,p{margin-top:0}h1{max-width:520px;font-size:clamp(3.2rem,9vw,7.6rem);line-height:.92;letter-spacing:-.06em;margin-bottom:20px}.hero-subtitle{max-width:520px;font-size:clamp(1.15rem,2vw,1.55rem);color:#2a2824}.section{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:84px 0}.section.compact{padding:48px 0 88px}.narrow{max-width:860px}.lead{font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.24;letter-spacing:-.02em}.section-heading{margin-bottom:32px;max-width:690px}h2{font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;font-weight:500}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.work-grid article{min-height:176px;background:var(--bg);padding:28px}.work-grid h3{font-size:1.25rem;line-height:1.16;margin-bottom:14px}.work-grid p{color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.96rem}.wide-image{margin:0 auto;width:min(1280px,calc(100% - 48px))}.wide-image img{width:100%;aspect-ratio:16/8.2;object-fit:cover}figcaption{margin-top:10px;font-family:Arial,Helvetica,sans-serif;font-size:.82rem;color:var(--muted)}.split{display:grid;grid-template-columns:.95fr 1.35fr;gap:70px;align-items:start}.sticky-title{position:sticky;top:110px}.awards-list{border-top:1px solid var(--rule)}.awards-list p{margin:0;padding:18px 0;border-bottom:1px solid var(--rule);font-size:1.08rem}.awards-list strong{font-weight:700}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.image-pair img{width:100%;aspect-ratio:4/3;object-fit:cover}.bio p{font-size:1.18rem;color:#2b2924}.quiet{margin-top:16px}.contact{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.contact-line{font-family:Arial,Helvetica,sans-serif;font-size:1rem;color:var(--muted)}.contact-line span{color:var(--ink)}footer{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:30px 0 50px;font-family:Arial,Helvetica,sans-serif;color:var(--muted);font-size:.82rem}@media(max-width:820px){.site-header{padding:14px 18px}nav{gap:12px;font-size:.78rem}.hero{min-height:78vh;align-items:end}.hero-image{background-image:linear-gradient(180deg,rgba(247,245,240,.18) 0%,rgba(247,245,240,.82) 62%,rgba(247,245,240,.98) 100%),url("images/hero-imax-beach.jpg");background-position:58% center}.hero-content{padding-bottom:38px}.section{width:min(100% - 32px,var(--max));padding:62px 0}.work-grid{grid-template-columns:1fr}.work-grid article{min-height:auto}.wide-image{width:calc(100% - 32px)}.wide-image img{aspect-ratio:4/3}.split,.image-pair,.contact{grid-template-columns:1fr;gap:28px}.sticky-title{position:static}}@media(max-width:520px){.site-header{position:absolute;background:transparent;border:0}nav{display:none}h1{font-size:3.5rem}}