/* The groupings and reading order follow the supplied project artboards. */
.project-section { margin-top:90px; padding-top:28px; border-top:1px solid var(--line); }
.project-section > h2 { margin:24px 0 32px; }
.project-section .eyebrow { margin-bottom:30px; }
.project-copy h2 { margin-bottom:24px; }
.project-copy .case-copy + .case-copy { margin-top:22px; }
.project-micro { color:#8b95a6; font-size:10px; letter-spacing:.16em; text-transform:uppercase; line-height:1.8; margin-top:28px; }
.project-section img { border-radius:18px; min-width:0; }
.overview-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:70px; align-items:center; }
.overview-layout > img { aspect-ratio:1; object-fit:cover; }
.objective-layout { display:grid; grid-template-columns:.85fr 1.3fr; gap:54px; align-items:center; }
.objective-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:10px; }
.objective-gallery img { width:100%; height:100%; aspect-ratio:3 / 4; object-fit:cover; border-radius:14px; }
.objective-gallery img:first-child { grid-row:span 2; aspect-ratio:auto; }
.development-top { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.development-top img { width:100%; aspect-ratio:3 / 4; object-fit:cover; }
.development-bottom { display:grid; grid-template-columns:.9fr 1.2fr; gap:54px; align-items:center; margin-top:16px; }
.development-details { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.development-details img { aspect-ratio:1; object-fit:cover; }
.consistency-layout { display:grid; grid-template-columns:1.65fr 1fr; gap:40px; align-items:center; }
.consistency-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:8px; }
.consistency-gallery img { grid-column:span 3; aspect-ratio:2 / 3; object-fit:cover; border-radius:12px; }
.consistency-gallery img:nth-child(n+5) { grid-column:span 4; aspect-ratio:1; }
.anchor-list { margin-top:28px; }
.anchor-list > div { display:grid; grid-template-columns:1fr 1.2fr; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:11px; line-height:1.7; }
.anchor-list dt { color:#d4dbe6; }
.anchor-list dd { color:var(--muted); }
.model-layout { display:grid; grid-template-columns:4fr 1fr; gap:28px; align-items:start; }
.model-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.model-gallery img { aspect-ratio:.52; object-fit:cover; }
.model-crop { aspect-ratio:.52; overflow:hidden; border-radius:18px; }
.model-crop img { width:100%; height:100%; object-position:center top; transform:scale(1.4); transform-origin:center top; border-radius:0; }
.model-spec h3 { font-size:16px; font-weight:400; font-style:italic; margin-bottom:22px; }
.model-spec dl > div { margin-top:16px; }
.model-spec dt { color:#8e98a8; font-size:9px; text-transform:uppercase; margin-bottom:5px; }
.model-spec dd { font-size:11px; line-height:1.7; }
.movement-study img { width:100%; height:auto; }
.movement-study figcaption { display:block; text-align:right; margin-top:12px; color:#9ba5b5; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.studio-gallery { display:grid; grid-template-columns:1.5fr repeat(4,minmax(0,1fr)); gap:10px; }
.studio-gallery img { height:clamp(270px,34vw,460px); width:100%; object-fit:cover; border-radius:14px; }
.project-section .section-heading { margin-top:0; margin-bottom:32px; gap:55px; }
.campaign-monochrome { display:grid; grid-template-columns:1.18fr 1fr; grid-template-rows:auto auto; gap:14px; align-items:start; }
.campaign-monochrome img { width:100%; height:auto; }
.campaign-monochrome img:first-child { grid-row:span 2; aspect-ratio:1; height:100%; object-fit:cover; }
.campaign-monochrome img:nth-child(2) { aspect-ratio:16 / 9; object-fit:cover; object-position:center top; }
.campaign-monochrome img:nth-child(3) { width:90%; justify-self:start; aspect-ratio:16 / 10; object-fit:cover; object-position:center top; }
.campaign-red { display:grid; grid-template-columns:1.35fr .85fr; gap:14px; margin-top:14px; align-items:center; }
.campaign-red img { width:100%; height:auto; }
.campaign-cool { display:grid; grid-template-columns:.8fr 1.2fr; gap:14px; margin-top:14px; align-items:center; }
.eyewear-gallery { display:grid; grid-template-columns:1.2fr 1fr; gap:14px; align-items:start; }
.eyewear-gallery img:first-child { grid-row:span 2; aspect-ratio:1; height:100%; object-fit:cover; }
.eyewear-gallery img:nth-child(2) { width:92%; aspect-ratio:4 / 3; object-fit:cover; object-position:center top; }
.eyewear-gallery img:nth-child(3) { width:82%; justify-self:end; aspect-ratio:4 / 3; object-fit:cover; object-position:center top; }
.backstage-layout { display:grid; grid-template-columns:1.3fr .9fr; gap:30px; align-items:start; }
.backstage-layout > img:first-child { grid-row:span 2; width:100%; height:100%; object-fit:cover; }
.backstage-layout > img:last-child { width:100%; aspect-ratio:4 / 3; object-fit:cover; align-self:end; }
.process-layout { display:grid; grid-template-columns:1.05fr 1fr .9fr; gap:50px; align-items:start; }
.process-steps { list-style:none; counter-reset:steps; }
.process-steps li { display:flex; align-items:center; gap:18px; counter-increment:steps; padding:16px 0; border-bottom:1px solid var(--line); font-size:13px; line-height:1.7; }
.process-steps li::before { content:'0' counter(steps); color:var(--blue); font-size:10px; flex-shrink:0; }
.process-tools h3 { color:#9ea8b7; font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:400; }
.process-tools ul { list-style:none; margin:16px 0 32px; }
.process-tools li { padding:10px 0; border-bottom:1px solid var(--line); color:#b8c1cf; font-size:13px; }
.process-tools .case-copy { font-size:12px; }
.process-layout > img { width:100%; height:auto; }
.applications-layout { display:grid; grid-template-columns:1.3fr .8fr; gap:36px; align-items:stretch; }
.application-grid { list-style:none; counter-reset:channels; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.application-grid li { display:flex; flex-direction:column; gap:18px; padding:26px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:13px; line-height:1.6; counter-increment:channels; }
.application-grid li::before { content:counter(channels,lower-roman) '.'; color:var(--blue); font-size:14px; }
.application-grid li:nth-child(4n) { border-right:0; }
.application-grid li:nth-child(n+5) { border-bottom:0; }
.applications-layout > img { height:100%; width:100%; object-fit:cover; }
.case-closing > img { aspect-ratio:4 / 5; object-fit:cover; }
@media(max-width:1050px) {
 .overview-layout,.objective-layout { gap:35px; }
 .consistency-layout { grid-template-columns:1.4fr 1fr; gap:30px; }
 .model-layout { grid-template-columns:1fr; }
 .model-spec dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 25px; }
 .model-spec h3 { margin-top:20px; margin-bottom:0; }
 .process-layout { gap:28px; }
 .application-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .application-grid li:nth-child(2n) { border-right:0; }
 .application-grid li:nth-child(n+5) { border-bottom:1px solid var(--line); }
 .application-grid li:nth-child(n+7) { border-bottom:0; }
}
@media(max-width:700px) {
 .project-section { margin-top:64px; padding-top:22px; }
 .project-section .eyebrow { margin-bottom:24px; }
 .overview-layout,.objective-layout,.development-bottom,.consistency-layout,.backstage-layout { display:flex; flex-direction:column; align-items:stretch; gap:26px; }
 .project-copy h2 { margin-bottom:18px; }
 .project-copy .case-copy + .case-copy { margin-top:16px; }
 .overview-layout > img { max-height:none; }
 .objective-gallery { gap:8px; }
 .objective-gallery img { border-radius:10px; }
 .objective-gallery img:not(:first-child) { aspect-ratio:3 / 4; }
 .development-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .development-top img { border-radius:14px; }
 .development-bottom { margin-top:26px; }
 .development-details { gap:8px; }
 .development-details img { border-radius:14px; }
 .consistency-gallery { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .consistency-gallery img { grid-column:span 3; aspect-ratio:3 / 4; }
 .consistency-gallery img:nth-child(n+5) { grid-column:span 2; aspect-ratio:3 / 4; }
 .anchor-list { margin-top:20px; }
 .model-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .model-gallery img { aspect-ratio:2 / 3; border-radius:14px; }
 .model-crop { aspect-ratio:2 / 3; border-radius:14px; }
 .model-crop img { border-radius:0; }
 .model-spec dl { grid-template-columns:1fr 1fr; gap:6px 20px; }
 .movement-study img { border-radius:14px; }
 .movement-study figcaption { font-size:9px; letter-spacing:.08em; }
 .studio-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .studio-gallery img { height:auto; aspect-ratio:2 / 3; }
 .studio-gallery img:first-child { grid-column:1 / -1; aspect-ratio:4 / 5; object-fit:contain; background:#d6d1c7; }
 .project-section .section-heading { gap:20px; margin-bottom:26px; }
 .campaign-monochrome { grid-template-columns:1fr 1fr; gap:10px; }
 .campaign-monochrome img:first-child { grid-row:auto; grid-column:1 / -1; aspect-ratio:1; height:auto; }
 .campaign-monochrome img:nth-child(2),.campaign-monochrome img:nth-child(3) { width:100%; aspect-ratio:4 / 3; }
 .campaign-red { grid-template-columns:1.2fr 1fr; gap:10px; margin-top:10px; }
 .campaign-cool { grid-template-columns:1fr 1.2fr; gap:10px; margin-top:10px; }
 .campaign-monochrome img,.campaign-red img,.campaign-cool img { border-radius:12px; }
 .eyewear-gallery { grid-template-columns:1fr 1fr; gap:10px; }
 .eyewear-gallery img:first-child { grid-row:auto; grid-column:1 / -1; aspect-ratio:1; height:auto; }
 .eyewear-gallery img:nth-child(2),.eyewear-gallery img:nth-child(3) { width:100%; aspect-ratio:4 / 3; border-radius:12px; }
 .backstage-layout > img:first-child { height:auto; aspect-ratio:auto; }
 .backstage-layout > img:last-child { width:85%; align-self:flex-end; }
 .process-layout { grid-template-columns:1fr 1fr; gap:30px 22px; }
 .process-steps { grid-column:1 / -1; }
 .process-tools ul { margin-bottom:24px; }
 .process-layout > img { align-self:start; position:sticky; top:110px; border-radius:14px; }
 .applications-layout { grid-template-columns:1fr; gap:26px; }
 .application-grid li { padding:20px; gap:14px; font-size:12px; }
 .applications-layout > img { height:auto; width:75%; justify-self:end; border-radius:18px; }
 .case-closing { padding-top:66px; }
}
@media(max-width:360px) {
 .case-wrap { width:calc(100% - 28px); }
 .project-section h2 { font-size:20px; }
 .consistency-gallery img:nth-child(n+5) { grid-column:span 3; }
 .consistency-gallery img:last-child { grid-column:2 / span 4; }
 .application-grid li { padding:17px 14px; }
}
