/* Nocturne Transit Authority: technical implementation of Claude Opus 5.5 direction. */
.experience-controls{display:flex;align-items:center;gap:.4rem;flex-shrink:0}
.experience-controls button{min-height:44px;padding:.55rem .7rem;border:1px solid currentColor;background:transparent;color:inherit;font:600 .7rem/1.2 var(--mono);cursor:pointer}
.portrait-cyber{display:none!important}
.portrait-art{display:block;position:relative;overflow:hidden}
.portrait-art>.portrait-default{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portrait-art>.cyber-portrait-stack{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.cyber-portrait-stack img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.cyber{--day-ground:#0B0E14;--day-ground-alt:#161C24;--day-field:#111820;--day-text:#ECE4D3;--day-muted:#C4C1B8;--day-link:#FFD394;--day-accent:#FF9A2E;--day-hair:#698284;--day-edge:#ECE4D3;--day-focus:#FFD394;--day-halo:#0B0E14;--night-ground:#080C10;--night-ground-alt:#141C22;--night-field:#141C22;--night-text:#ECE4D3;--night-muted:#C4C1B8;--night-link:#FFD394;--night-accent:#FF9A2E;--night-hair:#698284;--night-edge:#ECE4D3;--night-focus:#FFD394;--night-halo:#0B0E14;--card:#FFB65E;--card-text:#0B0E14;--cue:#3FB8A4;--screen:#05080C;--italic:normal;--serif-display:Bahnschrift,"Arial Narrow",Arial,sans-serif;--serif-text:Georgia,serif;--mono:ui-monospace,Consolas,monospace;--paper:#0B0E14!important;--ink:#ECE4D3!important;--muted:#C4C1B8!important;--blue:#161C24!important;--link:#FFD394!important;--action:#FFB65E!important;--rose:#161C24!important;--wine:#FFD394!important;--dark:#080C10!important;--white:#ECE4D3!important;--line:#698284!important;--mat:#161C24!important;--tungsten:#FFB65E!important;--graphite:#161C24!important;--cyber-ember:#FF9A2E!important;--cyber-core:#FFD394!important;background:#0B0E14;color:#ECE4D3;color-scheme:dark;position:relative;isolation:isolate}
.cyber .portrait-default{display:none!important}.cyber .portrait-cyber{display:block!important}
.cyber-rain{position:absolute;inset:0 auto auto 0;z-index:0;max-width:100%;pointer-events:none;mix-blend-mode:screen;opacity:.8}
body>.cyber-rain{position:fixed}.cyber-rain[hidden]{display:none!important}
.cyber main,.cyber .site-header,.cyber .site-footer,.cyber .consent-banner{position:relative;z-index:1}
.cyber .site-header{background:#0B0E14;color:#ECE4D3;border-bottom:2px solid #FF9A2E;box-shadow:none}
.cyber .site-header .brand,.cyber .site-menu a,.cyber .language-menu summary,.cyber .menu-toggle{color:#ECE4D3}
.cyber .experience-controls button{border-color:#A2B7B2;color:#ECE4D3}.cyber .experience-controls button[aria-pressed=true]:not(:disabled){background:#FFB65E;color:#0B0E14;border-color:#FFB65E}
.cyber :focus-visible{outline:3px solid #FFD394!important;outline-offset:3px}
.cyber .showbook{background:transparent;color:#ECE4D3;overflow:visible}
.cyber .showbook-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr);grid-template-rows:auto;gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:clamp(2rem,5vw,5rem)}
.cyber .showbook-copy{display:block;min-width:0}
.cyber .showbook h1{display:block;grid-column:auto;grid-row:auto;margin:0 0 1.5rem;color:#ECE4D3;font:700 clamp(3.2rem,9vw,8.5rem)/.9 Bahnschrift,"Arial Narrow",Arial,sans-serif;letter-spacing:-.055em;text-align:left;text-transform:uppercase;text-shadow:none}
.cyber .showbook h1>span{display:block;color:#FFB65E}.cyber .showbook .name-period{color:#3FB8A4}
.cyber .showbook-line,.cyber .showbook-intro{max-width:34ch;margin:0 0 1.2rem;color:#ECE4D3;text-align:left}
.cyber .showbook-line{font:600 clamp(1.35rem,2.6vw,2.5rem)/1.15 Bahnschrift,"Arial Narrow",Arial,sans-serif}.cyber .showbook-intro{font:1.05rem/1.7 Georgia,serif;color:#C4C1B8}
.cyber .showbook .actions{justify-content:flex-start;margin-top:1.5rem}
.cyber .showbook-portrait,.cyber .portrait-section .portrait{display:block;grid-column:auto;grid-row:auto;width:min(100%,32rem);max-width:100%;margin:0;padding:.5rem;border:1px solid #3FB8A4;border-radius:0;background:#161C24;box-shadow:10px 10px 0 #080C10}
.cyber .showbook-portrait::before,.cyber .portrait-section .portrait::before{display:none}
.cyber .showbook-portrait .portrait-art,.cyber .portrait-section .portrait-art{aspect-ratio:2/3;border-radius:0;background:#0B0E14}
.cyber .showbook-portrait figcaption{position:static;writing-mode:horizontal-tb;height:auto;margin:.7rem 0 0;color:#C4C1B8;font:.7rem/1.4 var(--mono)}
.cyber .showbook-foot{background:#FFB65E;color:#0B0E14;border:0;box-shadow:0 0 0 100vmax #FFB65E}.cyber .showbook-foot a,.cyber .showbook-foot span{color:#0B0E14}
.cyber h1,.cyber h2,.cyber h3{color:#ECE4D3;text-shadow:none}.cyber .section-head,.cyber .case-heading,.cyber .project-row{border-color:#698284}
.cyber .section-head h2,.cyber .page-heading h1,.cyber .case-heading h1{font-family:Bahnschrift,"Arial Narrow",Arial,sans-serif;font-style:normal;letter-spacing:-.035em}
.cyber .showcase-grid .project-body h2,.cyber .showcase-grid .project-body h3{color:#0B0E14}.cyber .showcase-grid .project-thumb,.cyber .case-image .screen-mat,.cyber .solutions-preview-figure{border:1px solid #698284;box-shadow:none}
.cyber .showcase-grid .project-thumb img,.cyber .case-image img,.cyber .case-gallery img{filter:none}
.cyber .project-filter button{border-radius:0}.cyber .project-filter button[aria-pressed=true]{background:#FFB65E;color:#0B0E14}
.cyber .text-link,.cyber .case-hero a{color:#FFD394}.cyber .project-caption,.cyber figcaption,.cyber .caption,.cyber .quiet{color:#C4C1B8}
.cyber .button{position:relative;isolation:isolate;background:#FFB65E;color:#0B0E14;border-color:#FFB65E;box-shadow:none}.cyber .button:hover,.cyber .button:focus-visible{color:#0B0E14;background:#FFD394;transform:none}
.cyber input,.cyber textarea,.cyber select{background:#111820;color:#ECE4D3;border-color:#A2B7B2}.cyber input::placeholder,.cyber textarea::placeholder{color:#C4C1B8}
.cyber .cyber-word{display:inline-block;white-space:nowrap}.cyber .cyber-letter{display:inline-block;transform-origin:center bottom}.cyber .cyber-distort .cyber-letter{animation:transit-flap var(--duration) ease-in-out both;animation-delay:calc(var(--i) * 16ms)}
@keyframes transit-flap{0%,100%{transform:none}45%{transform:translateY(var(--lift)) rotateX(24deg)}}
.cyber.fx-paused .cyber-letter{animation:none!important}
@media(max-width:860px){.cyber .showbook-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;text-align:left;justify-items:start}.cyber .showbook h1,.cyber .showbook-line,.cyber .showbook-intro{text-align:left}.cyber .showbook-portrait{width:min(100%,24rem)}.cyber .showbook-portrait figcaption{font-size:.7rem}}
@media(max-width:600px){.cyber .experience-controls{display:flex;flex-wrap:wrap;gap:.4rem}.cyber .experience-controls [data-fx-toggle]{position:static;background:#0B0E14;border-color:#FFB65E}}
@media(prefers-reduced-motion:reduce){.cyber .cyber-letter{animation:none!important}.cyber-rain{display:none!important}}

/* Contain the portrait and align the transit headline with its copy column. */
.cyber .cyber-portrait-stack .cyber-photo{max-height:none;height:100%}
.cyber .showbook-copy .showbook-line,.cyber .showbook-copy .showbook-intro{position:static;justify-self:start;align-self:start;margin-left:0!important;margin-right:0!important}
.cyber .experience-controls button{border-radius:0}

/* Contextual choice is shown only before the optional animated edition. */
.cyber-motion-notice{max-width:min(34rem,calc(100vw - 2rem));padding:1.5rem;border:2px solid #12162B;background:#EDE6D8;color:#12162B;line-height:1.6}
.cyber-motion-notice::backdrop{background:rgba(18,22,43,.7)}
.cyber-motion-notice h2{margin:0 0 1rem;color:#12162B;font-size:1.4rem}
.cyber-motion-notice p{margin:0 0 1.25rem}
.cyber-motion-notice button{display:block;width:100%;min-height:44px;margin:.6rem 0 0;padding:.6rem 1rem;border:1px solid #12162B;background:#F2C230;color:#12162B;font:inherit;cursor:pointer}
.cyber-motion-notice button:focus-visible{outline:3px solid #9E2A22;outline-offset:3px}
