/* Accent colour: change once here to re-theme the whole site */
:root{--a:#2440E6}

/* Hanken Grotesk, self-hosted (variable weight). No third-party font requests. */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext-wght-normal.woff2) format('woff2-variations'),url(/fonts/hanken-grotesk-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2) format('woff2-variations'),url(/fonts/hanken-grotesk-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

html{scroll-behavior:smooth;scroll-padding-top:84px}
[hidden]{display:none !important}
button:disabled{opacity:.85}
body{margin:0;background:#F3F4F2}
a{color:#0C0E10}a:hover{color:#2440E6}
.lbl{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:500;color:#4A4F53}
.lbl::before{content:"";flex:0 0 28px;height:1px;background:#0C0E10}
.lbl-d::before{background:#F3F4F2}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.up{opacity:0;animation:up 1s cubic-bezier(.2,.7,.2,1) forwards}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.28s}.d4{animation-delay:.42s}.d5{animation-delay:.56s}
@keyframes ln{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ln{opacity:0;animation:ln .55s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes growY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes draw{to{stroke-dashoffset:0}}
.draw-now{stroke-dasharray:700;stroke-dashoffset:700;animation:draw 2.4s cubic-bezier(.65,0,.2,1) .5s forwards}
.gx{transform-origin:left center;animation:grow 1.4s cubic-bezier(.75,0,.2,1) .4s both}
.gy{transform-box:fill-box;transform-origin:center bottom;animation:growY 1.4s cubic-bezier(.75,0,.2,1) .4s both}
@keyframes travel{0%{left:0;opacity:0}6%{opacity:1}94%{opacity:1}100%{left:100%;opacity:0}}
.dot{animation:travel 5s cubic-bezier(.5,0,.5,1) infinite}
@keyframes fill{0%{background:#E4E6E2}55%{background:var(--a);transform:scale(1.12)}100%{background:var(--a);transform:none}}
.cell{background:#E4E6E2;border-radius:2px;animation:fill .45s ease forwards}
@keyframes slide{to{transform:translateX(-50%)}}
.mq{animation:slide 50s linear infinite}
@supports (animation-timeline: view()){
.rv{animation:up linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
.rv .gx{animation:grow linear both;animation-timeline:view();animation-range:entry 30% cover 50%}
}
.btn{transition:background .25s ease,color .25s ease}
.btn:hover{background:var(--a) !important;color:#FFFFFF !important}
.btn-o{transition:background .25s ease,color .25s ease}
.btn-o:hover{background:#0C0E10 !important;color:#F3F4F2 !important}
.lnk{text-decoration:none;transition:color .2s ease}
.lnk:hover{color:var(--a) !important}
.arr{display:inline-block;transition:transform .25s ease}
.lnk:hover .arr,.tile:hover .arr{transform:translateX(4px)}
.tile{transition:border-color .3s ease}
.tile:hover{border-color:#0C0E10 !important}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
.plus{transition:transform .3s ease}
details[open] .plus{transform:rotate(45deg)}
.grid-bg{background-image:linear-gradient(to right,#E2E4E0 1px,transparent 1px);background-size:calc(100% / 12) 100%}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #2440E6;outline-offset:2px}
@media (min-width:900px){.span2{grid-column:span 2}}
@media (max-width:820px){.hide-s{display:none !important}}
.show-s{display:none !important}
@media (max-width:820px){.show-s{display:inline-flex !important}}

/* Shared content blocks */
.chap{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:baseline;width:100%;padding:12px 0;border:0;border-top:1px solid #E6E8E4;background:none;font:inherit;font-size:15px;text-align:left;color:#0C0E10;cursor:pointer}
.chap:hover,.chap[aria-current="true"]{color:var(--a)}
.chap span:first-child{font-variant-numeric:tabular-nums;color:#74797D}
.doc{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid #D4D7D2;border-radius:6px;background:#FFFFFF;text-decoration:none;color:#0C0E10;transition:border-color .3s ease}
.doc:hover{border-color:#0C0E10;color:#0C0E10}
.shot{display:block;width:100%;height:auto;border:1px solid #D4D7D2;border-radius:6px;background:#FFFFFF;box-shadow:0 1px 0 rgba(12,14,16,.04),0 24px 48px -32px rgba(12,14,16,.3)}
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(40px,5vw,72px) 0;border-top:1px solid #DCDED9}
.step.flip>div:first-child{order:2}
@media (max-width:900px){.step{grid-template-columns:minmax(0,1fr)}.step.flip>div:first-child{order:0}}
.chk{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid #E6E8E4;font-size:15px;line-height:1.5}
.pill{display:inline-flex;align-items:center;justify-self:start;height:24px;padding:0 9px;border-radius:3px;font-size:13px;font-weight:500}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.tbl th{padding:12px 16px 12px 0;text-align:left;font-size:13px;font-weight:500;color:#5A5F63;border-bottom:1px solid #0C0E10;white-space:nowrap}
.tbl td{padding:14px 16px 14px 0;border-bottom:1px solid #E6E8E4;vertical-align:top;color:#3D4246}
.tbl td:first-child{color:#0C0E10;font-weight:500}
.tbl .num{font-variant-numeric:tabular-nums;white-space:nowrap}

/* Header and Products menu */
.hdr{position:sticky;top:0;z-index:40;background:rgba(243,244,242,.9);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid #DCDED9}
.nav{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px);height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-links{display:flex;align-items:center;gap:28px;font-size:15px}
.nav-a{color:#3D4246;text-decoration:none;transition:color .2s ease;padding:6px 0}
.nav-a:hover{color:var(--a)}
.nav-a[aria-current="page"],.nav-a.on{color:#0C0E10;font-weight:500;box-shadow:inset 0 -1px 0 #0C0E10}
.dd-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 0;border:0;background:none;font:inherit;font-size:15px;color:#3D4246;cursor:pointer}
.dd-btn:hover,.dd.open .dd-btn{color:#0C0E10}
.dd-btn.on{color:#0C0E10;font-weight:500;box-shadow:inset 0 -1px 0 #0C0E10}
.dd-btn svg{transition:transform .25s ease}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-panel{position:absolute;left:0;right:0;top:100%;background:#FFFFFF;border-bottom:1px solid #DCDED9;box-shadow:0 24px 48px -28px rgba(12,14,16,.28);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s linear .25s}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s}
.dd-in{max-width:1280px;margin:0 auto;padding:36px clamp(16px,4vw,48px) 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr) minmax(0,1fr);gap:0 48px}
.dd-col{display:flex;flex-direction:column;min-width:0}
.dd-col+.dd-col{border-left:1px solid #E6E8E4;padding-left:48px}
.dd-h{font-size:13px;font-weight:500;color:#74797D;margin-bottom:14px}
.dd-p{display:block;padding:14px 16px;margin:0 -16px;border-radius:4px;text-decoration:none;color:#0C0E10;transition:background .2s ease}
.dd-p:hover{background:#F3F4F2;color:#0C0E10}
.dd-p b{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:500;letter-spacing:-.015em}
.dd-p span{display:block;margin-top:5px;font-size:14px;line-height:1.5;color:#5A5F63}
.dd-sub{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px;margin:4px 0 10px;padding:12px 0 14px 16px;border-left:1px solid #E6E8E4}
.dd-sub a{font-size:14px;color:#3D4246;text-decoration:none;padding:5px 0}
.dd-sub a:hover{color:var(--a)}
.dd-mod{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid #EEF0EC;font-size:15px;color:#0C0E10;text-decoration:none}
.dd-mod:hover{color:var(--a)}
.dd-mod small{font-size:13px;color:#74797D}
.dd-more{margin-top:auto;padding-top:18px;font-size:14px;font-weight:500}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:3px;font-size:12px;font-weight:500;letter-spacing:0;white-space:nowrap}
.tag-g{background:#E3F2E8;color:#17663A}
.tag-b{background:#E8ECFF;color:#2337B8}
.tag-n{background:#F3F4F2;color:#4A4F53}
.mm{padding:4px clamp(16px,4vw,48px) 24px;border-top:1px solid #DCDED9;max-height:calc(100vh - 69px);overflow-y:auto}
.mm-h{padding:18px 0 6px;font-size:13px;font-weight:500;color:#74797D}
.mm a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #DCDED9;font-size:18px;color:#0C0E10;text-decoration:none}
.mm .mm-sub{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 14px}
.mm .mm-sub a{display:inline-flex;padding:7px 11px;border:1px solid #D4D7D2;border-radius:4px;font-size:14px;color:#3D4246}
@media (max-width:1060px){.dd-in{grid-template-columns:1fr 1.4fr}.dd-col:last-child{grid-column:1 / -1;border-left:0;padding-left:0;margin-top:24px;padding-top:20px;border-top:1px solid #E6E8E4}.dd-col:last-child .dd-mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}}
@media (max-width:820px){.dd-panel{display:none}}

/* Sub-navigation (Model Studio) */
.subnav{border-bottom:1px solid #DCDED9;background:#F3F4F2}
.subnav-in{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px);display:flex;gap:28px;overflow-x:auto;scrollbar-width:none;font-size:14px}
.subnav-in::-webkit-scrollbar{display:none}
.subnav a{flex:0 0 auto;padding:15px 0 14px;color:#5A5F63;text-decoration:none;border-bottom:1px solid transparent;margin-bottom:-1px;transition:color .2s ease}
.subnav a:hover{color:var(--a)}
.subnav a[aria-current="page"]{color:#0C0E10;font-weight:500;border-bottom-color:#0C0E10}
.subnav .sn-home{font-weight:500;color:#0C0E10;padding-right:28px;border-right:1px solid #DCDED9;margin:10px 0;padding-top:5px;padding-bottom:4px;border-bottom:0}

/* Video player. Without JavaScript the native controls stay. */
.vp{position:relative;border-radius:6px;overflow:hidden;background:#F6F6F3;border:1px solid #D4D7D2;box-shadow:0 1px 0 rgba(12,14,16,.04),0 28px 56px -32px rgba(12,14,16,.35);aspect-ratio:16/9;isolation:isolate}
.vp video{display:block;width:100%;height:100%;object-fit:contain;background:#F6F6F3}
.vp:fullscreen{border:0;border-radius:0;background:#0C0E10}
.vp:fullscreen video{background:#0C0E10}
.vp-cover{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:rgba(246,246,243,.08);cursor:pointer;font:inherit;color:#0C0E10;transition:background .3s ease}
.vp-cover:hover{background:rgba(12,14,16,.05)}
.vp-play{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:#0C0E10;color:#FFFFFF;box-shadow:0 18px 40px -16px rgba(12,14,16,.6);transition:background .25s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.vp-cover:hover .vp-play{background:var(--a);transform:scale(1.06)}
.vp-play svg{margin-left:4px}
.vp-cap{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 12px;border-radius:4px;background:rgba(255,255,255,.92);border:1px solid #DCDED9;font-size:14px;line-height:1.3;color:#3D4246;text-align:left;backdrop-filter:blur(6px)}
.vp-cap b{font-weight:500;color:#0C0E10}
.vp-cap .vp-dur{font-variant-numeric:tabular-nums;color:#74797D}
.vp.started .vp-cover{display:none}
.vp-bar{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:6px;height:44px;padding:0 8px 0 4px;border-radius:5px;background:rgba(12,14,16,.82);color:#F3F4F2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:13px;font-variant-numeric:tabular-nums;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.vp.started .vp-bar{opacity:1;transform:none;pointer-events:auto}
.vp.started.playing.idle .vp-bar{opacity:0;transform:translateY(6px);pointer-events:none}
.vp.started.playing.idle{cursor:none}
.vp-b{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:4px;background:none;color:inherit;cursor:pointer;transition:background .2s ease}
.vp-b:hover{background:rgba(255,255,255,.12)}
.vp-b[aria-pressed="false"]{opacity:.55}
.vp-t{flex:0 0 auto;padding:0 6px;color:#C9CCC8;white-space:nowrap}
.vp-scrub{position:relative;flex:1 1 auto;height:36px;cursor:pointer;touch-action:none}
.vp-scrub:focus-visible{outline:2px solid #FFFFFF;outline-offset:0;border-radius:3px}
.vp-track{position:absolute;left:0;right:0;top:16px;height:4px;border-radius:2px;background:rgba(255,255,255,.22);overflow:hidden;transition:height .15s ease,top .15s ease}
.vp-scrub:hover .vp-track{top:15px;height:6px}
.vp-buf,.vp-prog{position:absolute;left:0;top:0;bottom:0;width:0}
.vp-buf{background:rgba(255,255,255,.28)}
.vp-prog{background:#FFFFFF}
.vp-tick{position:absolute;top:13px;width:2px;height:10px;margin-left:-1px;border-radius:1px;background:rgba(12,14,16,.85);pointer-events:none}
.vp-tip{position:absolute;bottom:42px;transform:translateX(-50%);padding:6px 9px;border-radius:4px;background:#FFFFFF;color:#0C0E10;font-size:13px;line-height:1.3;white-space:nowrap;box-shadow:0 8px 24px -10px rgba(12,14,16,.5);pointer-events:none;opacity:0;transition:opacity .15s ease}
.vp-tip span{color:#74797D;margin-right:6px}
.vp-scrub:hover .vp-tip{opacity:1}
.vp-msg{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;background:#F6F6F3;text-align:center;font-size:15px;color:#3D4246}
.vp-msg b{font-size:18px;font-weight:500;color:#0C0E10}
@media (max-width:560px){.vp-play{width:60px;height:60px}.vp-play svg{width:20px;height:20px}.vp-cap{left:10px;bottom:10px;font-size:13px;padding:6px 9px}.vp-bar{left:6px;right:6px;bottom:6px;height:40px}.vp-b.vp-hide-s{display:none}}
.vp-meta{margin-top:14px;display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;font-size:14px;color:#5A5F63}
.vp-meta b{font-weight:500;color:#0C0E10}
.vp-chaps{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 24px;padding:0;list-style:none}
.vp-chaps .chap{grid-template-columns:44px minmax(0,1fr);font-size:14px;padding:10px 0}
/* Placeholder for a film that is still being made */
.vp-soon{display:flex;align-items:flex-end;background:#F6F6F3}
.vp-soon img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:.5;filter:grayscale(.3)}
.vp-soon-in{position:relative;margin:16px;padding:18px 20px;max-width:430px;border-radius:5px;background:#FFFFFF;border:1px solid #D4D7D2;box-shadow:0 18px 40px -24px rgba(12,14,16,.4)}
.vp-soon-in b{display:block;margin-top:12px;font-size:18px;font-weight:500;letter-spacing:-.015em;color:#0C0E10}
.vp-soon-in p{margin:6px 0 0;font-size:14px;line-height:1.5;color:#3D4246}
@media (max-width:560px){.vp-soon-in{margin:10px;padding:12px 14px}.vp-soon-in b{font-size:16px;margin-top:8px}.vp-soon-in p{display:none}}

/* Floating sales button: shown once the visitor has scrolled past the first screen */
.fab{position:fixed;right:20px;bottom:20px;z-index:30;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 16px;background:#0C0E10;color:#F3F4F2;border-radius:24px;font-size:15px;font-weight:500;text-decoration:none;box-shadow:0 12px 32px -12px rgba(12,14,16,.55);transition:background .25s ease,color .25s ease,opacity .3s ease,transform .3s ease}
.fab:hover{background:var(--a);color:#FFFFFF}
/* hidden until site.js reveals it */
.fab{opacity:0;transform:translateY(12px);pointer-events:none}
.fab.show{opacity:1;transform:none;pointer-events:auto}

@media (prefers-reduced-motion:reduce){.up,.ln,.rv{animation:none !important;opacity:1 !important;transform:none !important}.gx,.gy{animation:none !important;transform:none !important}.draw-now{animation:none !important;stroke-dashoffset:0 !important}.dot{animation:none !important}.cell{animation:none !important;background:var(--a) !important}.mq{animation:none !important}.dd-panel,.vp-bar,.fab{transition:none !important}}
/* Macro library: coverage matrix */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--a);vertical-align:middle}
.cov{width:100%;min-width:860px;border-collapse:collapse;font-size:14px;line-height:1.3}
.cov th{padding:10px 8px;text-align:center;font-size:12px;font-weight:500;color:#5A5F63;border-bottom:1px solid #0C0E10;white-space:nowrap}
.cov thead th:first-child,.cov tbody th{text-align:left;padding-left:0}
.cov tbody th{font-size:14px;font-weight:500;color:#0C0E10;white-space:nowrap;border-bottom:1px solid #E6E8E4;padding:9px 16px 9px 0}
.cov td{text-align:center;padding:9px 8px;border-bottom:1px solid #E6E8E4;color:#5A5F63;white-space:nowrap}
.cov tbody tr:hover th,.cov tbody tr:hover td{background:#F6F7F5}
.cov .cc{margin-left:6px;font-size:12px;font-weight:400;color:#8A8F8B}
.cov .c-old{color:#8A5A00;font-weight:500;font-size:12px}
.cov .c-no{color:#9A9E9A}
.cov .c-na{color:#B8BBB6;font-size:12px}
.cov td:last-child{border-left:1px solid #E6E8E4}
@media (max-width:640px){.ml-vars li{grid-template-columns:minmax(0,1fr)!important}}

.dd-h2{margin-top:28px}
.cov thead th:first-child,.cov tbody th{position:sticky;left:0;z-index:1;background:#FFFFFF}
@media (max-width:700px){.flow-arr{flex:1 1 100% !important;flex-direction:row !important;gap:10px !important;min-width:0 !important;padding:4px 0 !important}.flow-arr span{transform:rotate(90deg)}}
