
:root{--paper:#fff;--ink:#111;--muted:#666;--line:#e3e3e3;--wine:#111}
::selection{background:#111;color:#fff}
.header{background:rgba(255,255,255,.96);border-color:#e8e8e8}
.wrap{max-width:1380px;padding-inline:6%}
nav{height:88px}.brand{font-size:13px;font-weight:500;letter-spacing:1.6px}.navlinks{gap:30px;font-size:11px}.edition{display:none}
.micro{font-size:9px;letter-spacing:1.6px}.masthead{padding-top:62px}.mast-top{color:#777}.masthead h1{font-size:clamp(42px,5vw,70px);letter-spacing:-.045em;line-height:1.12;margin:20px 0 55px}
.hero{grid-template-columns:37% 63%;min-height:620px}.hero-copy{padding:35px 20% 35px 0}.hero-copy h2{font-size:clamp(29px,3vw,42px);letter-spacing:-1px;line-height:1.2}.hero-copy h2 em{font-style:normal}.hero img{height:620px;object-position:50% 38%}.hero figure{background:#f5f5f5}.image-tag{background:#111b;color:#fff;font-size:8px}.bodycopy{font-size:12px;line-height:1.9}.caption{padding-top:17px}
.work{padding:100px 0 85px}.section-title{font-size:clamp(33px,3.4vw,46px);letter-spacing:-1.2px}.section-top{padding-bottom:23px}.projects{gap:70px}.project-image{background:#f4f4f4}.project-tag{background:#fff}.project-note{line-height:1.9}.about-main h2{font-size:clamp(28px,3vw,41px);letter-spacing:-1px}.disciplines span{border:0;border-bottom:1px solid #ddd;padding:9px 0;margin-right:18px}.contact{background:#111;color:#fff;padding:65px 6% 32px}.contact h2{font-size:clamp(40px,5.7vw,78px);letter-spacing:-2px;max-width:700px}.contact h2 em{font-style:normal}.contact-email{font-size:clamp(16px,1.8vw,23px)}.footer{color:#aaa;font-size:9px}.footer a{color:#fff}.dialog-top{background:#fff}
.project-intro{padding-top:50px}.project-intro h1{font-size:clamp(48px,6.8vw,92px);letter-spacing:-.045em;line-height:1.05;margin:35px 0}.project-intro h1 em{font-style:normal}.intro-grid{margin-top:35px;gap:10%}.intro-grid p{font-size:12px}.photo-lead{background:#f7f7f7;padding:38px}.story-note h2{font-size:clamp(28px,3.5vw,43px);letter-spacing:-1px}.story-note p{font-size:12px}.story{padding-top:70px}.photo-pair{gap:9%;margin:75px 0}.photo-pair figure:nth-child(2){margin-top:90px}.photo-caption{font-size:9px}.closing-image{max-width:700px}.lightbox{background:#111;color:#fff}.lightbox .close{color:#fff}.lightbox-controls button{color:#fff}.lightbox-controls p{color:#ccc}
@media(max-width:800px){nav{height:72px}.masthead{padding-top:36px}.masthead h1{font-size:52px;margin:22px 0 35px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.hero-copy h2{font-size:32px;margin:8px 0}.hero-copy .micro{grid-column:1/-1}.hero-copy .text-link{grid-column:2}.hero img{height:580px}.projects{gap:30px}.work{padding-top:70px}.about-main h2{font-size:32px}}
@media(max-width:480px){.wrap{padding-inline:6%}nav{height:66px}.brand{font-size:11px;letter-spacing:1px}.navlinks{gap:19px;font-size:10px}.mast-top{font-size:8px;gap:12px}.masthead{padding-top:30px}.masthead h1{font-size:43px;margin:22px 0 32px}.hero-copy{grid-template-columns:1fr;gap:12px;padding-bottom:28px}.hero-copy h2{font-size:31px;max-width:100%;line-height:1.17}.hero-copy .text-link{grid-column:1}.hero-copy .bodycopy{margin:0;max-width:290px}.hero img{height:470px}.caption{gap:18px;line-height:1.8}.section-title{font-size:35px}.projects{gap:40px}.about-main h2{font-size:29px}.contact{padding-top:45px}.contact h2{font-size:44px;letter-spacing:-1.5px}.contact-email{font-size:19px}.project-intro{padding-top:32px}.project-intro h1{font-size:49px;margin:30px 0}.intro-grid{gap:25px}.details{gap:20px}.photo-lead{padding:16px}.photo-pair{gap:35px;grid-template-columns:1fr;margin:40px 0}.photo-pair figure:nth-child(2){margin-top:0}.photo-pair figure{width:100%}.story-note h2{font-size:31px}.closing-image{margin-top:40px}.story{padding-bottom:20px}.endnote{padding-top:30px}}

/* Keep the full figure inside the homepage cover at every viewport size. */
.hero figure, .project[data-category="editorial"] .project-image { background: #f7f7f7; }
.hero img, .project[data-category="editorial"] img { object-fit: contain; object-position: center; filter: none; }
@font-face {
  font-family: 'Bodoni Moda';
  src: url('assets/bodoni-moda-display.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.masthead h1 {
  font-family: 'Bodoni Moda', Georgia, serif;
  letter-spacing: .025em;
}
.project-intro h1 { letter-spacing: -.025em; }
.about-main h2 { font-size: clamp(24px, 2.6vw, 37px); line-height: 1.25; }
@media (max-width: 480px) {
  .masthead h1 { font-size: clamp(32px, 10vw, 43px); }
  .project-intro h1 { font-size: clamp(39px, 10vw, 49px); }
  .hero img, .project[data-category="editorial"] img { height: auto; }
}

.contact-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #ffffff66;
}
.contact-icon:hover { border-color: #fff; }
.contact-icon:focus-visible { outline-color: #fff; }

.contact-links { justify-content: flex-start; flex-flow: row wrap; gap: 12px; }
.contact-icon-pending { opacity: .5; }

.contact-icon.social-icon { border: 0; }
.contact-icon.social-icon:hover { color: #ccc; }

.photo-button img { height: auto; }

/* Editorial refinement: portrait-led layouts and a clear type hierarchy. */
.micro,.navlinks,.caption,.photo-caption,.footer{font-size:11px}
.navlinks{gap:28px}.navlinks a{display:inline-flex;align-items:center;gap:5px;min-height:44px}
.icon-arrow{width:18px;height:18px;vertical-align:middle;flex-shrink:0}
.masthead{padding-top:44px}.masthead h1{font-size:clamp(44px,5.5vw,76px);margin:22px 0 44px}
.hero{grid-template-columns:1fr minmax(0,480px);gap:9%;min-height:0;align-items:center}
.hero-copy{padding:0;display:flex;gap:24px;align-items:flex-start;justify-content:center}
.hero-copy h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(28px,3.2vw,44px);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:0}
.hero-copy .bodycopy{font-size:16px;line-height:1.7;margin:0;max-width:290px}
.hero figure,.project[data-category="editorial"] .project-image{background:transparent}
.hero img{width:100%;height:auto;object-fit:contain}.image-tag{display:none}
.text-link{font-size:12px;display:inline-flex;align-items:center;gap:22px;padding:12px 0}.text-link span{margin-left:0}
.work{padding:100px 0 88px}.section-top{margin-bottom:32px}.section-top .micro{display:none}
.section-title{font-family:Arial,Helvetica,sans-serif;font-size:24px;letter-spacing:-.025em;line-height:1.2}
.projects{grid-template-columns:1fr 1fr;gap:40px}.project:nth-child(2){padding-top:0}
.project[data-category="editorial"] img,.project:nth-child(2) img{height:auto;width:100%;object-fit:contain}
.project-button:hover img{transform:none;opacity:.94}.project-info{padding:20px 0 14px;align-items:flex-end;border:0}
.project-info h3{font:400 clamp(18px,1.8vw,24px)/1.3 Arial,Helvetica,sans-serif;letter-spacing:-.025em;margin:8px 0 0}
.project-note{font-size:12px;margin:0;line-height:1.7}.arrow{line-height:1}
.about{grid-template-columns:1fr 2fr;gap:50px;padding:64px 0 80px}.about-main{max-width:660px}
.about-main h2{font:400 24px/1.3 Arial,Helvetica,sans-serif;letter-spacing:-.025em;margin-bottom:24px}
.about-copy{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 16px}
.contact{padding:54px 6% 26px}.contact-inner,.footer{max-width:1214px}
.contact h2{font:400 clamp(30px,4vw,50px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:20px 0 24px}
.contact-icon{border:0}.contact-icon:hover{color:#ccc}.contact-links{gap:14px;margin-left:-10px}
.footer{margin-top:40px;line-height:1.6;align-items:center}.footer a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.project-intro{padding:44px 0 48px}.project-intro h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(40px,5.7vw,78px);letter-spacing:-.045em;line-height:1.05}
.intro-grid p,.story-note p{font-size:15px;line-height:1.8}.details p{font-size:13px}
.photo-lead{max-width:660px;margin:0 auto;background:none;padding:0}.photo-lead img{width:100%;max-height:none}
.photo-caption{margin-top:12px;justify-content:flex-end}.story{padding:0 0 48px}.photo-pair{gap:40px;margin:56px 0;align-items:start}.photo-pair figure:nth-child(2){margin-top:0}
.endnote{align-items:center;padding:38px 0 56px}.next-project{display:flex;flex-wrap:wrap;justify-content:flex-end;text-align:right;max-width:400px;border:0}.next-project .micro{width:100%;color:var(--muted)}.next-project strong{font-size:20px;font-weight:400}
@media(max-width:800px){
 .hero{grid-template-columns:1fr 1.1fr;gap:32px}.hero-copy{display:flex;gap:20px}.hero-copy h2{font-size:30px}.hero-copy .bodycopy{font-size:15px}.masthead h1{font-size:54px}
 .projects{gap:24px}.about{grid-template-columns:1fr;gap:24px}.photo-pair{gap:24px}.footer{font-size:11px}
}
@media(max-width:540px){
 nav{height:66px}.navlinks{gap:16px;font-size:11px}.brand{font-size:11px}.mast-top{font-size:10px;line-height:1.6}.mast-top span:last-child{display:none}
 .masthead{padding-top:30px}.masthead h1{font-size:clamp(36px,10vw,53px);margin:18px 0 26px}
 .hero{grid-template-columns:1fr;gap:24px}.hero-copy{gap:0;padding:0}.hero-copy .micro,.hero-copy h2,.hero-copy .bodycopy{display:none}.hero-copy .text-link{padding:0 0 10px}.hero img{height:auto}
 .work{padding:54px 0}.section-title{font-size:21px}.projects{grid-template-columns:1fr;gap:38px}.project-info h3{font-size:21px}
 .about{padding:36px 0 42px;gap:20px}.about-main h2{font-size:22px}.about-copy{font-size:15px}.contact{padding-top:38px}.contact h2{font-size:34px}.contact-links{flex-direction:row;align-items:center}.footer{margin-top:28px;gap:20px;font-size:10px}
 .project-intro h1{font-size:42px}.intro-grid{grid-template-columns:1fr;gap:20px}.photo-lead{padding:0}.photo-pair{grid-template-columns:1fr;gap:32px;margin:32px 0}.photo-pair figure:nth-child(2){margin-top:0}.story{padding-bottom:0}.endnote{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.next-project{text-align:left;justify-content:flex-start}
}

.project-credit p{margin:8px 0 0;font-size:13px;color:var(--ink)}
.footer{flex-wrap:wrap;column-gap:26px;row-gap:12px}
@media(max-width:650px){.endnote{flex-direction:column;align-items:flex-start;gap:24px}.next-project{text-align:left;justify-content:flex-start}}

@media(min-width:541px){.projects{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}}

/* Recognition */
.recognition { border-top: 1px solid var(--line); padding: 60px 0 72px; }
.recognition .section-top { flex-wrap: wrap; gap: 12px; }
.recognition .section-top .micro { color: var(--muted); }
.recognition-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
  align-items: center;
  gap: 20px clamp(24px, 5vw, 72px);
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}
.recognition-entry.recognition-entry-submission { padding-top: clamp(34px, 5vw, 64px); }
.recognition-intro h3 {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 400;
  letter-spacing: -.04em;
  margin: 10px 0 16px;
}
.recognition-intro p { margin: 0 0 8px; line-height: 1.55; }
.recognition-intro .text-link { margin-top: 10px; }
.recognition-card, .recognition-pair figure { margin: 0; }
.recognition-card-single { width: 100%; max-width: 320px; justify-self: center; }
.recognition-pair {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 5fr);
  align-items: center;
  gap: clamp(10px, 2vw, 24px);
}
.recognition-pair-2024 { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.recognition img { display: block; width: 100%; height: auto; }
.recognition figcaption { margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.recognition-details { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.recognition-details summary { padding: 14px 0 0; cursor: pointer; font-size: 13px; }
.recognition-details summary .micro { margin-left: 8px; color: var(--muted); }
.recognition-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
  margin-top: 20px;
}
.recognition-gallery figure { margin: 0; }
@media(max-width:540px) {
  .recognition { padding: 42px 0 48px; }
  .recognition-entry { grid-template-columns: minmax(0, 1fr); padding: 22px 0; }
  .recognition-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .navlinks { gap: clamp(8px, 2.4vw, 14px); }
}
