@font-face{font-family:CaroHeadline;src:url('caro-headline.otf')}*{box-sizing:border-box}.projects-page{background:#fff}.gallery-header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 40px 8px}.gallery-brand{display:block;flex:0 0 90px;width:90px;height:96px;background:url('reference-layout-real-projects.png') no-repeat -40px -14px / 910px auto}.gallery-header nav{display:flex;gap:25px;font-size:11px;font-weight:800}.gallery-header nav .current{color:var(--pink)}.gallery-header .button{font-size:11px;padding:14px 18px}.gallery-intro{position:relative;isolation:isolate;max-width:1440px;margin:auto;min-height:385px;display:grid;grid-template-columns:1fr 1fr;padding:25px max(40px,calc((100% - 1160px)/2));overflow:hidden}.gallery-intro:before{content:'';position:absolute;inset:0;z-index:-1;background:url('gallery-ribbon.svg') no-repeat right center /cover}.gallery-intro-copy{padding:20px 0}.eyebrow{font-size:12px;letter-spacing:.08em;font-weight:800}.gallery-intro h1{font-family:CaroHeadline,Impact,sans-serif;font-size:clamp(44px,5.1vw,74px);line-height:1.02;margin:15px 0 18px}.gallery-intro-copy>p:not(.eyebrow){font-size:14px;line-height:1.5;color:#55515f;margin:0 0 22px}.gallery-intro .button{padding:13px 18px;font-size:11px}.gallery-collage{position:relative;min-height:320px}.gallery-collage img{position:absolute;object-fit:contain;filter:drop-shadow(0 10px 8px #15152120)}.collage-van{width:100%;height:205px;top:-8px;right:-12px;z-index:3}.collage-shirt{width:45%;height:218px;left:2%;bottom:-12px;z-index:4}.collage-cards{width:56%;height:145px;right:-6px;bottom:0;z-index:5;transform:rotate(-7deg)}.gallery-collection{position:relative;padding:40px 40px 65px;max-width:1240px;margin:auto}.gallery-collection:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}.collection-heading{text-align:center}.collection-heading .eyebrow{font-size:10px;margin-bottom:8px}.collection-heading h2{font-family:CaroHeadline,Impact,sans-serif;font-size:44px;margin:0 0 10px}.gallery-count{font-size:10px;color:var(--muted);letter-spacing:.04em}.gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 45px}.gallery-filters button{background:white;border:1px solid #ddd;border-radius:24px;padding:10px 22px;min-height:44px;font-family:CaroHeadline,Impact,sans-serif;font-size:16px}.gallery-filters button[aria-pressed="true"]{color:white;background:var(--grad);border-color:transparent}.project-group{--accent:#ed008c;--tint:#fdf6fb;margin:0 0 65px}.vehicles-group{--accent:#ff621b;--tint:#fff8f3}.printing-group{--accent:#076ade;--tint:#f5f9ff}.group-heading{display:flex;align-items:center;gap:18px;padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid #eae7ed}.group-number{font-family:CaroHeadline,Impact,sans-serif;font-size:54px;color:var(--accent);line-height:1}.group-heading p{font-size:9px;letter-spacing:.09em;font-weight:800;color:var(--accent);margin:0 0 6px}.group-heading h2{font-family:CaroHeadline,Impact,sans-serif;font-size:34px;line-height:1;margin:0}.group-heading .group-description{margin:0 0 0 auto;max-width:290px;color:#66616e;font-size:12px;font-weight:400;letter-spacing:0;line-height:1.5}.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;align-items:start}.vehicles-group .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.printing-group .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project{min-width:0;border:1px solid #e8e4ec;border-radius:13px;overflow:hidden;background:white;transition:box-shadow .2s,border-color .2s}.project:hover{border-color:var(--accent);box-shadow:0 8px 26px #24162a0c}.project-image{border:0;display:block;position:relative;padding:16px;width:100%;height:325px;background:linear-gradient(145deg,#fff,var(--tint));overflow:hidden}.project-image img{display:block;width:100%;height:100%;object-fit:contain}.project-image .enlarge{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #ded9e1;border-radius:50%;background:#fff;color:var(--accent)}.vehicles-group .project-image{height:365px;padding:12px}.printing-group .project-image{height:320px}.project-caption{padding:14px 16px 17px;background:#fff;border-top:1px solid #f1edf3}.project-caption small{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-weight:700}.project-caption h2{font-family:CaroHeadline,Impact,sans-serif;font-size:20px;line-height:1.15;margin:6px 0 0;overflow-wrap:anywhere}.project[hidden],.project-group[hidden]{display:none}.gallery-cta{position:relative;isolation:isolate;background:var(--grad);color:#fff;padding:42px 40px;display:flex;justify-content:center;align-items:center;gap:100px}.gallery-cta:before{content:'';position:absolute;inset:0;z-index:-1;background:url('gallery-ribbon.svg') no-repeat center /cover;opacity:.45}.gallery-cta h2{font-family:CaroHeadline,Impact,sans-serif;font-size:46px;line-height:1;margin:0}.gallery-cta .button{background:#fff;color:#8405ba}.gallery-footer{text-align:center;padding:26px;font-size:12px;color:var(--muted)}.project-viewer{width:min(1100px,95vw);height:94vh;max-height:94dvh;border:0;padding:48px 22px 20px;border-radius:14px;background:white}.project-viewer::backdrop{background:#11131ae8}.project-viewer img{display:block;width:100%;height:calc(100% - 75px);object-fit:contain}.project-viewer p{text-align:center;margin:10px 0;font-weight:700}.viewer-original{display:block;text-align:center;font-size:12px;color:#076ade}.viewer-close{position:absolute;top:4px;right:10px;border:0;background:white;font-size:32px;color:var(--ink);width:44px;height:44px}button:focus-visible,a:focus-visible{outline:3px solid #076bd6;outline-offset:3px}@media(max-width:950px){.gallery-header nav{gap:14px;font-size:10px}.gallery-header,.gallery-collection{padding-left:24px;padding-right:24px}.gallery-intro{padding:25px 24px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicles-group .projects-grid,.printing-group .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-heading .group-description{max-width:230px}.gallery-intro h1{font-size:52px}}@media(max-width:650px){.gallery-header{padding:16px 20px;gap:12px;flex-wrap:wrap}.gallery-brand{width:72px;height:78px;flex-basis:72px;background-size:728px auto;background-position:-32px -11px}.gallery-header nav{width:100%;order:3;justify-content:space-between;gap:6px}.gallery-header nav a{display:flex;align-items:center;min-height:44px;font-size:9px}.gallery-header .button{font-size:9px;min-height:44px;padding:11px}.gallery-intro{padding:10px 20px 25px;grid-template-columns:1fr}.gallery-intro-copy{padding:8px 0}.gallery-intro h1{font-size:clamp(40px,10.2vw,64px)}.gallery-intro-copy>p:not(.eyebrow){font-size:13px}.gallery-collage{min-height:270px;margin-top:12px}.collage-van{height:170px;width:95%;right:0}.collage-shirt{height:175px;width:43%;left:0}.collage-cards{height:125px;width:56%;right:0}.gallery-intro:before{background-position:right bottom;background-size:auto 340px}.gallery-collection{padding:30px 16px 40px}.collection-heading h2{font-size:36px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicles-group .projects-grid{grid-template-columns:1fr}.printing-group .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-image{height:250px;padding:10px}.vehicles-group .project-image{height:420px}.printing-group .project-image{height:240px}.project-caption{padding:11px 10px 13px}.project-caption h2{font-size:18px}.project-caption small{font-size:7px}.gallery-filters{gap:7px;margin:20px 0 35px}.gallery-filters button{font-size:14px;padding:10px 13px}.group-heading{gap:12px;flex-wrap:wrap}.group-number{font-size:44px}.group-heading h2{font-size:29px}.group-heading .group-description{margin-left:0;flex-basis:100%;max-width:none;font-size:12px}.project-group{margin-bottom:42px}.gallery-cta{flex-direction:column;text-align:center;gap:22px;padding:35px 20px}.gallery-cta h2{font-size:38px}}@media(prefers-reduced-motion:reduce){.project{transition:none}}

@media(max-width:380px){.projects-grid,.printing-group .projects-grid{grid-template-columns:1fr}.project-image,.printing-group .project-image{height:340px}.collection-heading h2{font-size:32px}.gallery-filters button{font-size:13px;padding:10px 12px}}

/* Square vehicle photographs at every screen size. */
.vehicles-group .project-image{height:auto;aspect-ratio:1 / 1;padding:0}.vehicles-group .project-image img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:center 62%;padding:0}

.gallery-intro h1,.collection-heading h2,.group-heading h2,.gallery-cta h2{font-family:CaroDisplay,CaroHeadline,Impact,sans-serif;font-weight:800}
