.project-card{display:block;position:relative;width:100%;height:100%;color:inherit;text-decoration:none}.project-card:focus-visible{outline:3px solid #e6d7c3;outline-offset:-5px}.project-card-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(125deg,#83888e,#575b63);color:#f3f0eb}.project-card-placeholder>span{font:300 40px Georgia,serif}.project-card-placeholder p{font-size:13.2px;letter-spacing:.12em;text-transform:uppercase}.project-card:hover .project-card-placeholder{background:linear-gradient(125deg,#92979d,#61656d)}.project-card figcaption span:nth-child(2){flex:1}.production{border-bottom:1px solid var(--line);background:var(--surface-production,#e9e5df)}.production-media{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;margin-top:48px}.production-placeholder{min-height:360px;background:#d9d4cd;border:1px solid #a08b7850;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#69452d}.production-placeholder>span{font:300 40px Georgia,serif}.production-placeholder p{font-size:13.2px;letter-spacing:.1em;text-transform:uppercase;text-align:center}.production-placeholder--team{background:#dfdbd5}.production-note{max-width:600px;margin-top:24px;font-size:15.6px;line-height:1.8;color:var(--muted)}
.project-heading{max-width:1100px;margin:0 auto;padding:64px var(--gutter) 42px;text-align:center}.project-heading h1{font:400 clamp(40px,5.5vw,76px)/1.05 var(--serif);letter-spacing:-.04em;margin:24px 0}.project-heading>p:last-child{max-width:600px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.7}.project-photo-section{max-width:1440px;margin:0 auto;padding:0 var(--gutter)}.project-slider{outline-offset:5px}.project-slider:focus-visible{outline:2px solid var(--accent)}.project-photo{aspect-ratio:16/9;background:var(--paper-deep);display:grid;place-items:center;overflow:hidden;touch-action:pan-y;user-select:none}.project-photo img{width:100%;height:100%;object-fit:contain;background:#e6ded3}.project-photo-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:24px;text-align:center;color:var(--muted)}.project-photo-placeholder span{font:300 40px var(--serif)}.project-photo-placeholder p{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.project-slider-controls{display:flex;justify-content:center;align-items:center;gap:28px;padding:18px 0}.project-slider-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:20px}.project-slider-controls button:hover{background:var(--paper-deep)}.project-slider-controls p{min-width:70px;text-align:center;font-size:10px;letter-spacing:.12em;color:var(--muted)}.project-slider-controls button:disabled{opacity:.3;cursor:default}.project-description{max-width:850px;margin:0 auto;padding:70px var(--gutter) 90px}.project-description h2,.project-profiles-heading h2{font:400 clamp(30px,3.4vw,48px)/1.1 var(--serif);letter-spacing:-.03em;margin:20px 0}.project-description>p:last-child,.project-profiles-heading>p:last-child{font-size:15px;line-height:1.9;color:var(--muted);white-space:pre-line}.project-profiles{padding-bottom:70px}.project-profiles-heading{max-width:740px;margin-bottom:36px}.project-photo--profile{aspect-ratio:2/1}.project-detail [hidden]{display:none!important}
@media(max-width:760px){.production-media{grid-template-columns:1fr;gap:16px;margin-top:30px}.production-placeholder{min-height:260px}.production-placeholder--team{min-height:210px}.project-heading{padding-top:36px;padding-bottom:28px}.project-heading h1{font-size:40px}.project-photo{aspect-ratio:4/3}.project-photo--profile{aspect-ratio:4/3}.project-description{padding-top:44px;padding-bottom:54px}.project-profiles{padding-bottom:40px}.project-description>p:last-child,.project-profiles-heading>p:last-child{font-size:14px}.project-photo-placeholder p{font-size:10px}}
.project-document{--paper:#e4e5e6}
.project-video-section{max-width:1440px;margin:0 auto;padding:0 var(--gutter)}.project-video-stage{aspect-ratio:16/9;display:grid;place-items:center;background:#d4d6d8;overflow:hidden}.project-video-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;width:100%;height:100%;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:13px;letter-spacing:.04em}.project-video-button>span:first-of-type{width:76px;height:76px;border:1px solid #83888e;border-radius:50%;display:grid;place-items:center;font-size:38px;line-height:1;padding-left:5px}.project-video-button:hover{background:#ccd0d3}.project-video-button:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.project-video-stage video{display:block;width:100%;height:100%;background:#202226}.project-video-status{min-height:20px;margin:14px 0 0;color:var(--muted);font-size:12px}.project-video-section:not([hidden])+.project-description{padding-top:54px}@media(max-width:760px){.project-video-stage{aspect-ratio:4/3}.project-video-button{font-size:12px}.project-video-button>span:first-of-type{width:62px;height:62px;font-size:30px}}
.project-profiles .project-video-section{padding:0}.project-photo-section [data-slider="photos"] .project-photo img{background:var(--paper)}
.project-video-button{position:relative;isolation:isolate}.project-video-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.project-video-button.has-preview:after{content:'';position:absolute;inset:0;background:#171a1e40;z-index:-1}.project-video-button.has-preview{color:#fff;text-shadow:0 1px 8px #0009}.project-video-button.has-preview>span:first-of-type{border-color:#fff9;background:#20222665;backdrop-filter:blur(4px)}.project-video-button.has-preview:hover:after{background:#171a1e25}
/* Project 02–04: complete photographs with an adjacent text column. */
.project-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(32px,5vw,80px);max-width:1440px;margin:0 auto;padding:56px var(--gutter) 72px}
.project-editorial-copy{min-width:0}
.project-editorial .project-heading{padding:0;text-align:left;max-width:none;margin:0}
.project-editorial .project-heading h1{font-size:clamp(34px,3.5vw,60px);line-height:1.08;margin:22px 0}
.project-editorial .project-heading>p:last-child{margin:0;max-width:none}
.project-editorial .project-description{padding:32px 0 0;max-width:none;margin:0}
.project-editorial .project-description .solution-kicker{display:none}
.project-editorial .project-description h2{font-size:clamp(22px,2vw,30px);margin:0 0 18px;line-height:1.2}
.project-editorial .project-description p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 18px}
.project-editorial>.project-photo-section{padding:0;margin:0;width:100%;min-width:0}
.project-editorial .project-photo{display:block;aspect-ratio:auto;background:transparent;overflow:visible}
.project-editorial .project-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
@media(max-width:1000px){.project-editorial{gap:30px}}
@media(max-width:760px){.project-editorial{display:flex;flex-direction:column;align-items:stretch;padding:32px var(--gutter) 44px;gap:28px}.project-editorial .project-heading h1{font-size:36px}.project-editorial .project-description{padding-top:24px}.project-editorial .project-description p{font-size:14px;line-height:1.75}}


/* Keep photo navigation above the image, anchored to the top of the row. */
.project-editorial{align-items:start}
.project-slider[data-slider="photos"]{display:flex;flex-direction:column;min-width:0;overflow-anchor:none}
.project-slider[data-slider="photos"]>.project-slider-controls{order:-1;flex:none;justify-content:center;gap:20px;height:52px;box-sizing:border-box;padding:0;margin:0 0 18px}
.project-slider[data-slider="photos"]>.project-slider-controls button{width:48px;height:48px;background:#43464d;border-color:#43464d;color:#fff;font-size:24px;transition:background .15s}
.project-slider[data-slider="photos"]>.project-slider-controls button:hover{background:#69452d;border-color:#69452d}
.project-slider[data-slider="photos"]>.project-slider-controls button:focus-visible{outline:3px solid #a08b78;outline-offset:3px}
.project-slider[data-slider="photos"]>.project-slider-controls p{font-size:12px;font-weight:600;color:#43464d}
.project-slider[data-slider="photos"] [data-slide]{touch-action:pan-y}
@media(max-width:760px){.project-slider[data-slider="photos"]>.project-slider-controls{justify-content:center;margin-bottom:16px}}


/* Production: equal media columns and natural caption placement. */
.production{padding-block:clamp(44px,4.5vw,72px)}
.production .section-intro{display:block;margin-bottom:32px}
.production .eyebrow{margin-bottom:24px}
.production h2{max-width:1000px;font-size:clamp(30px,2.5vw,42px);line-height:1.15;text-wrap:balance}
.production-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,2vw,36px);align-items:start}
.production-showcase>*{min-width:0}
.production-gallery,.production-partner{align-self:start}
.production-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}
.production-track::-webkit-scrollbar{display:none}
.production-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.production-track:focus-visible{outline:2px solid #69452d;outline-offset:4px}
.production-photo{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.production-photo img,.production-certificate img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;user-select:none}
.production-photo figcaption{min-height:calc(2.8em + 12px);padding-top:12px;font-size:12px;line-height:1.4;color:var(--muted)}
.production-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:8px}
.production-controls[hidden]{display:none}
.production-controls button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #a08b78;border-radius:50%;background:transparent;color:#49301f;cursor:pointer;font-size:21px;line-height:1}
.production-controls button:disabled{opacity:.3;cursor:default}
.production-controls button:focus-visible{outline:2px solid #69452d;outline-offset:3px}
.production-controls span{min-width:58px;text-align:center;font-size:12px;line-height:1.4;letter-spacing:.08em;color:var(--muted)}
.production-partner{padding:0;background:transparent;border:0}
.production-partner h3{margin:12px 0 0;padding:0;font:400 clamp(18px,1.35vw,22px)/1.35 var(--serif);letter-spacing:-.015em;text-align:left;text-wrap:balance}
.production-certificate{display:block}
.production-certificate:focus-visible{outline:2px solid #69452d;outline-offset:4px}
.production-intro-copy{display:flex;flex-direction:column;gap:16px;padding:0}
.production .section-description{max-width:none;margin:0;font-size:16px;line-height:1.65}
.production .section-description+.section-description{margin:0}
.production-facts{display:grid;gap:7px;list-style:none;margin:4px 0 0;padding:16px 0 0;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:#69452d}
.production-facts li{display:flex;align-items:baseline;gap:8px}
.production-facts li:before{content:'✓';flex:none}
@media(min-width:768px) and (max-width:1365px){
 .production-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .production-intro-copy{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
 .production .section-description:last-of-type{grid-column:1/-1;max-width:75ch}
 .production-facts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 28px;margin:0}
}
@media(min-width:1024px) and (max-width:1365px){
 .production-intro-copy{grid-template-columns:repeat(3,minmax(0,1fr))}
 .production .section-description:last-of-type{grid-column:auto}
}
@media(max-width:767px){
 .production .section-intro{margin-bottom:26px}
 .production .eyebrow{margin-bottom:20px}
 .production h2{max-width:24ch;font-size:clamp(27px,6vw,34px);line-height:1.16;text-wrap:initial}
 .production h2 br{display:none}
 .production h2 em{display:block}
 .production-showcase{grid-template-columns:minmax(0,1fr);gap:30px;max-width:560px;margin-inline:auto}
 .production-photo figcaption{min-height:0;font-size:12px}
 .production-controls{margin-top:14px}
 .production-partner h3{font-size:20px}
 .production-intro-copy{gap:16px}
 .production .section-description{font-size:16px;line-height:1.7}
 .production-facts{margin-top:2px;font-size:13px}
}
