/* FIREBIRD / Sky & glass — shared across marketing, app and public records. */
:root{--sky-top:#438fae;--sky-low:#d7ecf1;--sky-mid:#96c4d3;--glass:rgba(255,255,255,.82);--paper:#edf5f7;--bg:#edf5f7;--surface:rgba(255,255,255,.82);--ink:#142932;--ink-2:#405861;--ink-3:#526972;--muted:#405861;--rule:#6e929c40}
body{background:radial-gradient(ellipse at 5% 24%,#ffffffd9 0,transparent 32%),radial-gradient(ellipse at 95% 58%,#ffffffb8 0,transparent 34%),linear-gradient(155deg,var(--sky-top),var(--sky-mid) 55%,var(--sky-low));background-attachment:fixed;color:#142932;min-height:100dvh}
body:not(.landing-cinema)>main.wrap{background:var(--glass);border:1px solid #ffffffba;border-radius:28px;margin-top:28px;margin-bottom:110px;padding:clamp(22px,4vw,44px);box-shadow:0 18px 60px #24495712;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body:not(.landing-cinema) .card,body:not(.landing-cinema) .note{background:#ffffffa8;border-color:#ffffffd9}
body:not(.landing-cinema) .tabs{background:#ffffffe0;border:1px solid #fff;border-radius:32px;left:16px;right:16px;bottom:12px;box-shadow:0 8px 28px #2449571a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
input,textarea,select{color:#142932;background:#fffffff0;border-color:#8ea7b2!important}input::placeholder,textarea::placeholder{color:#526972}
dialog{background:#f6fafb!important;color:#142932!important;border:1px solid white!important;box-shadow:0 20px 80px #163a4938}dialog::backdrop{background:#214b6059;backdrop-filter:blur(8px)}
.landing-cinema{background:linear-gradient(160deg,var(--sky-top),var(--sky-low));color:#142932;--muted:#405861;--rule:#749aa640;--red:#8b342d}
.landing-cinema>.hero-media{background:linear-gradient(160deg,var(--sky-top),var(--sky-low))}
.landing-cinema>.hero-media video{opacity:.6;mix-blend-mode:normal}
.landing-cinema>.hero-media:after{background:radial-gradient(ellipse at 10% 32%,#ffffff70,transparent 40%),linear-gradient(180deg,color-mix(in srgb,var(--sky-top) 75%,transparent),color-mix(in srgb,var(--sky-mid) 45%,transparent) 60%,color-mix(in srgb,var(--sky-low) 70%,transparent))}
.landing-cinema .cinema-hero,.landing-cinema .nav,.landing-cinema .hero-bottom,.landing-cinema .chapter-line,.landing-cinema>.footer{color:white}
.landing-cinema .cinema-hero .lead,.landing-cinema .cinema-hero .status{color:white;text-shadow:0 1px 14px #173d5f70}
.landing-cinema .cinema-hero h1{font-family:"Instrument Sans",system-ui,sans-serif;font-weight:400;letter-spacing:-.055em;text-shadow:0 2px 26px #16384a30}
.landing-cinema .nav-shell.scrolled{background:#17171770;border-bottom:1px solid #ffffff45;backdrop-filter:blur(22px)}
.landing-cinema main>section:not(.cinema-hero){background:var(--glass);color:#142932;border:1px solid #ffffffe6;border-radius:28px;box-shadow:0 18px 65px #1f465112;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.landing-cinema main>section:not(.cinema-hero) .lead,.landing-cinema .section-head p,.landing-cinema .dark .lead,.landing-cinema .muted,.landing-cinema .fine-line{color:#405861}
.landing-cinema .stage,.landing-cinema .crew-record,.landing-cinema .note{background:#ffffff70;border:1px solid #ffffffd9;color:#142932}
.landing-cinema .step-buttons button[aria-pressed=true] span,.landing-cinema .step-buttons button[aria-pressed=true]:after{color:#24596c}
.landing-cinema .button{background:#fff;color:#173c4d;border:1px solid #fff;box-shadow:0 4px 14px #23495612}
.landing-cinema main>section:not(.cinema-hero) .button{background:#141414;color:#fff;border-color:#141414}
.landing-cinema input,.landing-cinema textarea{background:#ffffffe8;color:#142932}.landing-cinema input::placeholder,.landing-cinema textarea::placeholder{color:#526972}
.landing-cinema .nav .wordmark img,.landing-cinema>.footer .wordmark img{filter:brightness(0) invert(1)}
.landing-cinema .receipt{--ink:#14110d;--white:#fefdfb;--muted:#5b5851;--red:#b3261e;background:#fefdfb;color:#14110d}.receipt img{filter:none!important}
body:has(.portfolio) .who,body:has(.portfolio) .portfolio{background:#ffffffdb;border:1px solid white;border-radius:28px;padding:32px;max-width:1040px;width:calc(100% - 40px)}
body:has(.portfolio) .portfolio{margin-top:24px;margin-bottom:24px}body:has(.portfolio)>.top{color:white}body:has(.portfolio)>.top a{color:inherit}body:has(.portfolio)>.top img{filter:brightness(0) invert(1)}body:has(.portfolio) .filters{background:#ffffffaa;border-radius:28px;padding:8px;width:max-content;max-width:calc(100% - 32px)}
body:has(.portfolio) .portfolio-receipt{background:#fefdfb;color:#14110d}
@media(max-width:600px){.landing-cinema main>section:not(.cinema-hero){width:calc(100% - 28px);padding:28px 22px;border-radius:24px;margin-bottom:24px}.landing-cinema .section-head{margin-bottom:28px}body:not(.landing-cinema)>main.wrap{width:calc(100% - 24px);padding:24px 18px;border-radius:24px}body:has(.portfolio) .who,body:has(.portfolio) .portfolio{width:calc(100% - 24px);padding:24px 18px}.landing-cinema .cinema-hero .lead{max-width:30ch}}
@media(prefers-reduced-transparency:reduce){:root{--glass:#f3f8fa}.landing-cinema main>section:not(.cinema-hero),body:not(.landing-cinema)>main.wrap,body:has(.portfolio) .who,body:has(.portfolio) .portfolio{background:#f3f8fa;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Balanced editorial headings adapt without stranded final words. */
h1,h2,h3{text-wrap:balance}p,figcaption{text-wrap:pretty}
.film-control:has(button[hidden]){display:none}

/* Browse actual app screens without automatic slide changes. */
.product-pair{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:32px;padding:12px 8px 24px;scrollbar-width:thin}
.product-pair figure{flex:0 0 min(72vw,360px);scroll-snap-align:center;margin:auto}
.product-gallery-controls{display:flex;justify-content:center;gap:12px;margin-top:20px}
.product-gallery-controls button{border:1px solid #809ca7;background:#fff;color:#142932;border-radius:24px;padding:12px 20px;cursor:pointer}
@media(prefers-reduced-motion:no-preference){.product-pair{scroll-behavior:smooth}.phone-frame{transition:transform .3s ease}.phone-frame:hover{transform:translateY(-5px)}}

/* Photographic cloud detail shared with the native app. Panels keep reading contrast. */
body{background-image:linear-gradient(155deg,color-mix(in srgb,var(--sky-top) 38%,transparent),color-mix(in srgb,var(--sky-low) 28%,transparent)),url('/media/ambient-sky.jpg');background-size:cover;background-position:center;background-attachment:fixed}
.landing-cinema>.hero-media{background-image:linear-gradient(180deg,#143b6545,#173e6418),url('/media/ambient-sky.jpg');background-size:cover;background-position:center}
.landing-cinema>.hero-media video{opacity:.16}
.landing-cinema>.hero-media:after{background:linear-gradient(180deg,color-mix(in srgb,var(--sky-top) 28%,transparent),color-mix(in srgb,var(--sky-low) 18%,transparent))}
.landing-cinema{--red:#24596c}
.landing-cinema .receipt{--red:#b3261e}
@media(prefers-reduced-transparency:reduce){body{background-image:none;background-color:#edf5f7}}

@keyframes sky-drift{from{background-position:48% 49%}to{background-position:52% 51%}}
body,.landing-cinema>.hero-media{animation:sky-drift 180s ease-in-out infinite alternate;background-size:auto,cover}
@media(prefers-reduced-motion:reduce){body,.landing-cinema>.hero-media{animation:none}}
