:root{color-scheme:dark}body{background:#201f21;color:#ecebe7}.header{border-color:#403f41}.logo img{content:url('assets/logos/rollin-logo-full-white.png')}.hero h1 span,.contact h2 span,.lead-intro h1 span,.thanks-intro h1 span{color:#838284}.hero-intro{color:#d0cfd1}.brand-section{padding:68px 4.2% 62px;background:#1b1a1c}.brand-section .eyebrow{color:#979698}.brand-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));max-width:none;margin-top:24px;gap:0}.brand-tile{min-height:122px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #302f31;position:relative}.brand-tile img,.brand-strip img,.brand-strip img.light{max-width:150px;max-height:77px;width:70%;height:77px;filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.75;transition:opacity .3s,transform .4s}.brand-tile:hover img{opacity:1;transform:scale(1.055)}.brand-tile>span{position:absolute;bottom:10px;font-size:10px;color:#989799;opacity:0;transition:opacity .2s}.brand-tile:hover>span{opacity:1}.work{border-color:#403f41}.section-heading>p{color:#969597}.filter-row{border-color:#4a494b}.filter-row button{color:#919092}.filter-row button.active{color:#f0f0e9}.work-grid{gap:0}.work-card:nth-child(even){margin-top:0}.work-card:nth-child(n) .work-media{aspect-ratio:1.6}.work-card:nth-child(n) .work-caption{padding:24px 26px 32px;background:#232224}.work-caption p{color:#959496}.client-logo,.client-logo.light{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.8}.work-media{background:#2f2e30}.card-play{color:#232224}.thinking{background:#181719}.voices{padding:80px 0 0;background:#201f21}.voices .section-heading{padding:0 4.2%;margin-bottom:40px;align-items:flex-end}.voices .section-heading h2{max-width:1050px;font-size:clamp(33px,4.4vw,67px);line-height:1.12;letter-spacing:-1.3px}.voices-emoji{font-size:.62em;display:inline-block;vertical-align:middle}.voices .section-heading>p{flex-shrink:0;margin-right:30px}.voices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.voice-card{position:relative;overflow:hidden;background:#272628;min-height:510px}.voice-media{position:absolute;inset:0;aspect-ratio:auto;height:100%;background:#262527}.voice-media img{opacity:.82;transition:transform 1.1s,opacity .5s;object-position:center}.voice-media:after{position:absolute;content:'';inset:0;background:linear-gradient(transparent 24%,#100f11d9 100%)}.voice-media .card-play{top:24px;left:25px;bottom:auto;z-index:2;background:#eeeee5e6}.voice-media .duration{top:29px;right:26px;bottom:auto;z-index:2;background:#16151760}.voice-copy{position:absolute;bottom:32px;right:30px;left:30px;pointer-events:none;z-index:3}.voice-copy h3{font-size:31px;color:#f1f1e9;margin:0;font-weight:400}.voice-copy .voice-role{color:#bfbec0;font-size:16px;margin:6px 0 0}.voice-story{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s,opacity .4s,margin .4s;font-size:17px;line-height:1.45}.voice-story p{color:#dfdee0;font-size:17px;margin:12px 0 0}.voice-story .voice-result{padding-top:14px;border-top:1px solid #c2c1c34a;color:#f7f7ef;font-size:23px;line-height:1.25}.voice-story small{display:block;font-size:12px;color:#b3b2b4;margin-top:12px}.voice-card:has(.voice-media:focus-visible) .voice-story,.voice-card.story-open .voice-story{max-height:320px;opacity:1;margin-top:18px}.voice-card:has(.voice-media:focus-visible) .voice-media img,.voice-card.story-open .voice-media img{transform:scale(1.055);opacity:.3}.voice-details-toggle{position:absolute;z-index:4;left:25px;bottom:32px;width:33px;height:33px;border-radius:50%;border:1px solid #ddd7;background:#222123a6;color:#e5e4e6;font-size:21px}.voice-card:last-child:nth-child(3n+1){grid-column:span 3;min-height:450px}.voice-card:last-child:nth-child(3n+1) .voice-media img{object-position:50% 38%}.voice-card:last-child:nth-child(3n+1) .voice-copy{max-width:620px}.voice-copy{padding-left:30px}.contact{background:#2a292b}.contact-cta{border-color:#6f6e70}.footer-bottom{border-color:#484749}.skip{background:#29282a}.lead-page{background:#201f21}.field input,.field select{border-color:#515052;background:#252426;color:#e6e5e7}.field input::placeholder{color:#8b8a8c}.field input:focus,.field select:focus{outline-color:#cecdcf;border-color:#cecdcf}.budget-options label>span{border-color:#515052}.budget-options input:checked+span{background:#454446;border-color:#b3b2b4}.budget-options small,.field small,.form-hint,.consent,.lead-intro>p:last-of-type,.thanks-intro>p:last-child,.step-head,.previous-step{color:#a4a3a5}.form-next{background:#d1d0d2;color:#222123}.form-next:hover{background:#e5e4e6}.preview-notice{background:#3a3a2e;color:#d0c9ad;border-color:#ad9b6e}.step-track,.lead-footer{border-color:#474648}.step-track{background:#474648}.step-count b{color:#e2e1e3}.booking-panel{border-color:#515052}.booking-panel>p,.back-to-work{color:#adacae}.booking-placeholder{border-color:#676668;background:#2e2d2f}.booking-placeholder p{color:#a6a5a7}.form-error{color:#ff9b8e}.contact .eyebrow{color:#c4c3c5}@media(max-width:760px){.brand-section{padding:45px 5%}.brand-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-tile{min-height:89px;width:100%}.brand-tile img,.brand-strip img{max-height:50px;height:50px;width:82%}.voices .section-heading{padding:0 6%;display:block}.voices .section-heading h2{font-size:36px}.voices .section-heading>p{margin:18px 0 0;font-size:16px}.voices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-card{min-height:350px}.voice-copy{right:16px;left:16px;bottom:20px;padding-left:18px}.voice-copy h3{font-size:24px}.voice-copy .voice-role{font-size:13px}.voice-story p{font-size:14px}.voice-story .voice-result{font-size:19px}.voice-story small{font-size:10px}.voice-details-toggle{left:13px;bottom:19px;width:25px;height:25px;font-size:17px}.voice-media .card-play{left:15px;top:18px;width:35px;height:35px}.voice-media .duration{right:14px;top:22px;font-size:9px}.voice-card:last-child:nth-child(3n+1){grid-column:span 2;min-height:350px}.voice-card.story-open{min-height:440px}.voice-card.story-open .voice-copy{padding-left:5px}.voice-card.story-open .voice-details-toggle{top:65px;bottom:auto}.work-card:nth-child(n) .work-caption{padding:19px 18px 25px}.work-card:nth-child(n) .work-media{aspect-ratio:1.45}}@media(prefers-reduced-motion:reduce){.voice-media img,.voice-story{transition:none!important}}
.film-collection-count{position:absolute;top:20px;right:20px;font-size:14px;padding:8px 12px;background:#201f21be;color:#ecebed;border:1px solid #ddd4;backdrop-filter:blur(8px)}#player-playlist>p{font-size:16px;color:#acabad;margin:20px 0 12px}#player-playlist>div{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px}.playlist-item{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border:1px solid #535254;background:#29282a;min-width:240px;text-align:right;color:#eee}.playlist-item.selected{border-color:#e3e2e4;background:#3f3e40}.playlist-item img{width:70px;height:43px;object-fit:cover}.playlist-item span{font-size:17px}.playlist-item small{font:10px Arial;margin-right:auto;color:#a2a1a3}
/* The opening moves from an immersive film to the strategy behind it. */
body{background:#171618;color:#ecebed}.header{position:absolute;z-index:20;top:0;left:4.2%;right:4.2%;padding:0;height:90px;border-bottom:1px solid #ffffff40;color:#fff}.header .contact-link{border:1px solid #ffffff70;border-radius:50px;padding:11px 20px}.hero.cinema-hero{height:220svh;padding:0;position:relative;background:#171618}.cinema-hero .hero-stage{position:sticky;top:0;height:100svh;overflow:hidden;--journey:0;--intro-opacity:1;--reveal-opacity:0;--reveal-y:90px;transform:none!important}.cinema-hero .hero-film{position:absolute;inset:0;width:100%;height:100%;background:#100f11;clip-path:inset(calc(var(--journey)*14%) calc(var(--journey)*56%) calc(var(--journey)*17%) calc(var(--journey)*5%));will-change:clip-path}.cinema-hero .hero-film video{transform:scale(calc(1.035 - var(--journey)*.035));object-position:center}.cinema-hero .film-shade{background:linear-gradient(180deg,#06050766,transparent 35%,#060507b0 100%)}.cinema-hero .hero-heading{position:absolute;inset:auto 6% 13%;display:block;padding:0;opacity:var(--intro-opacity);transform:translateY(calc(var(--journey)*-100px));pointer-events:none}.cinema-hero .hero-heading .eyebrow{margin-bottom:24px;font-size:11px;letter-spacing:2.7px}.cinema-hero h1{font-size:clamp(85px,10.6vw,175px);font-weight:400;line-height:.91;letter-spacing:-4px;color:#fff}.cinema-hero h1 span{color:#fff}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:30px;font-size:21px;line-height:1.3}.hero-bottom a{pointer-events:auto;border-bottom:1px solid #ffffff80;padding:14px 0;font-size:19px}.hero-bottom a span{margin-right:70px}.hero-reveal{position:absolute;width:47%;right:6%;top:31%;opacity:var(--reveal-opacity);transform:translateY(var(--reveal-y));pointer-events:none}.hero-reveal h2{font-size:clamp(54px,6.1vw,105px);font-weight:400;line-height:1;letter-spacing:-2px;margin:25px 0}.hero-reveal em{font-style:normal;color:#9d9c9e}.hero-reveal>p:last-child{font-size:22px;line-height:1.5;color:#b1b0b2}.hero-reveal .eyebrow{font-size:10px;color:#a8a7a9}.hero-controls{position:absolute;top:120px;left:4.2%;display:flex;align-items:center;gap:16px;font-size:13px;color:white;opacity:var(--intro-opacity)}.hero-controls .motion-toggle{position:relative;top:auto;left:auto;width:32px;height:32px}.reel-counter{font:10px Arial;letter-spacing:1px}.scroll-cue{position:absolute;bottom:30px;right:6%;left:6%;display:flex;justify-content:space-between;font-size:13px;color:#e2e1e3;opacity:var(--intro-opacity)}.scroll-cue>span:last-child{font-size:28px}.reel-rail{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff20;opacity:var(--intro-opacity)}.reel-rail i{display:block;width:0;height:100%;background:#ecebed}.work{padding:90px 0 0}.work>.section-heading,.work>.filter-row{margin-left:4.2%;margin-right:4.2%}.work .work-caption{position:absolute;bottom:0;left:0;right:0;z-index:3;pointer-events:none;background:linear-gradient(transparent,#100f11cc)!important;padding:80px 30px 30px!important;color:#fff}.work-card{position:relative;overflow:hidden}.work-card .work-caption p{color:#c4c3c5}.work-card:nth-child(n) .work-media{aspect-ratio:1.5}.work-card .card-play{bottom:auto;top:25px;left:25px}.work-card .duration{bottom:auto;top:25px}.work-card .film-collection-count{top:auto;bottom:100px;right:30px}.thinking{padding-top:150px}.section-heading .eyebrow{color:#9d9c9e}.voices{background:#171618}.contact{background:#222123}.contact h2 span{color:#a5a4a6}.client-logo{max-width:115px;max-height:45px}.brand-section{background:#171618}.brand-tile{border-color:#2a292b}.brand-strip{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:760px){.header{height:78px;left:6%;right:6%}.header nav{gap:16px;font-size:14px}.header .contact-link{font-size:13px;padding:9px 12px}.header .contact-link span{display:none}.header .logo{width:84px}.header .logo img{width:96px;top:-36px}.hero.cinema-hero{height:190svh}.cinema-hero .hero-heading{bottom:15%;right:7%;left:7%}.cinema-hero h1{font-size:clamp(65px,15.5vw,115px);letter-spacing:-2px}.cinema-hero .hero-heading .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}.hero-bottom{font-size:17px;gap:15px;margin-top:26px}.hero-bottom a{font-size:14px;white-space:nowrap}.hero-bottom a span{margin-right:15px}.hero-controls{top:100px;left:7%;gap:10px}.hero-controls #reel-client{font-size:12px}.cinema-hero .hero-film{clip-path:inset(calc(var(--journey)*6%) calc(var(--journey)*7%) calc(var(--journey)*52%) calc(var(--journey)*7%))}.hero-reveal{right:7%;width:86%;top:52%}.hero-reveal h2{font-size:49px;letter-spacing:-1.5px;margin:15px 0}.hero-reveal .eyebrow{font-size:8px;letter-spacing:1px}.hero-reveal>p:last-child{font-size:18px}.scroll-cue{bottom:24px;right:7%;left:7%;font-size:11px}.work>.section-heading,.work>.filter-row{margin-left:6%;margin-right:6%}.work-card:nth-child(n) .work-media{aspect-ratio:1.12}.work .work-caption{padding:65px 20px 23px!important}.work-card .film-collection-count{right:20px;bottom:92px;font-size:12px}.work-card .card-play{top:20px;left:20px}.brand-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.thinking{padding-top:90px}.hero-reveal>p:last-child br{display:none}}
@media(prefers-reduced-motion:reduce){.hero.cinema-hero{height:100svh}.hero-reveal{display:none}.cinema-hero .hero-film{clip-path:none}.cinema-hero .hero-heading{opacity:1;transform:none}}
.portal{height:280svh;background:#121113;position:relative}.portal-sticky{position:sticky;top:0;height:100svh;overflow:hidden;--portal-in:0;--portal-out:0;--title-alpha:1;--portal-end:0}.portal-film{position:absolute;inset:0;transform:scale(calc(.61 + var(--portal-in)*.39 - var(--portal-out)*.07));clip-path:inset(0);will-change:transform}.portal-film:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#050406b3);opacity:var(--portal-end)}#map-canvas,.portal-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#map-canvas{opacity:0}#map-canvas.ready{opacity:1}#map-canvas.ready+.portal-fallback{opacity:0}.portal-title{position:absolute;right:6%;top:15%;z-index:2;opacity:var(--title-alpha);transform:translateY(calc(var(--portal-in)*-50px));pointer-events:none}.portal-title h2{font-size:clamp(64px,8vw,125px);font-weight:400;line-height:.96;letter-spacing:-3px;margin:25px 0}.portal-title em{font-style:normal;color:#c2c1c3}.portal-title>p:last-child{font-size:18px}.portal-end{position:absolute;bottom:15%;right:7%;opacity:var(--portal-end);transform:translateY(calc(50px - var(--portal-end)*50px))}.portal-end h2{font-size:clamp(60px,7vw,105px);line-height:1;font-weight:400;margin:25px 0}.portal-end button{padding:12px 0;background:transparent;border-bottom:1px solid #fff8;font-size:19px}.portal-end button span{margin-right:80px}.portal-caption{position:absolute;bottom:28px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:13px;color:#e1e0e2}.portal-caption [dir]{font:9px Arial;letter-spacing:2px}.portal-progress{font:11px Arial}.brand-tile:nth-child(even){transform:translateY(var(--brand-shift,0))}.brand-section{padding-bottom:85px}.thinking{overflow:clip}.strategy-layout{align-items:start;gap:10%;position:relative;margin-top:80px}.strategy-visual{position:sticky;top:25svh;height:450px;align-self:start}.strategy-steps article{min-height:63svh;display:flex;align-items:center;border-bottom:1px solid #414042;padding:50px 0}.strategy-steps article:last-child{min-height:50svh}.strategy-steps article>span{align-self:center}.strategy-steps article h3{font-size:clamp(30px,3.3vw,50px);line-height:1.12}.strategy-steps article p{font-size:22px;max-width:460px;line-height:1.45}.strategy-steps article{opacity:.25;transform:translateY(40px);transition:opacity .65s,transform .65s}.strategy-steps article.in-view{opacity:1;transform:none}.reveal-heading{clip-path:inset(0 0 100% 0);transform:translateY(30px);transition:clip-path 1s cubic-bezier(.2,.65,.2,1),transform 1s cubic-bezier(.2,.65,.2,1)}.reveal-heading.revealed{clip-path:inset(0);transform:none}.voice-card .voice-copy{transform:translateY(25px);transition:transform .7s}.voice-card.voice-visible .voice-copy{transform:none}.voice-card:not(.voice-visible) .voice-media img{transform:scale(1.12)}
@media(max-width:760px){.portal{height:230svh}.portal-film{transform:scale(calc(.8 + var(--portal-in)*.2))}.portal-title{top:17%;right:7%}.portal-title h2{font-size:60px;letter-spacing:-1.8px}.portal-title .eyebrow{font-size:8px}.portal-end{right:7%;bottom:16%}.portal-end h2{font-size:58px}.portal-caption{font-size:11px}.portal-caption [dir]{font-size:7px;letter-spacing:1px}.strategy-layout{display:block}.strategy-visual{position:relative;top:auto;height:320px;margin:50px 0}.strategy-steps article{min-height:42svh;padding:40px 0}.strategy-steps article p{font-size:19px}.strategy-steps article h3{font-size:32px}.brand-tile:nth-child(even){transform:none}}
@media(prefers-reduced-motion:reduce){.portal{height:100svh}.portal-film{transform:none}.portal-title{opacity:1}.portal-end{display:none}.reveal-heading{clip-path:none;transform:none}.strategy-steps article{opacity:1;transform:none;min-height:0}.strategy-visual{position:relative;top:auto}.voice-card .voice-copy{transform:none}.brand-tile:nth-child(even){transform:none}}
.logo img{content:normal}
.lead-page .header{position:relative;left:auto;right:auto;margin:0 4.2%;height:94px}.lead-page .logo img{content:normal}

.brand-tile:nth-child(even){transform:none}.brand-tile img[src$="happiness.png"],.brand-tile img[src$="aba.svg"]{filter:grayscale(1);opacity:.85}.brand-tile img[src$="swarovski.png"],.brand-tile img[src$="milky.png"],.brand-tile img[src$="beauty-clinic.png"]{width:210px;height:110px;max-width:100%;max-height:110px}

.brand-tile img[src$="aba.png"]{width:210px;height:110px;max-width:100%;max-height:110px}.brand-tile:has(img[src$="aba.png"]) span{opacity:.65}
@media(max-width:480px){.voices-grid{grid-template-columns:1fr}.voice-card,.voice-card.story-open{min-height:480px}.voice-card:last-child:nth-child(3n+1){grid-column:auto;min-height:480px}.voice-copy{right:27px;left:27px;bottom:30px;padding-left:32px}.voice-copy h3{font-size:32px}.voice-copy .voice-role{font-size:16px}.voice-story p{font-size:18px}.voice-story .voice-result{font-size:24px}.voice-story small{font-size:12px}.voice-details-toggle{left:25px;bottom:30px;width:32px;height:32px}.voice-media .card-play{left:25px;top:25px}.voice-media .duration{right:25px;top:37px}}
/* The business, audience and creative idea unfold in a single pinned frame. */
.strategy-stage{perspective:none;height:auto;top:18svh;min-width:0}.strategy-switch{display:flex;direction:rtl;gap:0;border-bottom:1px solid #525153;margin-bottom:22px}.strategy-switch button{flex:1;background:none;color:#8d8c8e;text-align:right;padding:15px 6px;font-size:18px;border-bottom:1px solid transparent;margin-bottom:-1px;transition:color .3s,border-color .3s}.strategy-switch button span{font:10px Arial;margin-left:12px;color:#717072}.strategy-switch button[aria-pressed="true"]{color:#ecebed;border-color:#c2c1c3}.strategy-switch button:focus-visible{outline:1px solid #c2c1c3;outline-offset:4px}.strategy-window{position:relative;aspect-ratio:1.27;overflow:hidden;background:#212022;border:1px solid #484749}.strategy-scene{position:absolute;inset:0;padding:30px 32px;opacity:0;transform:translateY(24px) scale(1.025);transition:opacity .65s,transform .9s cubic-bezier(.22,.7,.2,1);pointer-events:none}.strategy-scene[aria-hidden="false"],.strategy-stage[data-stage="0"] .business-scene{opacity:1;transform:none}.strategy-stage:not([data-stage="0"]) .business-scene{opacity:0}.scene-index{position:relative;z-index:2;font:9px Arial;letter-spacing:1.6px;color:#b3b2b4;text-align:left}.scene-question{position:relative;z-index:2;font-size:clamp(42px,4.5vw,72px);line-height:1.04;letter-spacing:-1.4px;margin-top:38px}.scene-question em{font-style:normal;color:#b8b7b9}.brief-lines{position:absolute;bottom:30px;left:32px;right:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.brief-lines span{padding-top:12px;border-top:1px solid #69686a;font-size:15px;color:#c1c0c2}.human-scene{background:radial-gradient(ellipse at 20% 85%,#49484a55,transparent 65%),#1e1d1f}.insight-orbits{position:absolute;left:10%;right:10%;height:130px;bottom:22px;display:flex;justify-content:center;direction:rtl}.insight-orbits span{display:grid;place-items:center;aspect-ratio:1;height:100%;border-radius:50%;border:1px solid #b1b0b277;color:#c7c6c8;font-size:19px;margin-left:-24px;background:#706f7110}.insight-orbits span:nth-child(2){transform:translateY(-13px)}.creative-scene{padding:30px 32px}.creative-scene>img,.creative-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.creative-shade{background:linear-gradient(#1514164d,transparent 30%,#131214db)}.creative-scene .scene-question{position:absolute;bottom:35px;right:32px;left:20px;font-size:clamp(40px,4vw,64px);text-shadow:0 2px 20px #0005}.creative-scene .scene-question em{color:#e1e0e2}.strategy-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px;font-size:16px;color:#adacae}.strategy-stage-count{font:10px Arial;color:#c4c3c5;white-space:nowrap}.strategy-timeline{height:1px;background:#3e3d3f;margin-top:18px}.strategy-timeline i{display:block;width:0;height:1px;background:#b8b7b9;transition:width .2s linear}.strategy-scan{position:absolute;bottom:0;left:0;right:0;height:1px;background:#d4d3d56b;pointer-events:none}.strategy-steps article{opacity:.32;border-top:0;transition:opacity .5s,transform .5s}.strategy-steps article.strategy-active{opacity:1;transform:none}.voices .voices-subline{display:inline;font-size:.73em;color:#b2b1b3}.voices .section-heading h2{max-width:1100px;line-height:1.15}.work-media:focus-visible{outline:2px solid #dfdee0;outline-offset:-5px}.work-card .card-play{transition:transform .12s ease-out,background .2s}.work-card .work-caption h3{text-wrap:balance}.playlist-item:focus-visible{outline:2px solid #c6c5c7;outline-offset:-3px}
@media(max-width:1050px) and (min-width:761px){.strategy-layout{gap:6%}.strategy-scene{padding:23px}.scene-question{font-size:45px;margin-top:25px}.brief-lines{left:23px;right:23px;gap:8px;bottom:25px}.brief-lines span{font-size:12px}.insight-orbits{height:95px}.strategy-switch button{font-size:16px}.strategy-caption{font-size:14px}}
@media(max-width:760px){.strategy-stage{height:auto;top:auto;margin:32px 0 48px}.strategy-window{aspect-ratio:1.04}.strategy-switch{margin-bottom:18px}.strategy-switch button{font-size:18px}.strategy-scene{padding:25px}.scene-question{font-size:55px;margin-top:35px}.brief-lines{left:25px;right:25px;bottom:25px;gap:10px}.brief-lines span{font-size:13px}.insight-orbits{height:110px}.strategy-caption{font-size:14px;align-items:flex-start}.strategy-steps article{min-height:0;padding:34px 0;opacity:1;transform:none}.strategy-steps article:last-child{min-height:0}.strategy-steps article h3{font-size:32px}.strategy-steps article p{font-size:19px}.creative-scene .scene-question{font-size:44px;right:25px;bottom:25px}.voices .section-heading h2{font-size:43px}.voices .voices-subline{font-size:.7em}}
@media(prefers-reduced-motion:reduce){.strategy-scene,.strategy-timeline i,.strategy-steps article{transition:none}.strategy-stage{position:relative;top:auto}.strategy-steps article{opacity:1}}

@media(hover:hover){.voice-card:hover:not(.story-closed) .voice-story{max-height:320px;opacity:1;margin-top:18px}.voice-card:hover:not(.story-closed) .voice-media img{transform:scale(1.055);opacity:.3}}
.strategy-steps article:not(.strategy-active){opacity:.32}@media(max-width:760px),(prefers-reduced-motion:reduce){.strategy-steps article:not(.strategy-active){opacity:1}}
.work-caption .project-context{font-size:17px;line-height:1.4;color:#ecebed!important;max-width:440px;max-height:0;opacity:0;overflow:hidden;transform:translateY(10px);transition:max-height .45s,opacity .35s,transform .45s;margin:0}.work-card:focus-within .project-context{max-height:110px;opacity:1;transform:none;margin-top:16px}.work-card:focus-within .work-caption{background:linear-gradient(transparent,#0e0d0fef)!important}.work-card .client-logo{transition:opacity .3s;align-self:flex-end}.strategy-scene{transition:opacity .18s,transform .6s}.strategy-scene[aria-hidden="false"]{transition:opacity .4s .18s,transform .75s .12s}
@media(hover:hover){.work-card:hover .project-context{max-height:110px;opacity:1;transform:none;margin-top:16px}.work-card:hover .work-caption{background:linear-gradient(transparent,#0e0d0fef)!important}}
@media(max-width:760px){.work-caption .project-context{display:none}}
.work-card .film-collection-count{top:25px;right:92px;bottom:auto;padding:5px 10px}.work-card .work-caption{align-items:flex-end}@media(max-width:760px){.work-card .film-collection-count{top:22px;right:82px;bottom:auto}}
@media(max-width:480px){.strategy-scene .scene-question{font-size:clamp(36px,11vw,44px);margin-top:22px;letter-spacing:-1px}.human-scene .insight-orbits{height:92px;bottom:22px}.insight-orbits span{font-size:16px}.scene-index{font-size:8px;letter-spacing:1.2px}}
/* Let the map journey reach the street before releasing the frame. */
.portal{height:380svh;background:#141315}
.portal-title h2{font-size:clamp(62px,7.5vw,116px)}
.portal-end{bottom:13%;max-width:760px;z-index:2;pointer-events:none}
.portal-end button{pointer-events:auto}
.portal-end h2{font-size:clamp(58px,6.8vw,104px);text-shadow:0 2px 35px #0008}
.portal-title .eyebrow,.portal-end .eyebrow{font-size:10px;letter-spacing:2px}
.portal-film:after{background:linear-gradient(transparent 23%,#07060855 55%,#070608d9)}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;padding:130px 6% 140px;background:#181719;border-top:1px solid #343335;align-items:start}
.faq-intro{position:sticky;top:90px}
.faq-intro .eyebrow{color:#9d9c9e}
.faq-intro h2{font-size:clamp(62px,6.4vw,102px);font-weight:400;letter-spacing:-2px;line-height:.98;margin:28px 0}
.faq-intro em{font-style:normal;color:#a5a4a6}
.faq-intro>p:not(.eyebrow){font-size:22px;line-height:1.45;color:#a8a7a9}
.faq-intro>a{display:inline-flex;gap:35px;align-items:center;font-size:18px;margin-top:38px;padding-bottom:12px;border-bottom:1px solid #666567}
.faq-list{border-top:1px solid #4b4a4c;min-width:0}
.faq-list details{border-bottom:1px solid #3a393b}
.faq-list summary{list-style:none;display:grid;grid-template-columns:28px 1fr 26px;align-items:start;gap:20px;padding:30px 0;cursor:pointer;font-size:clamp(22px,2vw,29px);line-height:1.2}
.faq-list summary::-webkit-details-marker{display:none}
.faq-number{font:10px Arial;letter-spacing:1px;color:#8d8c8e;padding-top:9px}
.faq-symbol{font:26px Arial;font-weight:300;color:#a5a4a6;transition:transform .25s}
.faq-list details[open] .faq-symbol{transform:rotate(45deg)}
.faq-list details[open] summary{color:#c6c5c7}
.faq-list summary:focus-visible{outline:1px solid #b9b8ba;outline-offset:8px}
.faq-answer{padding:0 48px 32px 46px;color:#b9b8ba;font-size:20px;line-height:1.65}
.faq-answer p{margin:0}
.faq-answer a{display:inline-flex;gap:28px;margin-top:22px;color:#e2e1e3;border-bottom:1px solid #79787a;padding-bottom:6px}
@media(max-width:760px){
 .portal{height:320svh}.portal-title{top:13%}.portal-title h2{font-size:clamp(48px,12vw,72px);line-height:1.02}
 .portal-end{right:7%;left:7%;bottom:14%}.portal-end h2{font-size:clamp(45px,11vw,66px);line-height:1.05;letter-spacing:-1px}
 .portal-title .eyebrow,.portal-end .eyebrow{font-size:8px;letter-spacing:1px}
 .faq{display:block;padding:75px 7% 85px}.faq-intro{position:static}.faq-intro h2{font-size:64px;margin:23px 0}.faq-intro>p:not(.eyebrow){font-size:19px}.faq-intro>a{margin-top:25px;font-size:16px}.faq-list{margin-top:48px}.faq-list summary{font-size:23px;padding:26px 0;grid-template-columns:20px 1fr 20px;gap:12px}.faq-answer{font-size:18px;padding:0 32px 27px 8px}.faq-symbol{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
 .portal{height:auto}.portal-sticky{position:relative;height:auto;min-height:100svh;padding:55px 7% 90px;display:flex;flex-direction:column;justify-content:space-between;gap:55px}.portal-film{transform:none}.portal-film:after{opacity:1;background:#070608a8}.portal-title,.portal-end{position:relative;inset:auto;transform:none;opacity:1;display:block;max-width:none}.portal-title h2,.portal-end h2{font-size:clamp(42px,6vw,75px)}.portal-caption{bottom:25px}.portal-title>p:last-child{display:none}.portal-end button{position:relative}.faq-symbol{transition:none}.faq-intro{position:static}
}
.portal-film:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 30%,#09080aa6);opacity:var(--title-alpha)}
.portal-title h2{text-shadow:0 2px 26px #0007}
/* Rollin brand palette: Design System / tokens/colors.css. */
:root{--rollin-red:#cc2626;--rollin-red-hover:#b31f1f;--rollin-red-deep:#951818;--rollin-red-light:#db4a4a;--rollin-red-soft:#ea8585;--rollin-charcoal:#414042;--rollin-ink:#1c1b1d}
body,.brand-section,.voices,.hero.cinema-hero,.lead-page{background:#171618;color:#f0eff1}
.thinking,.faq{background:#1c1b1d}.portal{background:#171618}.contact{background:radial-gradient(ellipse at 12% 90%,#95181830,transparent 65%),#201a1d}
.header .contact-link{border-color:#cc2626;background:#cc2626;color:#fff}.header .contact-link:hover{background:#b31f1f;border-color:#b31f1f}
.hero-reveal em,.portal-title em,.scene-question em,.contact h2 span,.faq-intro em,.thanks-intro h1 span,.lead-intro h1 span{color:var(--rollin-red-light)}
.hero-reveal .eyebrow,.section-heading .eyebrow,.thinking-intro .eyebrow,.faq-intro .eyebrow,.scene-index,.faq-number{color:var(--rollin-red-soft)}
.hero-reveal>p:last-child,.faq-intro>p:not(.eyebrow),.section-heading>p,.strategy-caption{color:#bcbbbf}
.reel-rail i,.strategy-timeline i{background:var(--rollin-red)}
.hero-reveal h2:before,.thinking-intro h2:before{content:'';display:block;width:36px;height:3px;background:var(--rollin-red);margin-bottom:24px}
.brand-tile{border-color:#353436}.brand-tile img{opacity:.85}
.filter-row button.active{color:#fff;border-color:var(--rollin-red)}.filter-row button.active:after{background:var(--rollin-red)}
.strategy-switch button[aria-pressed="true"]{color:#fff;border-color:var(--rollin-red)}.strategy-switch button[aria-pressed="true"] span{color:var(--rollin-red-soft)}
.strategy-window{background:#242125;border-color:#484147}.human-scene{background:radial-gradient(ellipse at 20% 85%,#95181844,transparent 68%),#211b1f}
.insight-orbits span{border-color:#db4a4a88;background:#cc262610;color:#f5bcbc}.brief-lines span{border-color:#cc262680;color:#dddce0}.strategy-stage-count{color:#ea8585}.strategy-timeline{background:#414042}
.creative-scene .scene-question em{color:#fff}.creative-shade{background:linear-gradient(#1c1b1d55,transparent 30%,#100d10dd)}
.faq-list details[open] summary,.faq-symbol{color:var(--rollin-red-soft)}.faq-list details[open]{border-bottom-color:#951818}.faq-list summary:focus-visible,.strategy-switch button:focus-visible{outline-color:#ea8585}
.faq-intro>a,.faq-answer a{border-color:var(--rollin-red)}.faq-answer{color:#bcbbbf}.faq-list,.faq-list details{border-color:#414042}
.contact-cta{border-color:#951818}.contact-cta>span{color:var(--rollin-red-light)}.contact-cta:hover{color:#ea8585}
.playlist-item.selected{background:#381c22;border-color:#cc2626}.playlist-item:focus-visible,.voice-media:focus-visible{outline-color:#ea8585}
.form-next{background:#cc2626;color:#fff}.form-next:hover{background:#b31f1f}.budget-options input:checked+span{background:#381c22;border-color:#db4a4a}.consent input{accent-color:#cc2626}.field input:focus,.field select:focus{outline-color:#ea8585;border-color:#db4a4a}.budget-options input:focus-visible+span{outline-color:#ea8585}.thanks-mark{color:#db4a4a}
::selection{background:#951818;color:#fff}
