.public-portfolio-section{display:grid;gap:1rem}.public-portfolio-section__filter{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem;color:#5c4a48}.public-portfolio-section__grid-head{margin-top:.25rem}.public-portfolio-section__grid-title{margin:0;font-size:1rem;font-weight:600;color:#2c1816}.public-portfolio-section__more{display:flex;justify-content:center;margin-top:.5rem}.public-portfolio-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}@media (min-width:640px){.public-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.public-portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.public-portfolio-hero{display:grid;gap:.75rem}.public-portfolio-hero__title{margin:0;font-size:1rem;font-weight:600;color:#2c1816}.public-portfolio-hero__card{overflow:hidden;border-radius:.875rem;border:1px solid #ead9d6;background:#111;box-shadow:0 8px 24px rgba(44,24,22,.08)}.public-portfolio-hero__card--portrait,.public-portfolio-hero__card--square{display:flex;justify-content:center}.public-portfolio-hero__media-shell{position:relative;display:block;width:100%;background:#111;min-height:14rem}.public-portfolio-hero__media-btn{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:none;background:transparent;cursor:pointer}.public-portfolio-hero__media-btn--landscape{aspect-ratio:16/9;max-width:100%}.public-portfolio-hero__media-btn--portrait{aspect-ratio:9/16;max-width:min(100%,22rem);margin-inline:auto;min-height:18rem}.public-portfolio-hero__media-btn--square{aspect-ratio:1/1;max-width:min(100%,28rem);margin-inline:auto}.public-portfolio-hero__media-btn--unknown{aspect-ratio:auto;min-height:14rem;max-height:70vh}.public-portfolio-hero__thumbnail{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:unset}.public-portfolio-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.public-portfolio-hero__overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(17,17,17,.05) 28%,rgba(17,17,17,.72));pointer-events:none}.public-portfolio-hero__panel{display:grid;gap:.875rem;width:100%;padding:1rem 1.125rem 1.125rem}@media (min-width:768px){.public-portfolio-hero__panel{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.25rem;padding:1.25rem 1.5rem 1.5rem}}.public-portfolio-hero__copy{display:grid;gap:.35rem;min-width:0;text-align:left}.public-portfolio-hero__heading{margin:0;font-size:1.125rem;font-weight:600;line-height:1.25;color:#fff}@media (min-width:768px){.public-portfolio-hero__heading{font-size:1.5rem}}.public-portfolio-hero__brand,.public-portfolio-hero__summary{margin:0;font-size:.875rem;color:rgba(255,255,255,.9)}.public-portfolio-hero__summary{font-size:.8125rem;color:rgba(255,255,255,.78)}.public-portfolio-hero__cta{justify-self:start;padding:.55rem .95rem;border-radius:999px;border:none;background:#fff;color:#2c1816;font-size:.875rem;font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer;pointer-events:auto}.public-portfolio-card{display:flex;flex-direction:column;min-width:0;border-radius:.875rem;overflow:hidden;background:#fff;border:1px solid #ead9d6;box-shadow:0 1px 2px rgba(44,24,22,.04)}.public-portfolio-card--highlighted{border-color:#c96f66;box-shadow:0 0 0 1px rgba(201,111,102,.35)}.public-portfolio-card__media-btn{position:relative;display:block;width:100%;padding:0;border:none;background:#f8f1ef;cursor:pointer}.public-portfolio-card__thumbnail{width:100%}.public-portfolio-card__duration{position:absolute;right:.625rem;bottom:.625rem;padding:.2rem .45rem;border-radius:.375rem;background:rgba(24,16,15,.72);color:#fff;font-size:.75rem;font-weight:400;line-height:1.2}.public-portfolio-card__body{display:grid;gap:.25rem;padding:.75rem .875rem .875rem}.public-portfolio-card__eyebrow{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8a7471}.public-portfolio-card__title{margin:0;font-size:.875rem;font-weight:600;color:#2c1816}.public-portfolio-card__brand{margin:0;font-size:.875rem;font-weight:400;color:#6a5654}.public-portfolio-card__meta,.public-portfolio-card__tech{margin:0;font-size:.75rem;font-weight:400;color:#8a7471;line-height:1.4}.public-portfolio-card__visit{display:inline-flex;margin-top:.15rem;font-size:.8125rem;font-weight:600;color:#b71422;text-decoration:none}.public-portfolio-card__visit:hover{text-decoration:underline}.public-portfolio-card__duration-line{margin:0;font-size:.75rem;color:#8a7471}.brand-collaborations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media (min-width:768px){.brand-collaborations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.brand-collaboration-card{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;text-align:left;cursor:pointer}.brand-collaboration-card:disabled{cursor:default;opacity:.92}.brand-collaboration-card--active{border-color:#c96f66;box-shadow:0 0 0 1px rgba(201,111,102,.35)}.brand-collaboration-card__logo{width:2.5rem;height:2.5rem;border-radius:.5rem;object-fit:contain;background:#fff;border:1px solid #ead9d6;flex-shrink:0}.brand-collaboration-card__logo--placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:#8f3f37;background:#fff7f6}.brand-collaboration-card__body{min-width:0}.brand-collaboration-card__name{margin:0;font-size:.875rem;font-weight:600;color:#2c1816}.brand-collaboration-card__industry{margin:.125rem 0 0;font-size:.75rem;color:#6a5654}.brand-collaboration-card__count{margin:.25rem 0 0;font-size:.75rem;color:#5c4a48}.public-portfolio-modal__backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(24,16,15,.72)}.public-portfolio-modal{position:relative;display:flex;flex-direction:column;width:min(100%,68rem);max-height:90vh;border-radius:1rem;background:#141414;color:#f5f0ef;box-shadow:0 24px 64px rgba(0,0,0,.45)}.public-portfolio-modal__close{position:absolute;top:.75rem;right:.75rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(20,20,20,.88);color:#fff;cursor:pointer}.public-portfolio-modal__close:hover{background:rgba(32,32,32,.95)}.public-portfolio-modal__close:focus-visible{outline:2px solid #ea232b;outline-offset:2px}.public-portfolio-modal__shell{display:flex;flex-direction:column;min-height:0;flex:1}.public-portfolio-modal__body{display:grid;min-height:0;flex:1}.public-portfolio-modal--single{height:auto;overflow-x:hidden;overflow-y:auto}.public-portfolio-modal:not(.public-portfolio-modal--single){overflow:hidden}.public-portfolio-modal__body--stacked{display:flex;flex-direction:column;min-height:0}.public-portfolio-modal__body--stacked .public-portfolio-modal__media{flex:0 0 auto;max-height:min(52vh,100%)}.public-portfolio-modal__body--stacked .public-portfolio-modal__media-inner,.public-portfolio-modal__body--stacked .public-portfolio-modal__player-wrap{height:auto;width:100%}.public-portfolio-modal__body--stacked .public-portfolio-modal__details{flex:1 1 auto;min-height:0}.public-portfolio-modal--single .public-portfolio-modal__shell{flex:0 0 auto;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.public-portfolio-modal--single .public-portfolio-modal__body{flex:0 0 auto}.public-portfolio-modal--single .public-portfolio-modal__body--stacked .public-portfolio-modal__details{flex:0 0 auto;overflow-y:visible}.public-portfolio-modal__body--split{display:grid;grid-template-columns:44% 56%;grid-template-rows:minmax(0,1fr)}.public-portfolio-modal__media{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;background:#0a0a0a}.public-portfolio-modal__media-inner,.public-portfolio-modal__player-wrap{display:flex;width:100%;height:100%;min-height:0;align-items:center;justify-content:center}.public-portfolio-modal__player-wrap{max-height:100%}.public-portfolio-modal__photo,.public-portfolio-modal__player-wrap{aspect-ratio:var(--portfolio-aspect-ratio,auto);max-width:100%;max-height:100%}.public-portfolio-modal__photo{display:block;width:auto;height:auto;object-fit:contain}.public-portfolio-modal__player{width:100%;height:100%;max-height:100%}.public-portfolio-modal__player.ifm-portfolio-media{border-radius:0;background:transparent}.public-portfolio-modal__details{display:flex;flex-direction:column;gap:.875rem;min-width:0;min-height:0;padding:1.375rem 1.5rem 1.875rem;overflow-y:auto;background:#181818}.public-portfolio-modal__body--split .public-portfolio-modal__details{border-left:1px solid rgba(255,255,255,.08)}.public-portfolio-modal__body--stacked .public-portfolio-modal__details{border-top:1px solid rgba(255,255,255,.08)}.public-portfolio-modal__heading,.public-portfolio-modal__service-badge,.public-portfolio-modal__service-badge--static{align-self:start}.public-portfolio-modal__service-badge,.public-portfolio-modal__service-badge--static{justify-self:start;padding:.3rem .7rem;border-radius:999px;border:1px solid rgba(234,35,43,.45);background:rgba(234,35,43,.12);color:#f7c6c8;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.public-portfolio-modal__service-badge{cursor:pointer}.public-portfolio-modal__service-badge:hover{background:rgba(234,35,43,.2)}.public-portfolio-modal__filmstrip-item:focus-visible,.public-portfolio-modal__nav-btn:focus-visible,.public-portfolio-modal__service-badge:focus-visible{outline:2px solid #ea232b;outline-offset:2px}.public-portfolio-modal__heading{display:grid;gap:.25rem}.public-portfolio-modal__title{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.public-portfolio-modal__subtitle{margin:0;font-size:.875rem;font-weight:400;color:rgba(255,255,255,.72)}.public-portfolio-modal__meta{display:grid;gap:.75rem;margin:0}.public-portfolio-modal__field{display:grid;gap:.25rem;margin:0}.public-portfolio-modal__field--description{min-width:0}.public-portfolio-modal__label{display:inline-flex;align-items:center;gap:.375rem;margin:0;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.04em}.public-portfolio-modal__description,.public-portfolio-modal__value{margin:0;font-size:.875rem;font-weight:400;color:rgba(255,255,255,.92)}.public-portfolio-modal__description{line-height:1.55;white-space:pre-wrap;padding-bottom:.125rem}.public-portfolio-modal__content-types{display:flex;flex-wrap:wrap;gap:.375rem}.public-portfolio-modal__content-type-pill{padding:.25rem .55rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.86);font-size:.75rem;font-weight:400}.public-portfolio-modal__footer{display:grid;flex-shrink:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem 1rem;border-top:1px solid rgba(255,255,255,.08);background:#121212}.public-portfolio-modal__nav-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:#fff;font-size:.875rem;font-weight:400;white-space:nowrap;cursor:pointer}.public-portfolio-modal__nav-btn:hover:not(:disabled){border-color:rgba(234,35,43,.65);color:#fff}.public-portfolio-modal__nav-btn:disabled{opacity:.38;cursor:not-allowed}.public-portfolio-modal__filmstrip{display:flex;gap:.5rem;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:.15rem .25rem;scroll-snap-type:x proximity}.public-portfolio-modal__filmstrip-item{position:relative;flex:0 0 5.5rem;width:5.5rem;height:3.1rem;padding:0;border:2px solid transparent;border-radius:.5rem;overflow:hidden;background:#1f1f1f;cursor:pointer;scroll-snap-align:center}.public-portfolio-modal__filmstrip-item--active{border-color:#ea232b;box-shadow:0 0 0 1px rgba(234,35,43,.45)}.public-portfolio-modal__filmstrip-thumb{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:unset}.public-portfolio-modal__photo-stage{position:relative;display:grid;place-items:center;width:100%;height:100%;min-height:0}.public-portfolio-modal__gallery-nav{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;transform:translateY(-50%);border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(15,15,15,.72);color:#fff;cursor:pointer}.public-portfolio-modal__gallery-nav--prev{left:.75rem}.public-portfolio-modal__gallery-nav--next{right:.75rem}.public-portfolio-modal__gallery-nav:hover{border-color:rgba(234,35,43,.7)}.public-portfolio-modal__gallery-nav:focus-visible{outline:2px solid #ea232b;outline-offset:2px}.public-portfolio-modal__gallery-thumbs{position:absolute;left:50%;bottom:.75rem;z-index:2;display:flex;gap:.4rem;max-width:calc(100% - 1.5rem);transform:translateX(-50%);overflow-x:auto;overscroll-behavior-x:contain;padding:.25rem;border-radius:.65rem;background:rgba(15,15,15,.62)}.public-portfolio-modal__gallery-thumb{position:relative;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;padding:0;border:2px solid transparent;border-radius:.4rem;overflow:hidden;background:#1f1f1f;cursor:pointer}.public-portfolio-modal__gallery-thumb--active{border-color:#ea232b}.public-portfolio-modal__gallery-thumb-img{display:block;width:100%;height:100%;object-fit:cover}@media (max-width:720px){.public-portfolio-modal{max-height:90vh;overflow-y:auto}.public-portfolio-modal__shell{min-height:auto}.public-portfolio-modal__body{display:flex;flex-direction:column;min-height:auto}.public-portfolio-modal__media{flex-shrink:0;max-height:none}.public-portfolio-modal__photo,.public-portfolio-modal__player-wrap{max-height:min(56vh,100%)}.public-portfolio-modal__details{flex-shrink:0;overflow-y:visible;padding-bottom:1.875rem;border-left:none;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column}.public-portfolio-modal__footer{grid-template-columns:1fr;gap:.625rem}.public-portfolio-modal__nav-btn{width:100%;justify-content:center}.public-portfolio-modal__filmstrip{order:-1}.public-portfolio-modal__gallery-nav{width:2.5rem;height:2.5rem}.public-portfolio-modal__gallery-thumbs{bottom:.5rem;max-width:calc(100% - 1rem);opacity:1;visibility:visible}}