/* Owner-supplied refreshed identity and on-demand visual stories. */
/* Crop transparent canvas padding only; the complete visible artwork stays inside. */
.brand img.brand-logo{display:block;width:214px;height:auto;aspect-ratio:2.65;max-width:none;filter:none;object-fit:cover;object-position:50% 50%}
.site-footer{background:#f4f5ec;color:#153f34;border-top:1px solid #153f3429;padding-top:76px}
.site-footer .brand{display:inline-flex;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.site-footer .brand img.brand-logo{width:300px}
.site-footer .footer-main p,.site-footer .footer-bottom,.site-footer .footer-note{color:#496357}
.site-footer .footer-main h2{color:#3c5e4e}
.site-footer .footer-links a:hover{color:#153f34;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-bottom{border-top-color:#153f3433}
.film-feature{position:relative;background:radial-gradient(ellipse at 10% 12%,#d4ec8940,transparent 52%),linear-gradient(160deg,#f4f5ec,#e8efdf)}
.film-feature .section-head{align-items:center}
.film-feature--context{border-top:1px solid #d6dfcd;border-bottom:1px solid #d6dfcd;scroll-margin-top:115px}
.film-feature--context .section-head h2{max-width:700px}
.film-feature--context .section-head>div:last-child{max-width:420px}
.film-feature--context .section-head>div:last-child .text-link{margin-top:20px;font-size:.88rem}
.film-stage--products .film-launch:after,.film-stage--partnership .film-launch:after{background:linear-gradient(0deg,#061e1dcc,transparent 28%)}
#product-portfolio,#development-questions{scroll-margin-top:110px}
.film-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;background:#081f1d;border:1px solid #ffffffb3;border-radius:27px;box-shadow:0 26px 70px #153a2726,inset 0 1px 0 #ffffff80;overflow:hidden;contain:layout paint}
.film-stage>div{width:100%;height:100%}
.film-stage:focus-within{outline:3px solid #8e741a;outline-offset:5px}
.film-launch{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#102e2a;color:#fff;overflow:hidden;text-align:left}
.film-launch:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#071f1dee 0,transparent 44%),linear-gradient(0deg,#0a322325,#0a322325);pointer-events:none}
.film-poster{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .7s var(--ease)}
.film-play{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;transform:translate(-50%,-50%);width:82px;height:82px;border:1px solid #fff9;border-radius:50%;background:#f4f8ea24;backdrop-filter:blur(17px);box-shadow:inset 0 1px 0 #ffffffbd,0 13px 45px #08282042;transition:background .25s,box-shadow .25s}
.film-play svg{margin-left:4px}
.film-launch-caption{position:absolute;z-index:2;left:32px;right:32px;bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.film-launch-caption>span:last-child{padding:6px 11px;border:1px solid #ffffff73;border-radius:30px;background:#f4f8ea18;font-size:.75rem;font-variant-numeric:tabular-nums;letter-spacing:.04em;backdrop-filter:blur(12px)}
.film-launch:hover .film-poster{transform:scale(1.025)}
.film-launch:hover .film-play{background:#e3f5ba45;box-shadow:inset 0 1px 0 #fff,0 15px 50px #0b2e244d}
.film-launch:focus-visible{outline:3px solid #e4bd59;outline-offset:-7px}
.film-launch:disabled{cursor:progress}
.film-launch:disabled .film-play{opacity:.6}
.film-stage--intro,.film-stage--intro .film-launch{background:radial-gradient(ellipse at 70% 25%,#f5fae9,transparent 70%),linear-gradient(140deg,#d8ebe3,#e8eed8);color:#102e2a}
.film-stage--intro .film-poster{object-fit:cover;object-position:50% 50%;width:82%;height:60%;position:absolute;inset:10% 9% 30%;filter:none}
.film-stage--intro .film-launch:after{background:linear-gradient(0deg,#e9f0da 0,transparent 30%)}
.film-stage--intro .film-play{top:78%;width:49px;height:49px;background:#102e2aed;color:#f4f5ec;border-color:#244e4055;box-shadow:0 10px 25px #153a2725}
.film-stage--intro .film-play svg{width:16px;height:16px;margin-left:2px}
.film-stage--intro .film-launch-caption>span:last-child{border-color:#102e2a3b;background:#ffffff5e}
.film-feature-caption{display:flex;justify-content:space-between;align-items:start;gap:35px;margin-top:24px}
.film-note{font-size:.76rem;line-height:1.65;color:var(--muted);max-width:780px;margin-top:18px}
.film-feature-caption .film-note{max-width:720px;margin:0}
.film-feature-caption .text-link{flex-shrink:0}
.film-summary{margin-top:18px;max-width:870px;color:var(--muted);font-size:.9rem}
.film-library-intro{max-width:760px;margin-bottom:55px}
.film-library-intro>p:not(.lead){color:var(--muted);margin-top:13px}
.film-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:62px 34px}
.film-card{min-width:0;scroll-margin-top:125px}
.film-card--manifesto{grid-column:1/-1;margin-bottom:24px}
.film-card--manifesto .film-card-heading{min-height:0}
.film-card--manifesto .film-card-heading h2{max-width:none;font-size:clamp(2rem,5vw,4.5rem)}
.film-card--manifesto .film-stage{border-radius:0;box-shadow:none;border:0}
.film-card--manifesto .film-card-copy{max-width:920px}
.film-card-heading{margin-bottom:22px;min-height:109px}
.film-card-heading .eyebrow{font-size:.63rem;margin-bottom:13px}
.film-card-heading h2{font-size:clamp(1.75rem,2.7vw,2.45rem);max-width:510px}
.film-card .film-stage{border-radius:21px;box-shadow:0 15px 35px #153a271c}
.film-card .film-play{width:63px;height:63px}
.film-card .film-stage--intro .film-play{width:45px;height:45px}
.film-card .film-launch-caption{left:24px;right:24px;bottom:21px;font-size:.67rem;letter-spacing:.06em}
.film-card .film-launch-caption>span:last-child{font-size:.65rem;padding:4px 8px}
.film-card-copy{padding:25px 2px 0}
.film-card-copy>p:first-child{font-size:.94rem;color:var(--muted)}
.film-card-copy .film-note{font-size:.73rem}
.film-credit{font-size:.72rem;margin-top:17px;color:var(--sea)}
.film-concept-section{padding-top:0}
.film-concept-figure{border-radius:25px;overflow:hidden;border:1px solid #fff;background:#fff8;box-shadow:0 20px 60px #173f2716}
.film-concept-figure>img{width:100%;height:auto}
.film-concept-figure>figcaption{padding:19px 25px;color:var(--muted);font-size:.76rem;max-width:1000px}
.film-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.film-equipment-grid figure{overflow:hidden;border:1px solid #fff;border-radius:20px;background:#ffffff73;box-shadow:0 14px 30px #1a3f2610}
.film-equipment-grid img{width:100%;height:255px;object-fit:cover}
.film-equipment-grid figcaption{padding:23px}
.film-equipment-grid figcaption b{display:block;font-size:1.2rem;font-family:var(--display);letter-spacing:-.03em;line-height:1.2}
.film-equipment-grid figcaption span{display:block;margin-top:12px;font-size:.85rem;color:var(--muted)}
@media(max-width:950px){.film-library{gap:48px 23px}.film-card-heading{min-height:100px}.film-card-heading h2{font-size:1.8rem}.film-stage{border-radius:21px}.film-feature-caption{flex-direction:column;gap:18px}.film-equipment-grid{gap:17px}.film-equipment-grid img{height:205px}.film-equipment-grid figcaption{padding:19px}.film-equipment-grid figcaption b{font-size:1.1rem}}
@media(max-width:640px){.brand img.brand-logo{width:142px}.site-footer .brand img.brand-logo{width:195px}.film-library{grid-template-columns:1fr;gap:48px}.film-library-intro{margin-bottom:37px}.film-card-heading{min-height:0;margin-bottom:19px}.film-card-heading h2{font-size:1.9rem;max-width:350px}.film-stage,.film-card .film-stage{border-radius:17px}.film-play,.film-card .film-play{width:53px;height:53px}.film-play svg{width:19px;height:19px}.film-launch-caption,.film-card .film-launch-caption{left:17px;right:17px;bottom:15px;font-size:.59rem;letter-spacing:.05em}.film-launch-caption>span:last-child,.film-card .film-launch-caption>span:last-child{font-size:.61rem;padding:3px 8px}.film-stage--intro .film-play,.film-card .film-stage--intro .film-play{width:35px;height:35px;top:77%}.film-stage--intro .film-play svg{width:13px;height:13px}.film-stage--intro .film-poster{width:69%;height:69%;inset:12% 15.5% 19%}.film-note{font-size:.71rem}.film-feature-caption{margin-top:19px}.film-feature-caption .text-link{font-size:.85rem}.film-summary{font-size:.82rem;margin-top:22px}.film-card-copy{padding-top:19px}.film-card-copy>p:first-child{font-size:.88rem}.film-concept-figure{border-radius:19px}.film-concept-figure>figcaption{padding:17px;font-size:.71rem}.film-equipment-grid{grid-template-columns:1fr;gap:23px}.film-equipment-grid img{height:240px}.film-equipment-grid figure:nth-child(2) img{object-position:center 48%}.film-equipment-grid figcaption{padding:22px}.film-equipment-grid figcaption b{font-size:1.3rem}.film-equipment-grid figcaption span{font-size:.87rem}}
@media(max-width:380px){.brand img.brand-logo{width:130px}.film-launch-caption,.film-card .film-launch-caption{font-size:.53rem;left:13px;right:13px;bottom:11px}.film-play,.film-card .film-play{width:47px;height:47px}.film-card-heading h2{font-size:1.75rem}}
@media(max-width:950px){.site-header .brand img.brand-logo{width:190px}.site-footer .brand img.brand-logo{width:280px}}
@media(max-width:640px){.site-header .brand img.brand-logo{width:182px}.site-footer .brand img.brand-logo{width:246px}.film-stage--intro .film-poster{width:88%;height:64%;inset:8% 6% 28%}}
@media(prefers-reduced-motion:reduce){.film-poster,.film-play{transition:none}.film-launch:hover .film-poster{transform:none}}
@media print{.film-stage{box-shadow:none;border:1px solid #888;break-inside:avoid}.film-play,.film-launch-caption{display:none}.film-library,.film-equipment-grid{grid-template-columns:1fr 1fr}.film-card{break-inside:avoid}.film-card-heading{min-height:0}.film-card-heading h2{font-size:19pt}}
