/* Interaction layer: real photographs, project chapters and an accessible lightbox. */
.reading-progress{position:fixed;inset:0 auto auto 0;width:0;height:3px;background:var(--accent);z-index:50;pointer-events:none}
.interactive-hero{padding-top:46px;padding-bottom:62px;gap:4%;min-height:665px;overflow:clip}
.interactive-hero .hero-intro .kicker{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.12em;margin-bottom:30px}.tiny-star{font-size:25px;color:#d34b10;line-height:1}.interactive-hero h1{font-size:clamp(74px,9.6vw,149px);line-height:.86;letter-spacing:-.08em;margin-bottom:30px}.interactive-hero h1 span{display:inline-block;margin-left:0}.interactive-hero .intro-line{font-size:clamp(22px,2.1vw,31px);line-height:1.27}.intro-line em{font-family:Georgia,serif;font-weight:400}.interactive-hero .intro-detail{font-size:14px;line-height:1.65;max-width:460px}.hero-scene{position:relative;width:100%;max-width:550px;justify-self:end;padding:0 16px 0 28px;perspective:900px}.scene-backplate{position:absolute;inset:22px -4px 76px 57px;background:var(--accent);transform:rotate(5deg)}.hero-photo-button{display:block;width:100%;height:438px;padding:0;position:relative;overflow:hidden;border:0;background:#ccc8be;cursor:zoom-in;transform:rotate(-2deg);transition:transform .45s ease;isolation:isolate}.hero-photo-button:hover{transform:rotate(0)}.hero-photo-button img{width:100%;height:100%;object-fit:cover;object-position:50% 37%;display:block;transition:transform .6s ease}.hero-photo-button:hover img{transform:scale(1.035)}.photo-open{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:40px 19px 16px;background:linear-gradient(transparent,#0009);color:white;font-size:12px;text-align:left}.photo-open>span{font-size:23px}.scene-note{display:flex;align-items:center;justify-content:space-between;margin:19px 0 17px;gap:15px}.handwritten{font:italic 24px/1.2 Georgia,serif;letter-spacing:-.03em}.scene-counter{font-size:10px;letter-spacing:.08em}.hero-photo-nav{display:flex;gap:7px}.hero-photo-nav button{flex:1;min-height:40px;border:1px solid #b4afa4;background:transparent;border-radius:4px;text-align:left;padding:8px 10px;font:10px Helvetica,Arial,sans-serif;display:flex;gap:11px;align-items:center;cursor:pointer;transition:background .2s,color .2s,transform .2s}.hero-photo-nav button span{font-size:11px}.hero-photo-nav button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero-photo-nav button:hover{transform:translateY(-2px)}.hero-seal{position:absolute;right:-5px;top:-29px;width:114px;height:114px;background:var(--accent);border-radius:50%;padding:22px;display:flex;flex-direction:column;justify-content:center;font-size:10px;font-weight:700;line-height:1.15;transform:rotate(12deg);pointer-events:none;box-shadow:0 4px 15px #0001}.hero-seal b{position:absolute;right:18px;bottom:13px;font-size:29px}.hero-scene:hover .hero-seal{transform:rotate(-6deg);transition:transform .5s}.logo-grid a{transition:transform .25s}.logo-grid a:hover{transform:translateY(-5px)}
.interactive-work{max-width:none;background:#1b1d19;color:var(--paper);padding:59px var(--gutter) 44px}.interactive-work .section-top{max-width:1400px;margin:0 auto 31px}.interactive-work .section-top .kicker{color:#a7ab9b}.interactive-work .section-top h2{font-size:clamp(43px,4.4vw,66px)}.interactive-work h2 em{color:var(--accent)}.interactive-work a:focus-visible,.interactive-work button:focus-visible{outline-color:#ffb186}.project-tabs{display:none}.interactive-ready .project-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1400px;margin:auto;border-top:1px solid #55564b;border-bottom:1px solid #55564b}.project-tabs button{position:relative;display:flex;align-items:center;gap:14px;text-align:left;padding:20px 16px;background:transparent;color:#d3d4ca;border:0;border-right:1px solid #55564b;font:500 14px/1.3 Helvetica,Arial,sans-serif;min-height:70px;cursor:pointer;transition:background .25s,color .25s}.project-tabs button:first-child{border-left:1px solid #55564b}.project-tabs button:hover{background:#30322b;color:white}.project-tabs button[aria-selected=true]{background:var(--accent);color:#181a16}.tab-number{font-size:10px;opacity:.7}.tab-arrow{font-size:22px;margin-left:auto}.project-explorer{max-width:1400px;margin:auto}.explorer-panel{display:grid;grid-template-columns:1.23fr 1fr;background:var(--paper);color:var(--ink);min-width:0;scroll-margin-top:20px}.explorer-panel[hidden]{display:none}.project-explorer:has(.explorer-panel:not([hidden]) ~ .explorer-panel:not([hidden])){display:grid;gap:25px}.explorer-panel.is-switching{animation:chapter-arrive .45s ease both}.explorer-visual{min-width:0;min-height:450px;position:relative}.explorer-photo-button{width:100%;height:100%;position:absolute;inset:0;display:block;border:0;padding:0;cursor:zoom-in;overflow:hidden;background:#33372d;color:var(--ink)}.explorer-photo{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.explorer-photo-button:hover .explorer-photo{transform:scale(1.035)}.explorer-logo,.explorer-wordmark{position:absolute;top:22px;left:22px;padding:12px 15px;max-width:153px;height:63px;background:#fff;display:flex;align-items:center;justify-content:center}.explorer-logo img{max-width:123px;max-height:42px;width:auto;height:auto;object-fit:contain}.explorer-wordmark{display:block;font-size:16px;line-height:1.2;font-weight:700;text-align:left}.explorer-wordmark small{font-size:9px;letter-spacing:.08em}.gallery-invite{position:absolute;bottom:22px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;border:1px solid #fff9;background:#181a16cc;backdrop-filter:blur(8px);padding:15px 18px;color:white;font:12px/1.2 Helvetica,Arial,sans-serif}.gallery-invite b{font-size:22px;font-weight:400}.explorer-copy{padding:39px clamp(23px,3vw,50px) 33px;display:flex;flex-direction:column;align-items:start;min-width:0}.explorer-copy>.kicker{font-size:9px;color:#666b5e;margin-bottom:22px}.explorer-copy h3{font-size:clamp(34px,3.25vw,49px);letter-spacing:-.05em;font-weight:500;line-height:1.03;margin-bottom:22px}.explorer-description{font-size:15px;line-height:1.55;max-width:440px}.explorer-role{font-size:11px;line-height:1.5;color:#5f6259;margin:21px 0 26px!important}.explorer-role>span{display:block;font-size:8px;letter-spacing:.13em;margin-bottom:6px}.explorer-links{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:auto}.explorer-links .pill-button{font-size:12px;min-height:43px;padding:11px 17px;gap:28px}.secondary-story{font-size:11px;text-underline-offset:5px}.explorer-bottom{max-width:1400px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px auto 0}.explorer-bottom>p{font-size:12px;color:#a9ac9e}.project-pager{display:none;align-items:center;gap:18px}.interactive-ready .project-pager{display:flex}.project-pager button{width:40px;height:40px;background:transparent;color:var(--paper);border:1px solid #74776a;border-radius:50%;font-size:22px;cursor:pointer;transition:background .2s,color .2s}.project-pager button:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}.project-pager span{font-size:10px;white-space:nowrap}.interactive-work .archive-banner{max-width:1400px;margin:25px auto 0;border-color:#505247;padding:20px 0}.interactive-work .archive-banner>span{color:#b3b6a8}.interactive-work .archive-banner strong{font-size:14px}.about-preview{border-top:1px solid #505247}.about-preview .kicker{color:#b4b7aa}.media-picks>a{transition:padding-left .25s}.media-picks>a:hover{padding-left:12px}.contact-panel .pill-button:hover{transform:translate(3px,-3px);box-shadow:-4px 4px 0 #f5f2eb}
/* Gallery works with touch swipes, arrow keys, buttons and thumbnails. */
.photo-dialog{--ink:#191916;--paper:#f5f2eb;--accent:#ff702b;position:fixed;inset:0;padding:0;border:0;width:calc(100vw - 60px);max-width:1200px;height:calc(100dvh - 60px);max-height:950px;margin:auto;background:#191b17;color:var(--paper);overflow:hidden;box-shadow:0 25px 100px #0008}.photo-dialog::backdrop{background:#080a07e8;backdrop-filter:blur(12px)}.photo-dialog[open]{display:flex;flex-direction:column;animation:gallery-arrive .25s ease}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #46493e;gap:20px}.dialog-top h2{font:500 16px/1.2 Helvetica,Arial,sans-serif;margin:0;letter-spacing:-.02em}.dialog-close{background:transparent;color:white;border:1px solid #7a7e6e;min-width:43px;min-height:43px;border-radius:50%;font-size:24px;cursor:pointer}.gallery-stage{flex:1;min-height:0;position:relative;padding:20px 68px;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.gallery-stage>img{width:100%;height:100%;object-fit:contain;min-height:0}.gallery-nav{position:absolute;top:calc(50% - 23px);height:46px;width:46px;border:1px solid #8b907b;background:#272a20;color:white;border-radius:50%;font-size:25px;cursor:pointer;z-index:1}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-nav:hover,.dialog-close:hover{background:var(--accent);color:var(--ink)}.gallery-footer{display:grid;grid-template-columns:1fr auto;gap:15px;padding:10px 24px 23px}.gallery-caption{margin:0;font:13px/1.5 Helvetica,Arial,sans-serif;color:#deded2;max-width:760px}.gallery-counter{font-size:11px;white-space:nowrap;padding-top:2px}.gallery-thumbs{display:flex;gap:9px;padding:0 24px 18px;overflow:auto;flex-shrink:0}.gallery-thumbs button{padding:0;border:2px solid transparent;background:transparent;cursor:pointer;flex:0 0 70px;height:51px;opacity:.65}.gallery-thumbs button[aria-pressed=true]{border-color:var(--accent);opacity:1}.gallery-thumbs button:hover{opacity:1}.gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.gallery-trigger{background:none;border:0;padding:0;width:100%;cursor:zoom-in;display:block;text-align:inherit}.project-gallery figure>a,.photo-grid figure>a{cursor:zoom-in}.project-gallery .gallery-trigger img{display:block;width:100%}.photo-dialog button:focus-visible{outline:3px solid #ffae83;outline-offset:4px}.scroll-enter{animation:section-arrive .55s ease both}.hero-photo-button img.is-changing{animation:photo-arrive .42s ease}.hero-intro{animation:section-arrive .7s ease both}.hero-scene{animation:section-arrive .8s .1s ease both}
@keyframes chapter-arrive{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-arrive{from{opacity:0;transform:translateY(15px) scale(.99)}to{opacity:1;transform:none}}@keyframes photo-arrive{from{opacity:.4;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@keyframes section-arrive{from{transform:translateY(16px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(min-width:1600px){.interactive-work{padding-inline:max(var(--gutter),calc((100vw - 1400px)/2))}}
@media(max-width:1050px){.interactive-hero{gap:2%;padding-top:32px;min-height:640px}.interactive-hero h1{font-size:9.5vw}.hero-scene{padding-left:13px}.hero-photo-button{height:407px}.hero-photo-nav button{gap:6px;padding-inline:8px}.hero-photo-nav button span{font-size:10px}.hero-seal{width:97px;height:97px;top:-18px;right:-9px;padding:19px;font-size:9px}.hero-seal b{right:13px;bottom:9px}.project-tabs button{font-size:12px;padding:17px 12px;gap:9px}.tab-arrow{display:none}.explorer-copy{padding:29px 24px}.explorer-visual{min-height:439px}.explorer-copy h3{font-size:36px}.explorer-description{font-size:14px}.explorer-role{font-size:10px}.handwritten{font-size:22px}}
@media(max-width:700px){.interactive-hero{padding:26px 23px 35px;gap:43px;min-height:0;overflow:clip}.interactive-hero .hero-intro .kicker{font-size:8px;gap:9px;margin-bottom:23px}.tiny-star{font-size:21px}.interactive-hero h1{font-size:clamp(64px,18.5vw,123px);line-height:.88;letter-spacing:-.075em;margin:0 0 23px -4px}.interactive-hero h1 br{display:block}.interactive-hero .intro-line{font-size:25px;line-height:1.24;margin-bottom:15px!important}.interactive-hero .intro-detail{font-size:12px;line-height:1.6;margin-bottom:20px!important}.interactive-hero .availability{font-size:9px;margin-top:13px!important}.hero-scene{max-width:450px;padding:0 10px}.hero-photo-button{height:350px;transform:rotate(-2deg)}.scene-backplate{inset:16px 0 91px 25px;transform:rotate(4deg)}.scene-note{margin:17px 0 15px}.handwritten{font-size:22px}.hero-seal{width:93px;height:93px;right:0;top:-24px;font-size:8px;padding:20px}.hero-photo-nav{gap:6px}.hero-photo-nav button{font-size:9px;padding:10px 8px;min-height:42px}.hero-photo-nav button span{font-size:10px}.photo-open{font-size:11px;padding:35px 16px 13px}.interactive-work{padding:40px 20px 30px}.interactive-work .section-top{margin-bottom:25px}.interactive-work .section-top h2{font-size:42px}.interactive-ready .project-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:0}.project-tabs button{border-bottom:1px solid #55564b;min-height:62px;font-size:11px;padding:12px 10px;gap:9px}.project-tabs button:nth-child(3){border-left:1px solid #55564b}.tab-number{font-size:9px}.explorer-panel{grid-template-columns:1fr}.explorer-visual{min-height:0;aspect-ratio:1.3}.explorer-copy{padding:25px 22px 28px}.explorer-copy>.kicker{margin-bottom:15px;font-size:8px}.explorer-copy h3{font-size:35px;line-height:1.04;margin-bottom:15px}.explorer-description{font-size:13px;line-height:1.55}.explorer-role{margin:17px 0 22px!important;font-size:10px}.explorer-links .pill-button{min-height:42px;font-size:11px;padding:10px 15px;gap:25px}.secondary-story{font-size:10px}.explorer-logo,.explorer-wordmark{top:13px;left:13px;max-width:126px;height:51px;padding:10px 12px}.explorer-logo img{max-width:102px;max-height:32px}.explorer-wordmark{font-size:14px}.explorer-wordmark small{font-size:8px}.gallery-invite{bottom:13px;left:13px;right:13px;padding:11px 12px;font-size:10px}.gallery-invite b{font-size:20px}.explorer-bottom{margin-top:20px;gap:15px;align-items:center}.explorer-bottom>p{font-size:10px;line-height:1.4;max-width:170px}.project-pager{gap:10px}.project-pager button{width:36px;height:36px;font-size:19px}.project-pager span{font-size:9px}.interactive-work .archive-banner{margin-top:20px;padding-block:17px}.interactive-work .archive-banner strong{font-size:13px}.photo-dialog{width:100vw;height:100dvh;max-height:none;max-width:none}.dialog-top{padding:14px 16px;min-height:69px}.dialog-top h2{font-size:14px}.dialog-close{min-width:40px;min-height:40px}.gallery-stage{padding:12px 12px 58px}.gallery-prev,.gallery-next{top:auto;bottom:3px;height:41px;width:41px}.gallery-prev{left:calc(50% - 53px)}.gallery-next{right:calc(50% - 53px)}.gallery-footer{padding:15px 17px;gap:15px}.gallery-caption{font-size:11px;line-height:1.5}.gallery-counter{font-size:10px}.gallery-thumbs{padding:0 17px 18px;gap:7px}.gallery-thumbs button{flex-basis:60px;height:45px}.scene-counter{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero-photo-button:hover,.hero-photo-button:hover img,.explorer-photo-button:hover .explorer-photo,.logo-grid a:hover,.hero-photo-nav button:hover{transform:none}}
