/* Type scale: display 36 / section 24 / card 20 / body 16 / UI 14 / caption 12. */
:root{--type-display:36px;--type-section:24px;--type-card:20px;--type-body:16px;--type-ui:14px;--type-caption:12px;--paper:#fff;--ink:#202025;--muted:#777780;--line:#ececf0;--purple:#7417ed;--pad:max(24px,calc((100vw - 1200px)/2))}
body:not(.admin-body):not(.login-body){background:white;font-size:var(--type-body)}
.header{height:80px;background:white;padding-inline:var(--pad)}.header .logo img{width:126px}.header nav{font-size:var(--type-ui);gap:28px}.nav-contact,.button{border-radius:8px;font-size:var(--type-ui);min-height:46px;padding:12px 20px;gap:24px}.header .nav-contact{background:var(--purple);color:white;border-color:var(--purple)}
.hero{padding:28px var(--pad) 0}.hero-top,.hero-bottom{display:none}.hero-title{padding:10px 0 28px;align-items:center}.hero-title h1,.page-title-row h1,.service-intro h1,.contact-intro h1,.detail-intro h1,.journal-title,.prose h1{font-size:var(--type-display);font-weight:700;letter-spacing:-.04em;line-height:1.4}.hero-title h1 span{color:var(--ink)}.hero-aside{font-size:var(--type-ui)}.hero-aside p{font-size:var(--type-ui);margin-bottom:14px}.text-link{font-size:var(--type-ui);border:0;gap:16px}.hero-film{height:360px;border-radius:14px}.film-tag>span:last-child{font-size:var(--type-card)}.reel-watch{border-radius:8px;font-size:var(--type-caption)}
.section{padding:64px var(--pad)}h2,.section-head h2,.about-left h2,.faq>h2,.contact-band h2,.footer-top p{font-size:var(--type-section);font-weight:700;line-height:1.45;letter-spacing:-.035em}.section-head{margin-bottom:24px;align-items:center}.section-head h2 br{display:none}.section-head .eyebrow,.about-left>.eyebrow{display:none}.section-note{font-size:var(--type-ui)}.eyebrow{font-size:var(--type-caption);letter-spacing:.025em}.work-grid,.work-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.work-image,.preview-box{border-radius:10px;overflow:hidden}.work-caption{padding-top:14px;gap:12px}.work-caption h3{font-size:var(--type-body);font-weight:600;line-height:1.5;letter-spacing:-.025em}.work-caption .eyebrow{font-size:var(--type-caption);color:var(--muted)}.work-index{display:none}.work-arrow{width:30px;height:30px;font-size:var(--type-card)}.selected .work-caption h3{display:none}.selected .work-caption .eyebrow{font-size:var(--type-card);color:var(--ink);font-weight:700;letter-spacing:-.025em}.preview-toggle{font-size:var(--type-caption);border:0;padding:4px 0;color:var(--muted);background:transparent}.preview-toggle:hover{background:transparent;color:var(--purple)}
.quick-types{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 0}.quick-types a{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;border:1px solid var(--line);border-radius:10px;background:#faf9fc;font-size:var(--type-ui);font-weight:600}.quick-types a span{color:var(--purple)}.quick-types a:hover{background:#f2edfc;border-color:#ded1f7}
.services{background:#fafafa}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;border:0}.service-row{display:grid;grid-template-columns:1fr 24px;gap:12px;padding:24px;border:1px solid var(--line);border-radius:12px;background:white}.service-row:hover{padding:24px;border-color:#ddd0f7}.service-number,.service-row .eyebrow{display:none}.service-row h3{font-size:var(--type-card);margin:0}.service-row p{grid-column:1;font-size:var(--type-ui);max-width:none}.service-arrow{grid-column:2;grid-row:1;font-size:var(--type-card)}.about{gap:64px}.about-left h2 br{display:none}.about-right{padding-top:0}.about-lead{font-size:var(--type-card)}.about-right>p:not(.about-lead),.process p{font-size:var(--type-ui)}.process h3{font-size:var(--type-body)}.contact-band{background:#f6f2fc;color:var(--ink);padding:48px var(--pad)}.contact-band>.eyebrow{display:none}.contact-band h2{margin-top:0}.contact-band p{color:var(--muted);font-size:var(--type-ui)}.contact-band .button{background:var(--purple);color:white;border-color:var(--purple)}
.footer{background:#fafafa;color:var(--ink);padding:36px var(--pad)}.footer-top{display:none}.footer-line{padding:0 0 26px;font-size:var(--type-ui)}.footer-line .logo img{filter:invert(1);width:126px}.footer-legal{font-size:var(--type-caption);color:var(--muted)}.footer-legal>div{gap:16px}.page-intro{background:white!important;color:var(--ink)!important;padding-bottom:32px}.page-intro .page-title-row h1{color:var(--ink)}.page-intro .portfolio-icon{display:none}.page-title-row{margin-top:16px}.page-title-row p,.results-bar{font-size:var(--type-ui)}.work-library{padding-top:0}.filters button{font-size:var(--type-ui);background:#f5f5f7;border-radius:30px;padding:10px 16px}.filter-bar{border:0;padding:0;align-items:flex-start}.search-box{border:1px solid var(--line);padding:0 12px;border-radius:8px}.search-box input{font-size:var(--type-ui)}.service-intro{background:#fafafa}.service-intro>p{font-size:var(--type-body)}.service-points{font-size:var(--type-ui);margin-top:32px}.faq summary{font-size:var(--type-body)}.faq details p{font-size:var(--type-ui)}.contact-layout{padding-top:48px}.contact-form-wrap{border:1px solid var(--line);border-radius:14px}.contact-intro>p{font-size:var(--type-body)}.direct-contact a,.form-heading{font-size:var(--type-card)}form label,form legend{font-size:var(--type-ui)}form input:not([type=radio]):not([type=checkbox]),form select,form textarea{border-radius:8px;font-size:var(--type-ui)}.form-note,.form-heading small,.preview-notice,.consent{font-size:var(--type-caption)}
@media(max-width:1000px){.work-grid,.work-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-title h1{font-size:var(--type-display)}.hero-aside{max-width:260px}.header nav{gap:18px}.filter-bar{flex-wrap:wrap}}
@media(max-width:720px){:root{--type-display:28px;--type-section:22px;--type-card:18px;--pad:20px}.header{height:68px}.header .logo img{width:110px}.hero{padding-top:18px}.hero-title{display:block;padding:0 0 22px}.hero-aside{max-width:none;margin-top:16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.hero-aside p{margin:0;font-size:var(--type-caption)}.hero-aside .text-link{font-size:var(--type-caption);white-space:nowrap}.hero-film{height:230px;margin:0;border-radius:12px}.quick-types{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.quick-types a{padding:14px;font-size:var(--type-ui)}.section{padding:40px var(--pad)}.section-head{gap:14px;margin-bottom:20px}.section-head .text-link{font-size:var(--type-caption);white-space:nowrap}.work-grid,.work-grid.three{grid-template-columns:1fr;gap:24px}.selected .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.selected .work-caption .eyebrow{font-size:var(--type-card)}.selected .preview-box,.selected .preview-box .work-image{min-height:0}.work-caption{padding-top:10px}.service-list{grid-template-columns:1fr}.service-row,.service-row:hover{padding:20px}.about{display:block}.about-left{margin-bottom:24px}.about-left h2{max-width:280px}.contact-band{padding:36px 20px}.footer{padding:30px 20px 95px}.footer-line,.footer-legal{align-items:flex-start;flex-direction:column;gap:20px}.page-intro{padding-bottom:24px}.work-library{padding-top:0}.contact-layout{display:block}.contact-form-wrap{padding:22px;margin-top:28px}.section-head h2 br{display:none}}
/* Dropshot reference measured at 1920 CSS px: 1440 wrapper, 64px inner
   gutters => 1312 content. Percent uses layout width excluding scrollbar. */
:root{--layout-max:1440px;--layout-gutter:64px;--section-space:80px;--pad:max(var(--layout-gutter),calc((100% - var(--layout-max))/2 + var(--layout-gutter)))}
.hero{padding-top:32px}.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}.section-head{margin-bottom:24px}.quick-types{margin-top:64px;gap:12px}.work-grid,.work-grid.three{column-gap:24px;row-gap:32px}.page-intro{padding-bottom:32px}.work-library{padding-top:0}.contact-layout{padding-top:48px}.faq{padding-top:24px}
@media(min-width:721px) and (max-width:1280px){:root{--layout-gutter:24px;--section-space:60px}.hero{padding-top:24px}.quick-types{margin-top:48px}}
@media(max-width:720px){:root{--layout-gutter:16px;--section-space:40px;--pad:16px}.hero{padding-top:16px}.quick-types{margin-top:32px;gap:8px}.section-head{margin-bottom:16px}.selected .work-grid{gap:24px 12px}.page-intro{padding-bottom:24px}.work-library{padding-top:0}.contact-band,.footer{padding-left:var(--pad);padding-right:var(--pad)}}
.work-arrow,.service-arrow,.circle-link,.quick-types a span:empty,.text-link span:empty,.button span:empty{display:none}.service-points span:before{content:none}.quick-types a{justify-content:center}.header nav a[aria-current=page]{color:var(--purple)}.header nav .nav-contact[aria-current=page]{color:white}
.process-title{font-size:var(--type-section);margin-bottom:24px}
/* Signage-style hero: decorative, non-interactive, muted looping embed. */
.hero-showreel iframe{pointer-events:none}.hero-showreel{cursor:default}.hero-showreel:hover>img{transform:none}
.hero-showreel iframe{opacity:0}.hero-showreel.is-playing iframe{opacity:1}
/* Full-width hero based on the supplied BanyaFilm reference. */
.signage-hero{padding:0}.signage-hero .hero-showreel{height:clamp(680px,calc(100svh - 80px),1000px);border-radius:0;margin:0;background:#20213d}.signage-shade{position:absolute;inset:0;background:rgba(24,23,65,.66);pointer-events:none}.signage-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px var(--pad);text-align:center;color:#fff;pointer-events:none}.signage-content h1{font-size:clamp(36px,4.5vw,72px);line-height:1.38;letter-spacing:-.04em;font-weight:400}.signage-content h1 span,.signage-content h1 strong{display:block}.signage-content h1 strong{font-weight:700}.signage-content>p{font-size:clamp(16px,1.65vw,28px);line-height:1.7;margin-top:40px;color:#fff}.signage-contact{pointer-events:auto;border-radius:100px!important;background:#8000ff!important;border-color:#8000ff!important;color:white!important;font-size:20px;justify-content:center;min-width:280px;min-height:76px;margin-top:48px}.signage-stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:1200px;margin-top:clamp(64px,9vh,140px);gap:32px}.signage-stats>div{display:flex;flex-direction:column;gap:12px}.signage-stats strong{font-size:clamp(36px,3.5vw,60px);line-height:1.2;font-weight:700}.signage-stats span{font-size:20px;font-weight:600;color:#d5d3e3}.signage-hero .quick-types{margin:32px var(--pad) 0}
@media(max-width:720px){.signage-hero .hero-showreel{height:690px;min-height:calc(100svh - 68px)}.signage-content{padding:40px 20px}.signage-content h1{font-size:28px;line-height:1.5}.signage-content>p{font-size:14px;margin-top:24px;max-width:350px}.signage-contact{font-size:16px;min-width:220px;min-height:56px;margin-top:32px}.signage-stats{margin-top:64px;gap:12px}.signage-stats strong{font-size:30px}.signage-stats span{font-size:12px}.signage-stats>div{gap:10px}.signage-hero .quick-types{margin-top:24px}}
/* Hero typography follows the site's display / section / body / UI scale. */
.signage-content{padding:56px var(--pad)}.signage-content h1{font-size:var(--type-display);line-height:1.55;letter-spacing:-.035em}.signage-content h1 span{font-size:var(--type-section);font-weight:400;margin-bottom:8px;color:#e4e1ed}.signage-content h1 strong{font-weight:700}.signage-content>p{font-size:var(--type-body);line-height:1.9;margin-top:24px;color:#e4e1ed}.signage-contact{font-size:var(--type-ui);min-width:196px;min-height:48px;padding:12px 24px;margin-top:28px;border-radius:8px!important}.signage-stats{max-width:880px;margin-top:72px;gap:24px}.signage-stats strong{font-size:var(--type-display);line-height:1.3}.signage-stats span{font-size:var(--type-ui);font-weight:400;color:#d0ccd9}.signage-stats>div{gap:8px}
@media(max-width:720px){.signage-hero .hero-showreel{height:620px;min-height:0}.signage-content{padding:40px 20px}.signage-content h1{font-size:var(--type-section);line-height:1.6}.signage-content h1 span{font-size:var(--type-card);margin-bottom:8px}.signage-content>p{font-size:var(--type-ui);margin-top:20px;max-width:320px}.signage-contact{font-size:var(--type-ui);min-width:184px;min-height:46px;margin-top:24px}.signage-stats{margin-top:48px;gap:12px}.signage-stats strong{font-size:var(--type-section)}.signage-stats span{font-size:var(--type-caption)}}
/* No artificial start delay: dissolve the whole hero from white on playback. */
.signage-hero .hero-showreel{background:#fff}.signage-hero .hero-showreel>img{opacity:0}.signage-hero .hero-showreel iframe,.signage-hero .signage-shade,.signage-hero .signage-content{opacity:0;transition:opacity 1.2s ease}.signage-hero .hero-showreel.is-playing iframe,.signage-hero .is-playing .signage-shade,.signage-hero .is-playing .signage-content{opacity:1}.signage-hero .hero-showreel:not(.is-playing) .signage-contact{visibility:hidden}@media(prefers-reduced-motion:reduce){.signage-hero .hero-showreel iframe,.signage-hero .signage-shade,.signage-hero .signage-content{transition:none}}
.signage-hero .hero-showreel>img{display:none}
