@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#0c0c0b;--ink:#f3f0ea;--muted:#aaa7a0;--accent:#dca56f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{height:100px;position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #ffffff14}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.brand strong{font-family:Arial,sans-serif;font-weight:900;font-size:35px;letter-spacing:-3px}.brand span{font-size:9px;letter-spacing:5px;margin:7px 0 0 5px}header nav{display:flex;align-items:center;gap:35px;font-size:12px}header nav>a:first-child{color:#aaa}.nav-cta{border:1px solid #ffffff38;border-radius:30px;padding:13px 20px}.nav-cta span{margin-left:24px;color:var(--accent)}.journey{height:480vh}.stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden}.visual{position:absolute;right:1%;top:0;width:53%;height:100%;overflow:hidden}.visual video{width:100%;height:100%;object-fit:cover;object-position:center 46%}.vignette{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 28%,transparent 85%,var(--bg)),linear-gradient(0deg,var(--bg),transparent 25%,transparent 85%,#0c0c0b88)}.frame-label{position:absolute;right:12%;bottom:120px;font-size:9px;letter-spacing:2px;color:#ccc8;writing-mode:vertical-rl}.ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 35% 50%,#754a2515,transparent 55%)}.chapters{position:absolute;left:8%;top:50%;width:48%;height:460px;transform:translateY(-43%)}.chapter{position:absolute;inset:0;opacity:0;transform:translateY(25px);transition:opacity .5s,transform .6s;pointer-events:none}.chapter.active{opacity:1;transform:none;pointer-events:auto}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2px;display:flex;align-items:center;gap:10px;color:var(--accent)}.eyebrow i{height:6px;width:6px;background:var(--accent);border-radius:100%}h1,h2,h3,p{margin:0}h1,.chapter h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(55px,6.5vw,104px);line-height:1.02;font-weight:500;letter-spacing:-5px;margin:28px 0 25px}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.chapter p{font-size:14px;line-height:1.8;color:#b4b1ab;max-width:330px}.watch{border:0;background:none;display:flex;align-items:center;gap:13px;padding:0;margin-top:28px;font-size:12px}.play{width:35px;height:35px;border:1px solid #a9a39a;border-radius:50%;display:grid;place-items:center;font-size:9px;padding-left:2px}.watch small{font-size:8px;letter-spacing:1px;color:#827f79;margin-left:5px}.text-link{display:inline-block;font-size:12px;background:none;border:0;border-bottom:1px solid #86664b;padding:0 0 9px;margin-top:25px}.stage-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.4px}.scroll-hint{color:#aaa}.scroll-hint>span{margin-left:20px;font-size:18px;color:var(--accent)}.timeline{display:flex;gap:25px}.timeline button{background:none;border:0;font-size:10px;color:#6d6b66;padding:10px 0}.timeline button span{margin-left:7px}.timeline button.selected{color:var(--ink)}#percent{font-size:10px;color:var(--accent);font-variant-numeric:tabular-nums}.progress{position:absolute;bottom:0;height:2px;left:0;right:0;background:#ffffff0c}.progress span{height:100%;display:block;background:var(--accent);width:0}.manifesto{padding:145px 10%;background:#171713;border-bottom:1px solid #ffffff12}.manifesto h2{font-size:clamp(40px,5.7vw,82px);font-weight:400;letter-spacing:-3px;line-height:1.1;margin-top:35px}.manifesto h2>span{color:#827f73}.manifesto-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:60px}.seal{font-size:40px;line-height:.8;letter-spacing:-3px}.seal small{font-size:10px;letter-spacing:3px}.manifesto-bottom p{max-width:440px;color:#aaa79a;line-height:1.9;font-size:14px}.possibilities{padding:115px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading h2{font-size:clamp(38px,4.6vw,66px);font-weight:400;line-height:1.08;letter-spacing:-2px;margin-top:23px}.section-heading p{color:var(--muted);font-size:13px;line-height:1.8}.work-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;margin-bottom:65px}.work{position:relative;height:540px;overflow:hidden;background:#222}.work:nth-child(2){margin-top:70px}.work img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .8s}.work:hover img{transform:scale(1.03)}.work:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000e,transparent 80%)}.work>div{position:absolute;bottom:30px;left:30px;right:30px;z-index:1}.work span{font-size:9px;color:var(--accent);letter-spacing:1.5px}.work h3{font-weight:400;font-size:27px;margin:15px 0 12px;letter-spacing:-1px}.work p{font-size:12px;line-height:1.7;max-width:310px;color:#c3bfb7}.service-row{display:grid;grid-template-columns:45px 1fr 1fr 40px;gap:20px;align-items:center;padding:30px 0;border-top:1px solid #ffffff23}.service-row>span{font-size:10px;color:var(--accent)}.service-row h3{font-size:23px;font-weight:400;letter-spacing:-.5px}.service-row p{font-size:12px;color:var(--muted);line-height:1.6;max-width:250px}.service-row button,.service-row>a{background:none;border:0;font-size:27px;color:var(--accent)}.contact{text-align:center;padding:100px 25px 115px;background:radial-gradient(ellipse at 50% 100%,#64432244,transparent 65%);border-top:1px solid #ffffff15}.contact .eyebrow{justify-content:center}.contact h2{font-size:clamp(45px,6.5vw,90px);line-height:1.05;font-weight:400;letter-spacing:-3px;margin:30px 0 40px}.contact-button{display:inline-flex;gap:65px;background:var(--accent);color:#19140f;border-radius:50px;padding:20px 28px;font-size:13px}.contact>p{font-size:11px;color:var(--muted);margin-top:22px}footer{border-top:1px solid #ffffff20;padding:35px 5%;display:flex;justify-content:space-between;align-items:center}footer>span{font-size:8px;letter-spacing:2px;color:#79766f}footer>a:last-child{font-size:11px;color:#aaa}dialog{border:1px solid #ffffff30;padding:45px 12px 12px;background:#121211;color:white;max-height:95svh;max-width:94vw;border-radius:8px}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}dialog video{display:block;height:80svh;max-width:85vw;object-fit:contain}#closeFilm{position:absolute;right:15px;top:12px;background:none;border:0;font-size:12px}html.modal-open{overflow:hidden}
@media(min-width:1600px){.chapters{height:530px}.chapter p{font-size:17px}}
@media(max-width:760px){header{height:80px;padding:0 6%}.brand strong{font-size:29px}header nav{gap:0}header nav>a:not(.nav-cta){display:none}.nav-cta{font-size:10px;padding:10px 13px}.nav-cta span{margin-left:12px}.stage{min-height:620px}.visual{right:0;width:100%;height:100%;opacity:.8}.visual video{object-position:center 40%}.vignette{background:linear-gradient(0deg,#0c0c0b 3%,#0c0c0bba 35%,#0c0c0b10 78%,#0c0c0b60)}.chapters{top:auto;bottom:105px;left:7%;width:88%;height:310px;transform:none}.eyebrow{font-size:8px;letter-spacing:1.4px}h1,.chapter h2{font-size:51px;letter-spacing:-2px;margin:17px 0 15px;line-height:1.01}.chapter p{font-size:12px;line-height:1.65;max-width:275px}.watch{margin-top:18px;font-size:11px}.watch small{display:none}.play{height:30px;width:30px}.stage-bottom{bottom:20px;left:7%;right:7%;flex-wrap:wrap;gap:12px}.timeline{order:-1;width:100%;justify-content:space-between;gap:10px}.timeline button{font-size:9px}.timeline button span{margin-left:3px}.scroll-hint{font-size:8px}.frame-label{display:none}.text-link{margin-top:18px}.manifesto{padding:80px 7%}.manifesto h2{font-size:40px;letter-spacing:-1.8px}.manifesto-bottom{gap:30px;margin-top:35px}.seal{display:none}.manifesto-bottom p{font-size:13px}.possibilities{padding:70px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:43px}.section-heading p{margin-top:22px;font-size:12px}.work-grid{grid-template-columns:1fr;gap:25px;margin-bottom:40px}.work,.work:nth-child(2){height:470px;margin:0}.work>div{left:22px;right:22px;bottom:25px}.service-row{grid-template-columns:20px 1fr 25px;gap:10px;padding:24px 0}.service-row h3{font-size:20px}.service-row p{grid-column:2;grid-row:2;font-size:11px}.service-row button,.service-row>a{grid-row:1;grid-column:3}.contact{padding:80px 7%}.contact h2{font-size:48px;letter-spacing:-2px}footer{gap:25px;flex-wrap:wrap}footer>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter,.work img{transition:none}}

.visual #scenePoster,.visual #sceneCanvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}#sceneCanvas{opacity:0}#sceneCanvas.ready{opacity:1}#motionToggle{border:0;background:none;color:#aaa;font-size:9px;padding:8px;letter-spacing:.4px}@media(max-width:760px){.visual #scenePoster,.visual #sceneCanvas{object-position:center 40%}#motionToggle{font-size:8px}}

/* Full-frame portrait with a soft falloff into the surrounding black space. */
.visual{top:108px;right:10%;width:auto;height:calc(100% - 180px);max-height:850px;aspect-ratio:9/16;opacity:1;overflow:hidden}
.visual #scenePoster,.visual #sceneCanvas{object-fit:contain;object-position:center}
.vignette{pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,#0c0c0bb3 2%,#0c0c0b4d 5%,transparent 11%,transparent 89%,#0c0c0b4d 95%,#0c0c0bb3 98%,var(--bg) 100%),linear-gradient(180deg,var(--bg) 0%,#0c0c0b99 2%,#0c0c0b33 5%,transparent 10%,transparent 85%,#0c0c0b33 92%,#0c0c0b99 97%,var(--bg) 100%)}
.frame-label{right:0;bottom:15%;font-size:8px}
.chapters{top:155px;left:8%;width:43%;height:440px;transform:none}
h1,.chapter h2{font-size:clamp(48px,5.4vw,82px);letter-spacing:-3.5px;margin:22px 0}
.chapter p{max-width:320px;font-size:13px}
@media(min-width:1600px){.chapters{top:18%;height:490px}.visual{right:13%}}
@media(min-width:761px) and (max-height:750px){.chapters{top:125px}.chapter h1,.chapter h2{font-size:53px;margin:18px 0}.chapter p{font-size:12px}.watch,.text-link{margin-top:18px}}
@media(max-width:760px){
 header{height:70px}
 .stage{min-height:650px}
 .chapters{top:87px;bottom:auto;left:7%;width:86%;height:165px;text-align:center}
 .chapter .eyebrow{justify-content:center;font-size:7px;letter-spacing:1.2px}
 .chapter h1,.chapter h2{font-size:clamp(28px,7.8vw,36px);line-height:1.04;letter-spacing:-1.2px;margin:12px 0 10px}
 .chapter h1 br,.chapter h2 br,.chapter p br{display:none}
 .chapter p{max-width:350px;margin:0 auto;font-size:10.5px;line-height:1.5}
 .chapter .watch{justify-content:center;margin:12px auto 0;font-size:10px;gap:9px}
 .chapter .play{width:25px;height:25px;font-size:8px}
 .chapter .text-link{font-size:10px;margin-top:12px;padding-bottom:5px}
 .visual{top:260px;right:auto;left:50%;transform:translateX(-50%);width:auto;height:calc(100% - 340px);max-width:90%;max-height:none;aspect-ratio:9/16;opacity:1}
 .visual #scenePoster,.visual #sceneCanvas{object-fit:contain;object-position:center}
 .stage-bottom{bottom:14px;gap:5px}
 .timeline button{padding:6px 0}
}

/* Restore the immersive scale, with a modest 10% inset. */
.brand img{display:block;width:150px;height:auto}.seal-logo{width:150px;height:auto;object-fit:contain}
.visual{top:5%;right:3.65%;width:47.7%;height:90%;max-height:none;aspect-ratio:auto}
.visual #scenePoster,.visual #sceneCanvas{object-fit:cover;object-position:center 12%}
.chapters{top:155px;width:43%}
.vignette{background:linear-gradient(90deg,var(--bg),#0c0c0bb3 3%,#0c0c0b4d 8%,transparent 18%,transparent 84%,#0c0c0b4d 93%,var(--bg)),linear-gradient(180deg,var(--bg),#0c0c0b66 3%,transparent 9%,transparent 86%,#0c0c0b66 95%,var(--bg))}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px;margin-bottom:60px}.project-screen{display:block;width:100%;padding:0;border:0;background:#161615;position:relative;aspect-ratio:1;overflow:hidden;text-align:left}.project-preview{display:block;width:100%;height:100%;object-fit:contain}.project-play{position:absolute;left:24px;bottom:23px;width:44px;height:44px;display:grid;place-items:center;background:#0c0c0b88;border:1px solid #ffffff88;border-radius:50%;font-size:12px;backdrop-filter:blur(8px)}.project-duration{position:absolute;top:20px;right:20px;padding:6px 10px;background:#0c0c0b99;border-radius:20px;font-size:10px;letter-spacing:1px}.project-watch{position:absolute;bottom:39px;left:82px;font-size:9px;letter-spacing:1.4px;text-shadow:0 1px 8px #000}.project-screen:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}.project-play,.project-watch,.project-duration{z-index:1}.project-copy{padding-top:24px}.project-copy>span{color:var(--accent);letter-spacing:1.5px;font-size:9px}.project-copy h3{font-size:28px;font-weight:400;letter-spacing:-.9px;margin:12px 0}.project-copy p{color:var(--muted);font-size:13px;line-height:1.7;max-width:400px}.project-screen:hover .project-play{background:var(--accent);color:#17120d}.project-screen:focus-visible{outline-offset:4px}dialog video{width:auto;max-width:85vw;height:80svh}
@media(max-width:760px){.brand img{width:112px}.seal-logo{display:none}.visual{top:245px;left:5%;right:5%;transform:none;width:90%;height:calc(100% - 325px);max-width:none;aspect-ratio:auto}.visual #scenePoster,.visual #sceneCanvas{object-fit:cover;object-position:center 10%}.chapters{top:87px;left:7%;width:86%}.portfolio-grid{grid-template-columns:1fr;gap:38px;margin-bottom:40px}.project-copy{padding-top:18px}.project-copy h3{font-size:25px}.project-copy p{font-size:12px}.project-play{left:18px;bottom:18px;width:38px;height:38px}.project-watch{left:69px;bottom:32px;font-size:8px}.project-duration{top:14px;right:14px}}
.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.project-screen{aspect-ratio:9/16}.project-copy h3{font-size:23px}.project-copy p{font-size:12px}.project-watch{font-size:8px;left:65px;bottom:33px}.project-play{width:34px;height:34px;left:18px;bottom:21px}.project-copy>span{font-size:8px;letter-spacing:1px}@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 25px}}@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:35px}}

/* BTI brand colors, taken from the original Elementor theme. */
:root{--accent:#f82177;--brand-end:#a110fa;--brand-gradient:linear-gradient(90deg,#f82177,#a110fa)}
em,.manifesto h2>span{background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.eyebrow,.project-copy>span{color:#f85ca0}
.eyebrow i,.progress span,.contact-button{background:var(--brand-gradient)}
.contact-button{color:white}.project-screen:hover .project-play{background:var(--brand-gradient);color:white}
.text-link{border-bottom-color:#f8217766}.contact{background:radial-gradient(ellipse at 50% 100%,#a110fa22,transparent 65%)}
.ambient{background:radial-gradient(ellipse at 35% 50%,#f821770d,transparent 55%)}
.manifesto{background:#151216;padding-top:100px;padding-bottom:100px}.manifesto h2{font-size:clamp(40px,5.2vw,75px)}.manifesto-bottom p{max-width:510px;color:#b8b1bc}.manifesto-bottom strong{color:var(--ink);font-weight:500}
.visual #scenePoster,.visual #sceneCanvas{object-position:center 40%}
.vignette{background:linear-gradient(90deg,var(--bg),#0c0c0bb3 3%,#0c0c0b4d 8%,transparent 18%,transparent 84%,#0c0c0b4d 93%,var(--bg)),linear-gradient(180deg,var(--bg),#0c0c0b55 1.5%,transparent 5%,transparent 95%,#0c0c0b55 98%,var(--bg))}
@media(max-width:760px){.visual #scenePoster,.visual #sceneCanvas{object-position:center 40%}.manifesto{padding-top:70px;padding-bottom:70px}.manifesto h2{font-size:38px}}
