/* Curated work, compact details, and films presented as films. */
.portfolio-banner .banner-projects{height:285px;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;transform:rotate(-5deg);max-width:470px;margin-left:auto}
.portfolio-banner .banner-projects>div{position:relative;inset:auto!important;width:auto!important;height:auto!important;padding:0;background:#0c1824;border-radius:7px;transform:none!important;box-shadow:0 12px 28px #06132044;overflow:hidden;border:1px solid #ffffff55}
.portfolio-banner .banner-projects>div:first-child{grid-row:1/3}
.portfolio-banner .banner-projects>div:first-child img{object-position:48% center}
.portfolio-banner .banner-projects img{width:100%;height:100%;object-fit:cover}
.portfolio-lead{padding:15px 0 28px;max-width:760px}
.portfolio-lead h2{font-size:clamp(29px,4vw,42px);margin:0 0 10px;letter-spacing:-.035em}
.portfolio-lead>p:last-child{color:var(--muted);margin:0;max-width:650px}
.project-context{font-size:11px!important;text-transform:none!important;letter-spacing:0!important;color:#58687b;margin:5px 0 0!important;line-height:1.5}
.film-badge{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border-radius:30px;background:#0b182bee;color:#fff;font-size:12px;border:1px solid #ffffff66;box-shadow:0 3px 14px #0005}
.film-badge>span{color:#ffdf00}.project-card[hidden]{display:none!important}
.featured-grid .project-card:nth-child(1),.featured-grid .project-card:nth-child(2){grid-column:auto}
.project-hero{max-width:980px;margin-inline:auto}.project-hero img{width:100%;max-height:650px;object-fit:contain}
.project-gallery-section{max-width:1040px}.gallery-heading h2{font-size:32px}
.project-gallery-section .project-gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 26px}
.project-gallery-section figure.gallery-screen,.project-gallery-section figure.gallery-art{grid-column:span 3;width:100%;max-width:490px;justify-self:center}
.project-gallery-section figure.gallery-phone{grid-column:span 2;max-width:210px}
.project-gallery-section figure a{display:flex;align-items:center;justify-content:center;background:#f4f6f8;border:1px solid #e1e6ea;padding:12px;border-radius:9px;min-height:160px}
.project-gallery-section figure img{width:auto;max-width:min(100%,var(--source-width,1600px));max-height:315px;object-fit:contain;height:auto;box-shadow:0 4px 14px #10233b12}
.project-gallery-section .gallery-phone a{padding:7px;min-height:0;background:#0b1721;border:0}
.project-gallery-section .gallery-phone img{max-height:410px;width:auto;border-radius:9px}
.project-gallery-section figcaption{font-size:12px;padding-top:9px;color:#4c5b6b}
.project-story .story-body h3{font-size:23px;margin-top:28px}.project-story .story-body ul{padding-left:22px}.project-story .story-body li{margin:10px 0}
.project-videos{max-width:980px;display:grid;gap:28px;margin:0 auto 42px;padding:0}
.film-hero{margin-top:0}.film-player{width:100%;overflow:hidden;border-radius:10px;background:#0a131e;color:white;box-shadow:0 12px 32px #07142115}
.film-player .video-placeholder{position:relative;display:block;aspect-ratio:16/9;min-height:0;padding:0;border-radius:0;background:#06111c;overflow:hidden}
.video-poster{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;opacity:.94}
.film-player .video-play{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(transparent 25%,#020a1755);border:0;border-radius:0;color:white;text-shadow:0 2px 5px #000}
.film-player .video-play>span{display:grid;place-items:center;width:76px;height:76px;padding-left:4px;border-radius:50%;background:#ffdf00;color:#0a1726;box-shadow:0 4px 25px #0008;font-size:26px;text-shadow:none;transition:transform .2s}
.film-player .video-play:hover>span{transform:scale(1.08)}.film-player .video-play strong{font-size:16px;background:#081725e6;border-radius:30px;padding:8px 16px;font-weight:500}
.film-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-footnote{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;font-size:12px;color:#becbd9}.video-footnote a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.service-example:has(.service-film){position:relative}.service-film{position:absolute;top:18px;left:18px;background:#ffdf00!important;color:#0b1824!important;border-radius:30px;padding:9px 13px!important;font-size:12px!important}
.support-section{padding:65px 0;background:#f3f6f9;border-top:1px solid #e1e6ed;border-bottom:1px solid #e1e6ed}
.support-heading{max-width:710px}.support-heading h2{font-size:clamp(32px,4vw,47px);letter-spacing:-.035em;line-height:1.1;margin:0 0 20px}.support-heading>p:last-child{color:#4c5d74}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0 23px}.support-card{background:#fff;border-radius:12px;border-top:5px solid #008fa3;padding:28px;display:flex;flex-direction:column;box-shadow:0 8px 25px #15243e06}.support-card:nth-child(2){border-color:#ec0074}.support-card:nth-child(3){border-color:#efaa00}.support-number{color:#536478;font-size:11px;letter-spacing:.14em}.support-card h3{font-size:25px;margin:12px 0}.support-price{font-size:29px;font-weight:650;margin:0 0 14px;color:#0b1824;line-height:1.2}.support-card>p:not(.support-price):not(.support-number){font-size:14px;color:#52637a}.support-card ul{padding-left:18px;font-size:13px;color:#36485e;line-height:1.6;flex:1}.support-card li{margin:9px 0}.support-card .text-link{margin-top:18px;font-size:13px}.support-scope{font-size:13px;line-height:1.7;color:#465972;max-width:940px}.support-scope strong{color:#102037}
@media(max-width:900px){.support-grid{gap:14px}.support-card{padding:22px 18px}.support-price{font-size:25px}.portfolio-banner .banner-projects{height:235px;max-width:380px}.project-videos{width:calc(100% - 64px)}}
@media(max-width:760px){.portfolio-banner .banner-projects{height:185px;width:100%;max-width:370px;margin:4px auto 28px;grid-template-columns:1fr 1.25fr;gap:9px;transform:rotate(-3deg)}.portfolio-banner .banner-projects>div{height:auto!important;width:auto!important;inset:auto!important}.portfolio-lead{padding:3px 0 22px}.portfolio-lead>p:last-child{font-size:14px}.portfolio-controls{align-items:stretch}.filter-buttons{gap:8px}.filter-buttons button{min-height:42px;padding-inline:14px}.project-search{max-width:none}.project-gallery-section figure.gallery-screen,.project-gallery-section figure.gallery-art{grid-column:1/-1;max-width:480px}.project-gallery-section figure.gallery-phone{grid-column:span 3;max-width:200px}.project-gallery-section figure img{max-height:280px}.project-gallery-section .gallery-phone img{max-height:350px}.project-gallery-section .project-gallery{gap:24px 16px}.support-section{padding:42px 0}.support-grid{grid-template-columns:1fr;gap:18px}.support-card{padding:24px}.support-price{font-size:30px}.support-card h3{font-size:26px}.support-card li{font-size:14px}.project-hero{width:calc(100% - 40px)}.project-videos{width:calc(100% - 40px)}.film-player .video-play>span{width:58px;height:58px;font-size:22px}.film-player .video-play strong{font-size:12px}.video-footnote{align-items:flex-start;gap:8px;font-size:10px;padding:12px}.video-footnote a{white-space:nowrap}.project-context{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.film-player .video-play>span{transition:none}}

.support-banner-link{display:inline-flex;background:#fff;color:#0d1929;font-size:12px;font-weight:600;border-radius:30px;padding:10px 16px;margin-top:18px;text-decoration:none}.support-banner-link:hover{background:#ffe000}.support-section{scroll-margin-top:80px}.service-jumps{flex-wrap:wrap}

/* Film scenes fill the card; only the actual embedded film uses 16:9. */
.film-player .studio-player{aspect-ratio:3/2}
.film-player .studio-player .video-poster{object-fit:cover;opacity:1}
.film-player .studio-player.is-playing{aspect-ratio:16/9}
.support-details{max-width:920px;margin:32px auto 0;border-top:1px solid #d4dce6}
.support-details h3{font-size:23px;margin:28px 0 16px}
.support-details details{border-bottom:1px solid #d4dce6;padding:17px 0}
.support-details summary{cursor:pointer;font-size:16px;font-weight:600;line-height:1.4}
.support-details details p{font-size:14px;line-height:1.8;color:#42536b;margin:15px 0 3px;max-width:820px}
.support-scope{max-width:920px}.archive-note{padding-block:8px 24px;color:#43536a;font-size:14px}
.support-card ul{flex:1}.support-card{display:flex;flex-direction:column}
/* Contact confirmation is shown only after CF7 reports mail_sent. */
.contact-success{width:min(460px,calc(100vw - 40px));max-height:calc(100dvh - 40px);margin:auto;border:0;border-top:6px solid #ed0073;border-radius:20px;background:#fff;color:#0d1929;padding:36px;text-align:center;box-shadow:0 25px 90px #06122066;overflow:auto}
.contact-success::backdrop{background:#071321b8;backdrop-filter:blur(5px)}
.contact-success .confirmation-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border-radius:50%;background:#ffe000;color:#0d1929;font-size:36px;font-weight:600;box-shadow:-8px 4px 0 #00a5b82b}
.contact-success .eyebrow{color:#4c5d70;font-size:10px;margin-bottom:12px}
.contact-success h2{font-size:40px;letter-spacing:-.045em;line-height:1.1;margin:0 0 16px}
.contact-success #contact-success-description{font-size:16px;line-height:1.6;color:#43546c;margin:0 0 26px}
.contact-success .button{min-height:48px;justify-content:center;font-size:14px}
.contact-form .wpcf7.has-success-dialog form.sent .wpcf7-response-output{display:none}
.contact-form .wpcf7-response-output{padding:14px 16px;font-size:15px;line-height:1.5;border-radius:8px}
@media(max-width:480px){.contact-success{padding:30px 24px}.contact-success h2{font-size:36px}.contact-success .button{width:100%}}
.contact-success .eyebrow:after{margin-inline:auto}
