:root { --paper:#f2eee6; --ink:#242321; --oxblood:#7c2430; --stone:#b8aea1; --white:#faf8f3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; }
img { display:block; width:100%; }
main { overflow:hidden; }
.site-header { min-height:86px; margin:0 4vw; border-bottom:1px solid var(--oxblood); display:flex; align-items:center; justify-content:space-between; gap:32px; }
.wordmark { text-decoration:none; text-transform:uppercase; letter-spacing:.24em; font-size:17px; font-weight:700; }
nav { display:flex; gap:clamp(18px,3vw,50px); }
nav a { text-decoration:none; font-size:15px; position:relative; }
nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:var(--oxblood); transition:right .2s ease; }
nav a:hover:after { right:0; }
.mobile-nav{display:none;position:relative;z-index:20}.mobile-nav summary{list-style:none;cursor:pointer;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700;padding:12px 0}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:" +";color:var(--oxblood)}.mobile-nav[open] summary:after{content:" −"}.mobile-nav nav{position:absolute;right:0;top:100%;width:min(280px,86vw);padding:12px 24px;background:var(--paper);border:1px solid var(--stone);box-shadow:0 16px 35px rgba(36,35,33,.16);display:flex;flex-direction:column;gap:0}.mobile-nav nav a{padding:14px 0;border-bottom:1px solid #d7cfc4;font-family:Georgia,serif;font-size:18px}.mobile-nav nav a:last-child{border-bottom:0}.mobile-nav nav a:after{display:none}
.hero { min-height:740px; padding:42px 5vw 54px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr); align-items:center; gap:5vw; }
.hero-copy { padding-top:12px; max-width:850px; animation:rise .65s ease both; }
.eyebrow,.section-number,.kicker { color:var(--oxblood); text-transform:uppercase; letter-spacing:.17em; font-size:12px; font-weight:700; }
h1,h2,h3 { margin:0; font-family:Georgia, 'Times New Roman', serif; font-weight:400; }
h1 { font-size:clamp(58px,6vw,96px); line-height:.99; letter-spacing:-.045em; max-width:900px; }
.lede { max-width:720px; margin:28px 0 0; font-size:19px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:0 28px; text-decoration:none; border:1px solid var(--oxblood); transition:transform .2s, background .2s, color .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--oxblood); color:var(--white); }
.button-quiet { color:var(--oxblood); }
.film-link { display:inline-block; margin-top:20px; text-decoration:none; font-size:14px; border-bottom:1px solid var(--stone); padding-bottom:4px; }
.hero-portrait { margin:0; position:relative; }
.hero-portrait img { width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; }
.hero-portrait figcaption { writing-mode:vertical-rl; position:absolute; right:-28px; top:0; height:100%; text-transform:uppercase; letter-spacing:.22em; font-size:10px; }
.credential-strip { min-height:88px; margin:0 5vw; border-top:1px solid var(--stone); border-bottom:1px solid var(--stone); display:grid; grid-template-columns:1.5fr repeat(3,1fr); align-items:center; }
.credential-strip span { padding:18px 28px; text-transform:uppercase; letter-spacing:.12em; font-size:12px; border-right:1px solid var(--stone); }
.credential-strip span:last-child { border-right:0; }
.section { padding:120px 6vw; }
.section-heading { display:grid; grid-template-columns:1fr 2.3fr; gap:5vw; margin-bottom:70px; align-items:start; }
.section-heading.compact { margin-bottom:45px; }
.section-heading h2,.photo-story h2,footer h2 { font-size:clamp(45px,5vw,78px); line-height:1.02; letter-spacing:-.04em; }
.section-number { margin:7px 0 0; }
.career { background:var(--white); }
.career-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:7vw; }
.career-feature { border-top:3px solid var(--oxblood); padding-top:34px; }
.career-feature h3,.venture-grid h3 { font-size:clamp(40px,4vw,64px); }
.role { font-size:17px; font-weight:700; }
.career-feature p:not(.kicker),.venture-grid p:not(.kicker) { font-size:17px; line-height:1.7; }
.career-feature a,.venture-grid a { color:var(--oxblood); text-underline-offset:5px; }
.career-notes { border-top:1px solid var(--stone); }
.career-notes article { padding:26px 0; border-bottom:1px solid var(--stone); display:grid; grid-template-columns:1fr 1.3fr; gap:22px; }
.career-notes h3 { font-size:29px; }
.career-notes p:last-child { grid-column:1/-1; margin:0; line-height:1.6; }
.expertise-list { border-top:1px solid var(--stone); }
.expertise-list article { display:grid; grid-template-columns:70px 1fr 1.2fr; gap:30px; padding:30px 0; border-bottom:1px solid var(--stone); align-items:start; }
.expertise-list span { color:var(--oxblood); font-size:12px; letter-spacing:.15em; }
.expertise-list h3 { font-size:30px; }
.expertise-list p { margin:0; line-height:1.65; color:#59544f; }
.ventures { background:#e8e1d7; }
.venture-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:1px; background:var(--stone); border:1px solid var(--stone); }
.venture-grid article { background:var(--paper); padding:42px; min-height:370px; display:flex; flex-direction:column; }
.venture-grid article p:not(.kicker) { flex:1; }
.venture-grid h3 { font-size:40px; }
.photo-story { background:#1d1c1a; color:var(--white); padding:110px 5vw; }
.photo-story-heading { display:grid; grid-template-columns:.7fr 1.3fr 1fr; gap:4vw; margin-bottom:50px; align-items:start; }
.photo-story-heading p:last-child { margin:0; color:#c7c0b8; line-height:1.65; }
.film-gallery { max-width:1400px; margin:0 auto; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px 14px; align-items:start; }
.film-photo { margin:0; grid-column:span 3; overflow:hidden; background:#f3ede4; color:#211f1c; border:1px solid rgba(255,255,255,.18); box-shadow:0 12px 34px rgba(0,0,0,.18); }
.film-photo:nth-child(-n+3),.film-photo:nth-child(n+8):nth-child(-n+10),.film-photo:nth-child(n+15):nth-child(-n+17) { grid-column:span 4; }
.photo-frame { aspect-ratio:4/3; overflow:hidden; background:#45413c; display:flex; align-items:center; justify-content:center; }
.film-photo:nth-child(-n+3) .photo-frame { aspect-ratio:16/10; }
.film-photo img { width:100%; height:100%; object-fit:contain; filter:brightness(1.52) contrast(.94) saturate(1.08); transition:transform .4s ease,filter .4s ease; }
.film-photo:nth-child(-n+12) img { filter:brightness(1.68) contrast(.9) saturate(1.12); }
.film-photo figcaption,.film-organized figcaption { padding:18px 18px 20px; min-height:104px; }
.film-photo figcaption span,.film-organized figcaption span,.media-film-grid figcaption span { display:block; color:var(--oxblood); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.film-photo figcaption p,.film-organized figcaption p,.media-film-grid figcaption p { margin:8px 0 0; font-family:Georgia,serif; font-size:15px; line-height:1.35; }
.film-organized { grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px 12px; align-items:start; }
.film-organized figure { grid-column:span 3; display:block; aspect-ratio:auto; background:#f7f2ea; border:1px solid #d7cfc4; box-shadow:0 10px 28px rgba(44,35,28,.1); }
.film-organized figure:nth-child(-n+3),.film-organized figure:nth-child(n+8):nth-child(-n+10),.film-organized figure:nth-child(n+15):nth-child(-n+17) { grid-column:span 4; }
.film-organized figure:nth-child(-n+3) .photo-frame { aspect-ratio:16/10; }
.film-organized img { filter:brightness(1.52) contrast(.94) saturate(1.08); }
.film-organized figure:nth-child(-n+12) img { filter:brightness(1.68) contrast(.9) saturate(1.12); }
.media-film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.media-film-grid figure{margin:0;background:#f7f2ea;border:1px solid #d7cfc4;box-shadow:0 8px 22px rgba(44,35,28,.08)}.media-film-grid .photo-frame{aspect-ratio:16/10}.media-film-grid img{width:100%;height:100%;object-fit:contain;filter:brightness(1.62) contrast(.92) saturate(1.1)}.media-film-grid figcaption{padding:14px 15px 16px;min-height:92px}.media-film-grid figcaption p{font-size:14px}.media-gallery-link{display:inline-block;margin-top:30px;color:var(--oxblood);text-underline-offset:5px}
.film-photo:hover img { transform:scale(1.01); }
.film-photo:nth-child(n+13):nth-child(-n+18){grid-column:span 4}
.film-photo:nth-child(n){grid-column:span 3}.film-photo:nth-child(1),.film-photo:nth-child(4),.film-photo:nth-child(5),.film-photo:nth-child(8),.film-photo:nth-child(9),.film-photo:nth-child(n+23){grid-column:1/-1}.film-photo:nth-child(2),.film-photo:nth-child(3),.film-photo:nth-child(6),.film-photo:nth-child(7){grid-column:span 6}.film-photo:nth-child(10),.film-photo:nth-child(11),.film-photo:nth-child(12){grid-column:span 4}.film-photo:nth-child(1) .photo-frame,.film-photo:nth-child(4) .photo-frame,.film-photo:nth-child(5) .photo-frame,.film-photo:nth-child(8) .photo-frame,.film-photo:nth-child(9) .photo-frame,.film-photo:nth-child(n+23) .photo-frame{aspect-ratio:auto}.film-photo:nth-child(1) img,.film-photo:nth-child(4) img,.film-photo:nth-child(5) img,.film-photo:nth-child(8) img,.film-photo:nth-child(9) img,.film-photo:nth-child(n+23) img{height:auto;max-height:900px}.film-photo .photo-frame{justify-content:center;align-items:center}.film-photo img{margin-left:auto;margin-right:auto;object-position:center}.film-photo:nth-child(1) figcaption,.film-photo:nth-child(4) figcaption,.film-photo:nth-child(5) figcaption,.film-photo:nth-child(8) figcaption,.film-photo:nth-child(9) figcaption,.film-photo:nth-child(n+23) figcaption{max-width:980px;margin:0 auto;text-align:center}
.film-photo .photo-frame{aspect-ratio:auto!important;min-height:0}.film-photo .photo-frame img{display:block;width:100%;height:auto!important;min-height:0;max-height:none;object-fit:contain;object-position:center;margin-left:auto;margin-right:auto}.film-photo:nth-child(n+13):nth-child(-n+16){grid-column:span 3}.film-photo:nth-child(n+17):nth-child(-n+19){grid-column:span 4}.film-photo:nth-child(n+20){grid-column:1/-1}.film-photo:nth-child(n+20) figcaption{max-width:980px;margin:0 auto;text-align:center}
.film-photo,.film-photo .photo-frame{overflow:visible}.film-photo:nth-child(n+10):nth-child(-n+19){grid-column:span 6}.film-photo:nth-child(n+10):nth-child(-n+19) .photo-frame{aspect-ratio:auto}.film-photo:nth-child(n+10):nth-child(-n+19) img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.film-gallery{grid-template-columns:1fr;gap:46px}.film-photo:nth-child(n){grid-column:1!important;width:100%;max-width:900px;margin:0 auto;overflow:visible}.film-photo:nth-child(1),.film-photo:nth-child(4),.film-photo:nth-child(5),.film-photo:nth-child(8),.film-photo:nth-child(9),.film-photo:nth-child(n+20){max-width:1200px}.film-photo .photo-frame{width:100%;height:auto;aspect-ratio:auto!important;overflow:visible;background:#292724}.film-photo .photo-frame img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;margin:0 auto}.film-photo figcaption{min-height:0;padding:19px 24px 21px}.film-photo:nth-child(n) figcaption{max-width:none;text-align:left;margin:0}.organized-grid figure,.media-film-grid figure{aspect-ratio:auto;overflow:visible}.organized-grid img,.media-film-grid img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}.media-film-grid .photo-frame{aspect-ratio:auto;min-height:0}.family-gallery img{height:auto;object-fit:contain;object-position:center}
.film-photo[data-photo="2"] img{filter:brightness(1.08) contrast(.98) saturate(1.02)!important}
.button-dark { margin-top:42px; color:var(--white); border-color:#8b7a70; }
.about { background:var(--white); }
.about-copy { margin-left:32%; max-width:680px; margin-bottom:50px; }
.about-lede { font-family:Georgia,serif; font-size:34px; margin-bottom:15px; }
.about-copy p:last-child { line-height:1.7; color:#5f5a54; }
.family-gallery { max-width:1400px; margin:0 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.family-gallery img { width:100%; height:360px; object-fit:contain; background:#eee8df; }
.editorial-preview{background:#e8e1d7}.editorial-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--stone);border:1px solid var(--stone)}.editorial-cards a{background:var(--paper);padding:40px;text-decoration:none;min-height:330px;display:flex;flex-direction:column}.editorial-cards span{color:var(--oxblood);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.editorial-cards h3{font-size:34px;margin:25px 0 20px}.editorial-cards p{line-height:1.7;color:#5f5a54}.editorial-cards a:hover h3{color:var(--oxblood)}
.subpage{min-height:100vh;background:var(--paper)}.subpage-header{min-height:86px;padding:0 4vw;border-bottom:1px solid var(--oxblood);display:flex;align-items:center;justify-content:space-between}.subpage-hero{padding:100px 7vw 70px;border-bottom:1px solid var(--stone)}.subpage-hero h1{font-size:clamp(58px,7vw,100px);line-height:.95;letter-spacing:-.045em;max-width:1050px}.subpage-hero p:last-child{font-size:19px;line-height:1.7;max-width:760px}.content-wrap{max-width:1180px;margin:0 auto;padding:85px 6vw}.qa-list{border-top:1px solid var(--stone)}.qa-item{padding:38px 0;border-bottom:1px solid var(--stone);display:grid;grid-template-columns:1fr 1.4fr;gap:6vw}.qa-item h2{font-size:30px;line-height:1.2}.qa-item p{margin:0;line-height:1.75;color:#514d48}.article-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.article-card{border:1px solid var(--stone);padding:38px;text-decoration:none;min-height:350px;display:flex;flex-direction:column}.article-card span{color:var(--oxblood);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.article-card h2{font-size:42px;line-height:1.05;margin:24px 0}.article-card p{line-height:1.65;color:#5c5751;flex:1}.article-body{max-width:820px;margin:0 auto;padding:85px 6vw}.article-body .byline{color:var(--oxblood);text-transform:uppercase;letter-spacing:.13em;font-size:11px}.article-body p{font-family:Georgia,serif;font-size:20px;line-height:1.8}.article-body h2{font-size:38px;margin:55px 0 15px}.video-section{max-width:1200px;margin:0 auto;padding:80px 5vw}.video-section video{width:100%;aspect-ratio:16/9;background:#111}.organized-gallery{max-width:1300px;margin:0 auto;padding:30px 5vw 90px}.organized-gallery h2{font-size:46px;margin:65px 0 25px}.organized-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.organized-grid figure{margin:0;background:#e8e1d7;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}.organized-grid img{width:100%;height:100%;object-fit:contain}.subpage-footer{padding:50px 6vw;background:var(--oxblood);color:#fff;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.subpage-footer a{color:#fff}
footer { padding:90px 6vw 35px; background:var(--oxblood); color:var(--white); display:grid; grid-template-columns:1.4fr 1fr; gap:60px; }
footer .section-number { color:#eadbd8; }
.contact-links { display:flex; flex-direction:column; gap:18px; align-self:end; }
.contact-links a { text-underline-offset:5px; }
.copyright { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.35); padding-top:22px; margin-top:45px; font-size:12px; letter-spacing:.08em; }
@keyframes rise { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto}.hero-copy{animation:none}.film-photo img,.button{transition:none} }
@media (max-width:900px){
  .site-header{padding:22px 0;align-items:flex-start}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:70px}.hero-portrait{max-width:600px}.credential-strip{grid-template-columns:1fr 1fr}.credential-strip span:nth-child(2){border-right:0}.section-heading,.photo-story-heading{grid-template-columns:1fr;gap:20px}.career-grid,.venture-grid,.editorial-cards{grid-template-columns:1fr}.expertise-list article{grid-template-columns:45px 1fr}.expertise-list p{grid-column:2}.film-gallery,.film-organized{grid-template-columns:repeat(6,minmax(0,1fr))}.film-photo,.film-photo:nth-child(n+4),.film-organized figure,.film-organized figure:nth-child(n+4){grid-column:span 3}.film-photo:nth-child(-n+3),.film-organized figure:nth-child(-n+3){grid-column:span 2}.family-gallery,.organized-grid:not(.film-organized),.media-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qa-item{grid-template-columns:1fr;gap:15px}.article-list{grid-template-columns:1fr}.about-copy{margin-left:0}footer{grid-template-columns:1fr}.subpage-header nav{display:none}
}
@media (max-width:560px){
  .hero{padding-left:6vw;padding-right:6vw}.hero-portrait figcaption{display:none}.credential-strip{grid-template-columns:1fr}.credential-strip span{border-right:0;border-bottom:1px solid var(--stone)}.section{padding:85px 6vw}.career-notes article{grid-template-columns:1fr}.expertise-list article{grid-template-columns:35px 1fr}.venture-grid article{min-height:310px;padding:30px}.film-gallery,.film-organized,.family-gallery,.organized-grid,.media-film-grid{grid-template-columns:1fr}.film-photo,.film-photo:nth-child(n),.film-organized figure,.film-organized figure:nth-child(n){grid-column:span 1}.family-gallery img{height:auto}footer{padding-top:70px}
}

/* Mobile navigation and full-scale photography */
@media (max-width:900px){
  .desktop-nav{display:none!important}.mobile-nav{display:block}.mobile-nav nav{display:flex}
  .site-header,.subpage-header{align-items:center}.hero-portrait{width:100%;max-width:680px;margin:24px auto 0}
}
@media (max-width:700px){
  .hero{padding-left:0;padding-right:0}.hero-copy{padding-left:6vw;padding-right:6vw}.hero-portrait{width:100%;max-width:none}.hero-portrait img{width:100%;min-height:62vw;object-fit:contain}
  .film-gallery,.film-organized,.family-gallery,.organized-grid,.media-film-grid{grid-template-columns:1fr}.film-photo,.film-photo:nth-child(n),.film-organized figure,.film-organized figure:nth-child(n){grid-column:span 1}
  .organized-gallery{padding-left:4vw;padding-right:4vw}.family-gallery img{height:auto;min-height:68vw}.media-film-grid .photo-frame{min-height:62vw}
  .photo-story{padding-left:0;padding-right:0}.photo-story-heading{padding-left:6vw;padding-right:6vw}.film-gallery{gap:34px}.film-photo:nth-child(n){border-left:0;border-right:0;box-shadow:0 16px 38px rgba(0,0,0,.28)}.film-photo:nth-child(n) .photo-frame{aspect-ratio:auto;min-height:0}.film-photo:nth-child(n) .photo-frame img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}.photo-story>.button{margin-left:6vw}
}

/* Full-width film exhibition across the complete phone range, including landscape */
@media (max-width:900px){
  .photo-story{padding-left:0;padding-right:0}.photo-story-heading{padding-left:6vw;padding-right:6vw}.photo-story>.button{margin-left:6vw}
  .film-gallery{display:grid;grid-template-columns:1fr;width:100%;max-width:none;margin:0;gap:38px}
  .film-photo,.film-photo:nth-child(n){display:block;grid-column:1;width:100%;max-width:none;margin:0;border-left:0;border-right:0;box-shadow:0 18px 44px rgba(0,0,0,.32)}
  .film-photo:nth-child(n) .photo-frame{width:100%;aspect-ratio:auto;min-height:0}
  .film-photo:nth-child(n) .photo-frame img{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
  .film-photo figcaption{padding:20px 6vw 22px;min-height:0}
}
