@import url('./site-shell.css');
/* Shared portfolio primitives. Legacy product layouts retain their content geometry. */
:root{--paper:#f1efe9;--ink:#080808;--blue:#2457ff;--display:'Manrope',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif;--header:72px;--gutter:clamp(18px,2.4vw,36px);--ease:cubic-bezier(.16,1,.3,1)}
[hidden]{display:none!important}*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:92px}a,button,input,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7595ff;outline-offset:5px}section{position:relative}.anchor-alias{position:absolute;top:0;left:0;pointer-events:none}.loader{pointer-events:none;animation:curtain-failsafe .01s 4s forwards}@keyframes curtain-failsafe{to{visibility:hidden}}
/* Reveal transforms stay unmasked: descenders have room throughout the entrance. */
.hero-title,.section-heading h2,.about-copy h2,.contact-intro h2{line-height:1.08;letter-spacing:-.055em}.hero-title .title-line,.reveal-word{overflow:visible;padding-bottom:.12em;margin-bottom:-.12em}.title-line>span{animation-name:safe-title;transform:none}.reveal-word>span{transform:translateY(.35em);opacity:0;transition:opacity .65s var(--ease),transform .85s var(--ease)}.is-visible .reveal-word>span{opacity:1;transform:none}@keyframes safe-title{from{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}
.build-tab{color:#62615d}.build-tab span{color:#62615d}.section-intro,.about-copy>p{color:inherit}.light-section .section-intro,.light-section .about-copy>p,.capability-row p,.capability-row>span{color:#575652}.project-meta p{color:#91a8ff}.eyebrow span{flex-shrink:0}.consulting-link{font-size:.8rem;padding:1rem 0;text-decoration:underline}
/* Cinematic real film. Source is vertical, so the full foreground frame is contained. */
.hero-film-stage{position:absolute;inset:0;background:#101010 url('/assets/video/systems-with-leo-introduction-poster.webp') right center/auto 100% no-repeat}.hero-film-stage.is-playing{background-image:none}.hero-film-stage video{position:absolute;right:0;top:0;width:min(60vw,900px);height:100%;object-fit:contain;object-position:right center}.film-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.55) 48%,rgba(0,0,0,.15)),linear-gradient(0deg,#080808,transparent 42%)}.hero::after{display:none}.hero-orbit{display:none}.hero-grid{opacity:.4}.hero-shell{min-height:max(760px,calc(100svh - 72px));padding-top:60px}.hero-title{font-size:clamp(3.5rem,7.5vw,8rem);max-width:1050px;margin-top:65px}.title-line--offset{padding-left:8vw}.hero-title em{color:inherit}.hero-bottom{right:0;bottom:85px;grid-template-columns:1fr 1fr;gap:2rem}.hero-bottom>p{max-width:460px;color:#ddd}.hero-actions{flex-wrap:wrap;gap:1rem}.hero-actions .text-link{font-size:.65rem}.hero-film-stage video.is-unavailable{visibility:hidden}.film-section{padding:100px 0}.film-layout{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:8vw}.film-layout h2{font:500 clamp(2.5rem,5vw,5.5rem)/1.1 var(--display);letter-spacing:-.05em;margin:25px 0}.film-layout p{line-height:1.6;max-width:520px}.film-layout video{max-height:630px;width:100%;background:#090909;object-fit:contain}
/* Staggered project gallery, framed visuals and readable metadata. */
.project-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:clamp(24px,4vw,70px);row-gap:clamp(55px,7vw,100px);align-items:start}.project-card{min-width:0;position:relative}.project-card--assistant{margin-top:clamp(90px,11vw,170px)}.project-card--review{grid-column:1/-1;width:min(72%,980px);margin:0 0 0 auto}.project-card--vault .project-media{height:clamp(500px,49vw,700px);min-height:0}.project-card--review .project-media{height:clamp(400px,39vw,560px);min-height:0}.project-card--assistant .project-media{height:clamp(520px,53vw,700px);min-height:0}.project-media{border:1px solid #373737}.project-media>img,.project-media>video{object-fit:contain;background:#0e1118}.project-meta{display:flex;flex-direction:column;gap:14px;padding:24px 0}.project-meta h3{font-size:clamp(1.8rem,3vw,3.2rem);line-height:1.1}.project-meta>span{line-height:1.6}.assistant-demo{padding:24px}.assistant-thread p,.assistant-thread div{width:100%}.project-card::before,.project-card::after,.button::before,.button::after{content:'';position:absolute;width:5px;height:5px;background:currentColor;pointer-events:none;transition:translate .3s}.project-card::before,.button::before{left:-2px;top:-2px}.project-card::after,.button::after{right:-2px;bottom:-2px}.project-card:hover::before,.button:hover::before{translate:-3px -3px}.project-card:hover::after,.button:hover::after{translate:3px 3px}.button{position:relative;border-radius:0}.project-card .project-media{transition:clip-path 1s var(--ease)}.motion-ready .project-card:not(.is-visible) .project-media{clip-path:inset(0 0 100%)}.project-card.is-visible .project-media{clip-path:inset(0)}
.restoration-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center;margin-top:100px;border-top:1px dashed #555;padding-top:70px}.restoration-copy h3{font:500 clamp(2.5rem,5vw,5rem)/1.1 var(--display);letter-spacing:-.05em;margin:24px 0}.restoration-copy>p{color:#d0d0d0;line-height:1.6}.restoration-copy .button{margin-top:24px}.comparison{position:relative;--position:50%;aspect-ratio:4/3;overflow:hidden;background:#181818}.comparison img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison img.after{clip-path:inset(0 0 0 var(--position))}.comparison input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.comparison:focus-within{outline:3px solid #91a8ff;outline-offset:4px}.comparison-line{position:absolute;top:0;bottom:0;left:var(--position);width:2px;background:white;pointer-events:none;z-index:3}.comparison-knob{position:absolute;left:var(--position);top:50%;transform:translate(-50%,-50%);border:1px solid white;border-radius:50%;width:44px;height:44px;background:#080808;color:white;display:grid;place-items:center;z-index:4;pointer-events:none}.compare-label{position:absolute;top:16px;background:#080808e8;color:#fff;padding:10px;font-size:12px;text-transform:uppercase;z-index:4}.compare-label.before{left:16px}.compare-label.after-label{right:16px}
/* No ancestor stacking context between the active step and the stage. */
.process-list{z-index:auto;transform:none;filter:none;opacity:1}.process-step{position:relative;z-index:0;line-height:1.1}.process-step.is-active,.process-step:focus-visible{z-index:20;color:white;text-shadow:0 2px 16px #000,0 0 5px #000}.process-visual{z-index:2;pointer-events:none}.process-card{background:#152034;color:#c7d5ff;border-color:#3b4d78}.process-map{background-image:linear-gradient(#ffffff16 1px,transparent 1px),linear-gradient(90deg,#ffffff16 1px,transparent 1px)}.process-map i{border-color:#152034;background:#d8e1ff}.process-copy{color:#ddd}.process-step:not(.is-active){color:#aaa;filter:blur(1px)}.process-stage{min-height:690px;padding-bottom:120px}.process-pause{position:relative;display:block;margin:22px auto 0;font-size:12px;text-decoration:underline;z-index:25}
@media(max-width:1100px){.site-header{grid-template-columns:1fr auto 72px}.menu-toggle{display:grid;place-items:center;border-left:1px dashed currentColor;font-size:12px}.project-grid{grid-template-columns:1fr 1fr}.project-card--review{grid-column:1/-1;width:80%}.project-card--review .project-media{height:480px}.project-card--assistant .project-media{height:600px}.hero-bottom{grid-template-columns:1fr;gap:24px}.hero-title{max-width:850px}}
@media(max-width:760px){.site-header{grid-template-columns:minmax(0,1fr) 68px}.hero-shell{padding-top:35px;min-height:900px}.hero-title{font-size:clamp(3rem,13vw,5rem);margin-top:50px}.hero-film-stage video{width:100%;object-fit:cover;object-position:center}.film-scrim{background:linear-gradient(0deg,#080808 8%,#080808ac 55%,#08080899)}.hero-bottom{bottom:90px;display:grid}.hero-bottom>p{max-width:100%}.title-line--offset{padding-left:0}.hero-actions{flex-direction:row}.hero .eyebrow{max-width:100%;font-size:10px}.film-section{padding:70px 0}.film-layout,.restoration-feature{grid-template-columns:1fr;gap:35px}.film-layout video{max-height:600px}.project-grid{grid-template-columns:1fr;gap:45px}.project-card--review{grid-column:auto;width:100%;margin:0}.project-card--assistant{margin-top:0}.project-card--vault .project-media,.project-card--review .project-media{height:440px}.project-card--assistant .project-media{height:520px}.project-meta h3{font-size:2.4rem}.restoration-feature{margin-top:50px;padding-top:50px}.comparison{aspect-ratio:4/4}.process-stage{min-height:620px}.process-step{font-size:3rem}.process-copy{bottom:0}.capability-rail{gap:22px;overflow:auto}.contact-rail{order:2}.contact-main{order:1}.contact-intro h2{font-size:2.8rem}}
/* Product pages share the homepage shell; their demos and page layouts remain distinct. */
body.project-detail{--bg:#080808;--panel:#151515;--panel2:#1b1b1b;--panel3:#222;--text:#fff;--muted:#c0c0c0;--aqua:#9cb1ff;--aqua2:#2457ff;--lime:#b8c7ff;--line:#ffffff30;--line2:#ffffff55;--mono:'DM Sans',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif;background:#080808;color:#fff;font-family:var(--sans)}
.project-detail::before,.project-detail::after,.project-detail .grid-bg,.project-detail .scanline{display:none}.project-detail main{padding-top:72px}.project-breadcrumb{max-width:1480px;margin:auto;padding:28px var(--gutter) 0;display:flex;gap:18px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#c6c6c6}.project-detail main>section{padding:90px 0;border-top:1px dashed #ffffff40;background:#080808;color:#fff}.project-detail main>section::before{content:"";position:absolute;top:-4px;left:var(--gutter);width:7px;height:7px;background:var(--blue)}.project-detail main>section:nth-of-type(even){--bg:#f1efe9;--panel:#e5e2dc;--panel2:#e5e2dc;--text:#080808;--muted:#575652;--line:#00000030;--line2:#00000050;--aqua:#1742c0;--lime:#1742c0;background:#f1efe9;color:#080808}.project-detail :is(h1,h2,h3){font-family:var(--display);line-height:1.1;overflow:visible;letter-spacing:-.045em}.project-detail h1{font-size:clamp(3.2rem,6.5vw,7rem);max-width:100%;line-height:1.1}.project-detail .section-title{font-size:clamp(2.5rem,4.5vw,5rem);max-width:22ch}.project-detail .outline{color:inherit;-webkit-text-stroke:0}.project-detail .accent{color:inherit}.project-detail .kicker{color:var(--aqua);font-size:12px}.project-detail .kicker::before{width:6px;height:6px;border-radius:0;background:currentColor;box-shadow:none}.project-detail :is(.card,.tool,.tier,.progress-card,.inquiry-card,.proof-card,.engagement-notes){border-radius:0;background:var(--panel);border:1px dashed var(--line2);box-shadow:none}.project-detail :is(.hero-copy,.section-intro,.card p,.tool p,.tier p,.note,.disclaimer,.hero-note){color:var(--muted);line-height:1.7}.project-detail .btn{position:relative;border-radius:0;padding:16px 20px;font-family:var(--sans);font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.07em;white-space:normal;box-shadow:none}.project-detail .btn-primary{background:var(--text);color:var(--bg);border:1px solid var(--text)}.project-detail .btn-ghost{background:transparent;color:var(--text);border:1px dashed var(--line2)}.project-detail :is(.hero-grid,.split,.demo-grid,.live-demo-grid)>*{min-width:0}.project-detail :is(.media-frame,.video-frame){border-radius:0;border:1px solid var(--line2);background:#080808}.project-detail video{max-height:750px;object-fit:contain}.project-detail .map-img{object-fit:contain}.project-detail .comparison{aspect-ratio:4/3}.project-detail footer{background:#080808;color:#ddd;border-top:1px dashed #ffffff55;padding:60px 0}.project-detail .footer-row{gap:24px;line-height:1.6}.project-detail .reveal{clip-path:none}.project-detail .hero-code{flex-wrap:wrap;line-height:1.6}.project-detail .hero{min-height:0}.project-detail .process-step{font-family:var(--sans);font-size:inherit;line-height:inherit;text-shadow:none;filter:none;color:inherit}.project-detail .process-step:not(.is-active){filter:none;color:inherit}.project-detail .brand{border:0}.project-detail .brand-copy small{display:block}.project-detail .site-header{background:#080808;color:#fff;backdrop-filter:none}.project-detail .mobile-menu{display:block;background:#080808;color:#fff}.project-detail .mobile-menu[hidden]{display:none}.project-detail .site-header .header-cta{background:#fff;color:#000}.project-detail .privacy-dialog{background:#111;color:#fff}.project-detail .privacy-dialog p{color:#ccc}
@media(max-width:760px){.project-detail main>section{padding:60px 0}.project-detail h1{font-size:clamp(2.8rem,12vw,4rem)}.project-detail .section-title{font-size:2.6rem}.project-detail .brand-copy small{display:none}.project-detail .comparison{aspect-ratio:4/4}.project-detail :is(.hero-grid,.split,.demo-grid,.live-demo-grid,.score-wrap,.request-grid){grid-template-columns:1fr}.project-detail .container{width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-word>span{opacity:1;transform:none}.hero-film-stage video{visibility:hidden}.hero-film-stage video.is-manual{visibility:visible}.motion-ready .project-card .project-media{clip-path:none}.process-step:not(.is-active){filter:none}}

/* Detail-page contrast takes precedence over legacy inline theme rules. */
.project-detail .site-header .menu-toggle{color:#fff!important;background:transparent!important;border:0!important;border-left:1px dashed #ffffff55!important}
.project-detail main>section:first-of-type{padding-top:65px!important}
.project-detail :is(.project-hero,.hero) h1{color:#fff!important;text-transform:none!important;text-shadow:none!important}
.project-detail :is(.project-hero,.hero) h1 :is(.outline,.accent){color:#fff!important;-webkit-text-stroke:0!important}
.project-detail :is(.project-hero,.hero) :is(.hero-copy,.hero-note,.note){color:#d4d4d4!important;opacity:1!important}
.project-detail :is(.project-hero,.hero) .hero-code,.project-detail :is(.project-hero,.hero) .hero-code b{color:#b8c5ff!important;opacity:1!important}
.project-detail .btn-primary{background:#fff!important;color:#080808!important;border-color:#fff!important;opacity:1!important}
.project-detail .btn-ghost{background:transparent!important;color:#fff!important;border-color:#ffffff80!important;opacity:1!important}
.project-detail .project-hero :is(.status-panel,.system-panel) :is(strong,p,small,span),.project-detail .hero :is(.status-panel,.system-panel) :is(strong,p,small,span){opacity:1}
.project-detail .project-hero :is(.status-panel,.system-panel) p,.project-detail .hero :is(.status-panel,.system-panel) p{color:#c8c8c8!important}
.project-detail .project-hero :is(.status-panel,.system-panel) strong,.project-detail .hero :is(.status-panel,.system-panel) strong{color:#fff!important}

.project-detail :is(.hero-grid,.project-hero .hero-grid){opacity:1!important}
