
/* AnCasper colour system: Midnight / Porcelain. */
:root,:root[data-theme=light]{
 color-scheme:light;
 --paper:#f5f0e9;--cream:#ece5df;--white:#fffdf9;--sage:#e9e0e5;
 --ink:#302535;--muted:#6e606f;--line:#d6cad1;
 --pink:#8b3e59;--champagne:#805a38;--on-accent:#fffaf6;
 --field:#fffdf9;--field-line:#94838f;--placeholder:#786c76;
 --selection:#e8d1da;--error-bg:#f6e3e9;--error-ink:#7b2b49;
 --ring:#a7866570;--ring-echo:#805a3814;--image-shadow:#30253512;
}
:root[data-theme=dark]{
 color-scheme:dark;
 --paper:#100f14;--cream:#151319;--white:#19171e;--sage:#251e2b;
 --ink:#f2eadf;--muted:#b6abb8;--line:#38313d;
 --pink:#d5a1b0;--champagne:#d9c0a1;--on-accent:#281821;
 --field:#121017;--field-line:#706374;--placeholder:#a99ca8;
 --selection:#493340;--error-bg:#38212e;--error-ink:#f0c5d0;
 --ring:#d9c0a159;--ring-echo:#d9c0a110;--image-shadow:#00000035;
}
::selection{background:var(--selection);color:var(--ink)}
body,.header,.footer,.cinema-work{background:var(--paper);color:var(--ink)}
p{color:var(--muted)}
.wordmark span,.tiny-dot{color:var(--pink)}
.tiny-dot{background:var(--pink)}
.cinematic-home .header{color:var(--ink);border-color:var(--line);background:transparent;transition:none}
.cinematic-home .header .theme-toggle,.cinematic-home .header .nav-cta,
.cinematic-home.in-editorial .header .theme-toggle,.cinematic-home.in-editorial .header .nav-cta{color:var(--ink);border-color:var(--line)}
.cinematic-home.in-editorial .header{background:var(--paper);color:var(--ink)}
.nav-cta,.cinematic-home .header .nav-cta,.cinematic-home.in-editorial .header .nav-cta{border-color:var(--pink);color:var(--pink)}
.nav-cta:hover,.cinematic-home .header .nav-cta:hover,.cinematic-home.in-editorial .header .nav-cta:hover{background:var(--pink);color:var(--on-accent)}
.theme-toggle:hover{background:var(--cream);border-color:var(--champagne)}
.cinematic-home.scene-expanded:not(.in-editorial) .header{background:#100f14e8;color:#f2eadf;border-color:#f2eadf20}
.cinematic-home.scene-expanded:not(.in-editorial) .header .theme-toggle{color:#f2eadf;border-color:#f2eadf50;background:transparent}
.cinematic-home.scene-expanded:not(.in-editorial) .header .nav-cta{color:#f0bdcb;border-color:#d5a1b0}
.cinematic-home.scene-expanded:not(.in-editorial) .header .nav-cta:hover{color:#281821;background:#d5a1b0}
.cinema-opening{background:var(--paper);color:var(--ink)}
#opening-title{color:var(--ink);text-shadow:none}
.opening-right>span{color:var(--champagne)}
:root[data-theme=light] .opening-title-wrap{mix-blend-mode:normal}
:root[data-theme=light] #opening-title{color:var(--ink)}
:root[data-theme=light] .opening-right>span{color:var(--champagne)}
.aperture-rim{border-color:var(--ring);box-shadow:0 0 0 7px var(--ring-echo),inset 0 0 0 3px var(--ring-echo)}
.aperture-echo{border-color:var(--ring-echo)}
.scene-plate{background:#211929}
.scene-artwork{filter:brightness(.82) saturate(.58)}
.scene-shade{background:linear-gradient(180deg,#100f1450 0%,transparent 32%,#100f1490 100%)}
.opening-context p,.opening-enquiry>span,.scroll-cue{color:var(--ink)}
.opening-context>span,.opening-enquiry{color:var(--muted)}
.opening-enquiry b,.scroll-cue i,.service-go{color:var(--pink)}
.cinema-motion,.footer-cinema-motion{color:var(--muted);border-color:var(--line)}
.cinema-motion:hover,.footer-cinema-motion:hover{color:var(--ink)}
.scene-expanded .scene-controls .cinema-motion{color:#ded4df;border-color:#ded4df55}
.scene-second h2{color:#f2eadf}
.scene-second h2 em{color:#efd5bd}
.scene-second>.eyebrow,.scene-second-bottom p,.artwork-credit{color:#e6dce6}
.scene-second .cinema-link{color:#f2eadf}
.scene-second .cinema-link>span{color:#efd5bd}
.trail{background:#ebd4e3;box-shadow:0 0 9px 1px #ae8bc4}
.trail:nth-child(3n){background:#edd0ad;box-shadow:0 0 9px 1px #b98a7c}
.work-introduction em,.services-editorial h2 em,.archive-tile h3 em,.about-grid h2 em{color:var(--champagne)}
.cinema-link,.text-link{border-color:var(--line)}
.cinema-link>span{color:var(--pink)}
.cinema-link:hover,.text-link:hover,
:root[data-theme=dark] .text-link:hover,
:root[data-theme=dark] .service-row:hover h3,
:root[data-theme=dark] .notes-list>a:hover h3{color:var(--pink);border-color:var(--pink)}
.scene-second .cinema-link:hover{color:#f2eadf;border-color:#efd5bd}
.composition-line{border-color:var(--line)}
.composition-main,.composition-detail{box-shadow:0 25px 60px var(--image-shadow)}
.composition-detail{border-color:var(--line)}
.cinema-services,.services-section,.service-detail,.brief-card,.article-next,.service-help{background:var(--cream)}
:root[data-theme=dark] .services-section{background:var(--cream)}
.cinema-service:hover{color:var(--pink)}
.service-symbol{color:var(--champagne)}
.cinematic-home .process,:root[data-theme=dark] .process{color:var(--ink);background:var(--cream)}
.process .eyebrow,.process-grid span{color:var(--muted)}
.process-grid h3{color:var(--ink)}
.process-grid p,.cinematic-home .process-grid p{color:var(--muted)}
.process-grid article,:root[data-theme=dark] .process-grid article{border-color:var(--line)}
.cinematic-home .process-label .fa-icon{color:var(--champagne)}
.cinema-contact{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.contact-scene-copy .eyebrow,.contact-scene-copy>p:not(.eyebrow),.direct-email{color:var(--muted)}
.contact-scene-copy h2{color:var(--ink)}
.contact-scene-copy h2 em{color:var(--champagne)}
.contact-scene-copy .cinema-link{color:var(--pink);border-color:var(--pink)}
.contact-artwork{opacity:.42}
.contact-artwork img{filter:brightness(.6) saturate(.48)}
:root[data-theme=light] .contact-artwork{opacity:.12}
.cta,:root[data-theme=dark] .cta{background:var(--sage);color:var(--ink)}
.cta p:not(.eyebrow),:root[data-theme=dark] .cta p:not(.eyebrow){color:var(--muted)}
.button{background:transparent;border-color:var(--field-line);color:var(--ink)}
.button:hover,:root[data-theme=dark] .button:hover,:root[data-theme=light] .button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.submit-button,.service-hero .button{background:var(--pink);border-color:var(--pink);color:var(--on-accent)}
.submit-button:hover,.service-hero .button:hover,:root[data-theme=dark] .submit-button:hover,:root[data-theme=light] .submit-button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.project-form,:root[data-theme=dark] .project-form{background:var(--white);border-color:var(--line)}
.field input,.field select,.field textarea,
:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea{background:var(--field);border-color:var(--field-line);color:var(--ink)}
.field input::placeholder,.field textarea::placeholder,:root[data-theme=dark] .field input::placeholder,:root[data-theme=dark] .field textarea::placeholder{color:var(--placeholder)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pink)}
.choice span,:root[data-theme=dark] .choice span{border-color:var(--field-line)}
.choice input:checked+span,:root[data-theme=dark] .choice input:checked+span{background:var(--selection);color:var(--ink);border-color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink)}
.field-error,:root[data-theme=dark] .field-error{color:var(--error-ink)}
.field [aria-invalid=true],:root[data-theme=dark] .field [aria-invalid=true]{border-color:var(--pink)}
.form-status,:root[data-theme=dark] .form-status{background:var(--error-bg);color:var(--error-ink);border-color:var(--pink)}
.deliverables li{border-color:var(--line)}
.deliverables li:before,:root[data-theme=dark] .deliverables li:before{color:var(--pink)}
.sage,:root[data-theme=dark] .sage{background:var(--sage)}
.peach{background:#ead7cf}.lavender{background:#e3d9e7}.blue{background:#dde0e6}
:root[data-theme=dark] .peach{background:#30232c}
:root[data-theme=dark] .lavender{background:#272132}
:root[data-theme=dark] .blue{background:#202431}
:root a:focus-visible,:root button:focus-visible,:root input:focus-visible,:root select:focus-visible,:root textarea:focus-visible,:root summary:focus-visible,:root .choice input:focus-visible+span{outline-color:var(--pink)}
.skip{background:var(--ink);color:var(--paper)}
@media(max-width:800px){
 .cinematic-home .menu-toggle,.cinematic-home.in-editorial .menu-toggle{color:var(--ink);border-color:var(--line)}
 .cinematic-home .nav nav,.cinematic-home.in-editorial .nav nav{background:var(--paper);color:var(--ink)}
 .cinematic-home.scene-expanded:not(.in-editorial) .menu-toggle{color:#f2eadf;border-color:#f2eadf50}
 .cinematic-home.scene-expanded:not(.in-editorial) .nav nav{background:#100f14;color:#f2eadf}
}

.opening-contrast{display:none;position:absolute;inset:0;clip-path:circle(var(--aperture) at 50% 49%);z-index:4;pointer-events:none}
:root[data-theme=light] .opening-contrast{display:block}
:root[data-theme=light] .opening-contrast .opening-title-copy,:root[data-theme=light] .opening-contrast .opening-right>span{color:#f2eadf}

/* Question-led copy and supplied abstract video. */
.opening-left>span{font-size:.82em}
.opening-right>span{font-size:.72em}
.opening-context{max-width:410px;font-size:14px;line-height:1.55;letter-spacing:0}
.opening-context p{margin-bottom:7px}
.opening-context>span{display:block;font-size:12px;line-height:1.65}
.cinema-service .service-label small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}
video.scene-artwork{width:100%;height:100%;left:0;top:0;object-fit:cover;filter:none;animation:none!important;translate:none}
.contact-artwork video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-copy h2{font-size:clamp(48px,5vw,76px)}
.archive-tile h3{font-size:clamp(40px,4vw,62px)}
@media(max-width:1100px){.opening-context{max-width:330px;font-size:13px}.opening-context>span{font-size:11px}.editorial-copy h2{font-size:5.4vw}}
@media(max-width:800px){
 .opening-context{max-width:320px}.opening-right{left:43%}
 .editorial-copy h2{font-size:44px}
 .scroll-cue{bottom:145px}
}
@media(max-width:520px){
 :is(#opening-title,.opening-title-copy){font-size:15.8vw}
 .opening-left{left:8%;top:27%}.opening-right{left:21%;top:49%}
 .opening-left>span{font-size:.82em}.opening-right>span{font-size:.77em}
 .opening-context{left:21px;right:21px;bottom:115px;max-width:none;font-size:13px;line-height:1.5}
 .opening-context>span{font-size:11px;max-width:none;line-height:1.6}
 .opening-enquiry{bottom:30px}.scroll-cue{left:21px;bottom:30px;transform:none;gap:10px;font-size:10px}
 .cinema-service .service-label small{font-size:11px}
 .editorial-copy h2{font-size:48px}.archive-tile h3{font-size:42px}
 .contact-scene-copy h2 em{font-size:.78em}
}
@media(max-height:600px) and (orientation:landscape){
 .opening-context{bottom:15px;max-width:300px;font-size:10px;line-height:1.4}
 .opening-context>span{font-size:9px}
 .scroll-cue{bottom:15px;left:54%;transform:translateX(-50%)}
 .opening-left{top:27%}.opening-right{left:53%;top:53%}
}

/* Preserve text contrast over the moving background. */
.scene-shade{background:linear-gradient(180deg,#100f14a8,#100f14a3 35%,#100f14b3)}

/* Keep both text layers synchronised when switching themes. */
.opening-contrast{display:block;visibility:hidden}
:root[data-theme=light] .opening-contrast{visibility:visible}
