:root{--gunmetal:#183340;--orange:#ff7638;--orange-dk:#e55a1c;--white:#fff;--ink-100:#f5f4f2;--ink-200:#e8e6e1;--ink-400:#8a8880;--ink-500:#5c5a55;--azure:#2e6078;--green:#3a8c6e;--font-display:"DM Sans",system-ui,sans-serif;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--container:1200px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:#fff;color:var(--gunmetal);font-family:DM Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;height:auto;max-width:100%}a{color:inherit}.btn-primary{align-items:center;background:var(--orange);border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:600;padding:14px 30px;text-decoration:none;transition:background .15s,transform .15s}.btn-primary:hover{background:var(--orange-dk);transform:translateY(-1px)}.btn-ghost-light{align-items:center;background:transparent;border:1.5px solid hsla(0,0%,100%,.4);border-radius:999px;color:hsla(0,0%,100%,.85);cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:600;gap:6px;padding:14px 28px;text-decoration:none;transition:color .15s,gap .15s,border-color .15s}.btn-ghost-light:hover{border-color:hsla(0,0%,100%,.8);color:#fff;gap:10px}.btn-ghost-dark{align-items:center;background:transparent;border:1.5px solid var(--ink-200);border-radius:999px;color:var(--gunmetal);cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:600;gap:6px;padding:14px 28px;text-decoration:none;transition:color .15s,border-color .15s}.btn-ghost-dark:hover{border-color:var(--gunmetal)}.nav-spacer{height:64px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.container{margin:0 auto;max-width:var(--container);padding:0 32px}.eyebrow{align-items:center;display:inline-flex;font-size:11px;font-weight:700;gap:10px;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{background:currentColor;content:"";flex-shrink:0;height:1.5px;width:24px}h1,h2,h3,h4,h5,h6{text-wrap:balance}blockquote,dd,dt,figcaption,li,p{text-wrap:pretty}@media (max-width:767px){.container{padding:0 20px}}@media (max-width:479px){.container{padding:0 16px}}@media (min-width:1440px){:root{--container:1320px}}@media (min-width:1920px){:root{--container:1440px}}@media (min-width:2560px){:root{--container:1600px}html{font-size:17.5px}}.newsletter-inline{margin:56px 0;width:100%}.nl-card{align-items:flex-start;background:var(--gunmetal);border-radius:16px;display:flex;gap:28px;padding:36px 44px}.nl-card.nl-orange{background:var(--orange)}.nl-card.nl-light{background:var(--ink-100);border:1.5px solid var(--ink-200)}.nl-icon{align-items:center;background:hsla(0,0%,100%,.15);border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;margin-top:4px;width:48px}.nl-card.nl-light .nl-icon{background:rgba(255,118,56,.1)}.nl-content{flex:1;min-width:0}.nl-label{color:hsla(0,0%,100%,.65);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.nl-card.nl-light .nl-label{color:var(--orange)}.nl-title{color:#fff;font-family:var(--font-display);font-size:clamp(18px,2.4vw,23px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:8px;text-wrap:balance}.nl-card.nl-light .nl-title{color:var(--gunmetal)}.nl-desc{color:hsla(0,0%,100%,.8);font-size:14px;line-height:1.65;margin-bottom:20px;text-wrap:pretty}.nl-card.nl-light .nl-desc{color:var(--ink-500)}.nl-form{display:flex;flex-direction:column;gap:10px;max-width:440px}.nl-form-row{display:flex;gap:8px;width:100%}.nl-input{background:hsla(0,0%,100%,.92);border:1.5px solid transparent;border-radius:8px;color:var(--gunmetal);flex:1;font-family:var(--font-display);font-size:14px;height:44px;min-width:0;outline:none;padding:0 16px;transition:border-color .18s,box-shadow .18s}.nl-input::placeholder{color:var(--ink-500)}.nl-input:focus{border-color:#fff;box-shadow:0 0 0 3px hsla(0,0%,100%,.25)}.nl-card:not(.nl-orange):not(.nl-light) .nl-input{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.14);color:#fff}.nl-card:not(.nl-orange):not(.nl-light) .nl-input::placeholder{color:hsla(0,0%,100%,.4)}.nl-card:not(.nl-orange):not(.nl-light) .nl-input:focus{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.4);box-shadow:none}.nl-card.nl-light .nl-input{background:#fff;border-color:var(--ink-200)}.nl-card.nl-light .nl-input:focus{border-color:var(--ink-400);box-shadow:none}.nl-btn{background:var(--gunmetal);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-family:var(--font-display);font-size:14px;font-weight:700;height:44px;padding:0 22px;transition:background .18s;white-space:nowrap}.nl-btn:hover{background:#243f4b}.nl-card.nl-light .nl-btn,.nl-card:not(.nl-orange):not(.nl-light) .nl-btn{background:var(--orange)}.nl-card.nl-light .nl-btn:hover,.nl-card:not(.nl-orange):not(.nl-light) .nl-btn:hover{background:var(--orange-dk)}.nl-gdpr{align-items:flex-start;cursor:pointer;display:flex;gap:8px;max-width:440px}.nl-gdpr-check{accent-color:var(--gunmetal);cursor:pointer;flex-shrink:0;height:14px;margin-top:2px;width:14px}.nl-card.nl-light .nl-gdpr-check{accent-color:var(--orange)}.nl-gdpr span{color:hsla(0,0%,100%,.65);font-size:12px;line-height:1.55}.nl-gdpr a{color:hsla(0,0%,100%,.9);text-decoration:underline;text-underline-offset:2px}.nl-gdpr a:hover{color:#fff}.nl-card.nl-light .nl-gdpr span{color:var(--ink-500)}.nl-card.nl-light .nl-gdpr a{color:var(--gunmetal)}.nl-success{align-items:center;color:#fff;display:none;font-size:15px;font-weight:600;gap:10px}.nl-card.nl-light .nl-success{color:var(--gunmetal)}.nl-success-icon{align-items:center;background:hsla(0,0%,100%,.25);border-radius:50%;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.nl-card.nl-light .nl-success-icon{background:var(--orange)}.newsletter-float{background:#fff;border-radius:16px;bottom:28px;box-shadow:0 24px 64px rgba(24,51,64,.16),0 4px 16px rgba(24,51,64,.08),0 0 0 1px rgba(24,51,64,.06);opacity:0;overflow:hidden;pointer-events:none;position:fixed;right:28px;transform:translateY(calc(100% + 40px));transition:transform .42s cubic-bezier(.34,1.3,.64,1),opacity .32s ease;width:340px;z-index:9900}.newsletter-float.nl-float-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.newsletter-float.nl-float-hiding{opacity:0;pointer-events:none;transform:translateY(calc(100% + 40px))}.nl-float-bar{background:var(--orange);height:4px}.nl-float-body{padding:22px 22px 20px}.nl-float-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.nl-float-eyebrow{color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.nl-float-title{color:var(--gunmetal);font-family:var(--font-display);font-size:16px;font-weight:800;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}.nl-float-close{align-items:center;background:transparent;border:1.5px solid var(--ink-200);border-radius:7px;color:var(--ink-500);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;height:26px;justify-content:center;transition:background .15s,border-color .15s,color .15s;width:26px}.nl-float-close:hover{background:var(--ink-100);border-color:var(--ink-400);color:var(--gunmetal)}.nl-float-desc{color:var(--ink-500);font-size:13px;line-height:1.6;margin:0 0 14px;text-wrap:pretty}.nl-float-form{display:flex;flex-direction:column;gap:8px}.nl-float-input{background:var(--ink-100);border:1.5px solid var(--ink-200);border-radius:8px;color:var(--gunmetal);font-family:var(--font-display);font-size:14px;height:42px;outline:none;padding:0 14px;transition:border-color .18s,background .18s;width:100%}.nl-float-input::placeholder{color:var(--ink-500)}.nl-float-input:focus{background:#fff;border-color:var(--ink-400)}.nl-float-btn{background:var(--orange);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-display);font-size:14px;font-weight:700;height:42px;transition:background .18s;width:100%}.nl-float-btn:hover{background:var(--orange-dk)}.nl-float-gdpr{align-items:flex-start;cursor:pointer;display:flex;gap:7px}.nl-float-gdpr-check{accent-color:var(--orange);cursor:pointer;flex-shrink:0;height:13px;margin-top:1px;width:13px}.nl-float-gdpr span{color:var(--ink-500);font-size:11px;line-height:1.5}.nl-float-gdpr a{color:var(--gunmetal);text-decoration:underline;text-underline-offset:2px}.nl-float-success{align-items:center;display:none;flex-direction:column;gap:8px;padding:8px 0 4px;text-align:center}.nl-float-success-icon{align-items:center;background:rgba(255,118,56,.1);border-radius:50%;display:flex;height:44px;justify-content:center;width:44px}.nl-float-success-title{color:var(--gunmetal);font-family:var(--font-display);font-size:15px;font-weight:800}.nl-float-success-desc{color:var(--ink-500);font-size:13px;line-height:1.55}@media (max-width:680px){.nl-card{align-items:flex-start;flex-direction:column;gap:20px;padding:28px 22px}.nl-form{max-width:100%}.nl-form-row{flex-direction:column}.nl-btn{width:100%}}@media (max-width:480px){.newsletter-float{border-radius:16px 16px 0 0;bottom:0;left:0;right:0;width:100%}}.portfolio-wrap{margin:0 auto;max-width:1200px;padding:48px 24px 80px}.pf-filter-bar{background:var(--gunmetal);border-radius:16px;display:flex;flex-direction:column;gap:20px;margin-bottom:48px;padding:28px 32px}.pf-filter-group{align-items:flex-start;display:flex;gap:16px}.pf-filter-label{color:var(--ink-400);font-size:12px;font-weight:700;letter-spacing:.08em;min-width:64px;padding-top:7px;text-transform:uppercase;white-space:nowrap}.pf-pills{display:flex;flex-wrap:wrap;gap:8px}.pf-pill{background:transparent;border:1.5px solid hsla(0,0%,100%,.2);border-radius:999px;color:hsla(0,0%,100%,.7);cursor:pointer;font-family:var(--font-display);font-size:13px;font-weight:500;line-height:1.4;padding:5px 14px;transition:background .15s,border-color .15s,color .15s}.pf-pill.is-active,.pf-pill:hover{border-color:var(--orange);color:#fff}.pf-pill.is-active{background:var(--orange)}.pf-filter-meta{align-items:center;border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:16px;padding-top:4px}.pf-count{color:hsla(0,0%,100%,.45);font-size:13px}.pf-clear{background:transparent;border:none;color:var(--orange);cursor:pointer;font-family:var(--font-display);font-size:13px;font-weight:600;padding:0}.pf-grid{display:grid;gap:28px;grid-template-columns:repeat(3,1fr)}.pf-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(24,51,64,.08);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}.pf-card:hover{box-shadow:0 8px 32px rgba(24,51,64,.14);transform:translateY(-2px)}.pf-card.pf-hidden{display:none}.pf-card-thumb-wrap{aspect-ratio:16/9;background:var(--ink-100);display:block;overflow:hidden;position:relative}.pf-card-thumb{height:100%;object-fit:cover;transition:transform .3s;width:100%}.pf-card:hover .pf-card-thumb{transform:scale(1.03)}.pf-card-thumb--placeholder{background:linear-gradient(135deg,var(--ink-100) 0,var(--ink-200) 100%);height:100%;width:100%}.pf-play-icon{left:50%;line-height:0;opacity:.85;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s}.pf-card:hover .pf-play-icon{opacity:1}.pf-card-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:20px 22px 24px}.pf-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pf-format-badge{border-radius:4px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 8px;text-transform:uppercase;white-space:nowrap}.pf-fmt--written-story{background:var(--gunmetal)}.pf-fmt--remote-video{background:var(--orange)}.pf-fmt--onsite-video{background:var(--orange-dk)}.pf-fmt--animation-video{background:#7b5ea7}.pf-fmt--carousel{background:#2d7d9a}.pf-fmt--infographic{background:#3a8c5c}.pf-fmt--sales-slide{background:#4a5568}.pf-fmt--social-clip{background:#c45e2a}.pf-industry-tag{color:var(--ink-400);font-size:12px;font-weight:500}.pf-card-title{color:var(--gunmetal);font-family:var(--font-display);font-size:16px;font-weight:700;line-height:1.35;margin:0}.pf-card-client{color:var(--ink-400);font-size:13px;margin:0}.pf-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:8px}.pf-cta{color:var(--orange);font-family:var(--font-display);font-size:14px;font-weight:600;text-decoration:none;transition:color .15s}.pf-cta:hover{color:var(--orange-dk)}.pf-cta--secondary{color:var(--ink-400);font-size:13px;font-weight:500}.pf-cta--secondary:hover{color:var(--gunmetal)}.pf-empty{color:var(--ink-400);font-size:16px;padding:64px 24px;text-align:center}.pf-clear-inline{background:none;border:none;color:var(--orange);cursor:pointer;font-family:var(--font-display);font-size:16px;font-weight:600;padding:0}@media (max-width:900px){.pf-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.pf-filter-bar{padding:20px}.pf-filter-group{flex-direction:column;gap:10px}.pf-filter-label{padding-top:0}.pf-grid{grid-template-columns:1fr}}