/* Leonardo Firenze — v1.4: coherent dual-theme motion + 1080p typography refinement.
   Accent = #E6223D; dark canvas = #0E0E0F. Overrides only. */
:root{--lf14-accent:#E6223D}

/* The supplied logo has light lettering. Two colorway SVGs preserve the real artwork. */
.v02-logo{position:relative}
.v02-logo img.lf14-logo-dark,.v02-logo img.lf14-logo-light{height:31px;width:auto}
.v02-logo img.lf14-logo-light{display:none}
html[data-theme=light] .v02-logo img.lf14-logo-light{display:block}
html[data-theme=light] .v02-logo img.lf14-logo-dark{display:none}
html[data-theme=light] .v02-header{background:rgba(245,243,239,.95);border-bottom-color:rgba(14,14,15,.12)}
html[data-theme=light] .v02-nav a,html[data-theme=light] .theme-toggle{color:#0E0E0F}
html[data-theme=light] .theme-toggle{border-color:rgba(14,14,15,.2);background:rgba(14,14,15,.035)}
html[data-theme=light] .theme-toggle:hover{background:rgba(14,14,15,.085)}
html[data-theme=light] .theme-moon{color:#0E0E0F}
html[data-theme=light] .v02-menu-toggle{background:#0E0E0F;color:#F3F3F3}
html[data-theme=light] .mobile-nav{background:#F5F3EF;color:#0E0E0F}
html[data-theme=light] .mobile-nav a{border-bottom-color:rgba(14,14,15,.14)}

/* Two coordinated video colorways. No permanent dark overlay in light mode. */
.lf13-hero .lf08-sticky{background:var(--lf07-bg);color:var(--lf07-ink)}
.lf13-hero .lf13-headline{color:var(--lf07-ink);font-size:clamp(68px,min(10.9vw,15.35svh),226px);line-height:.85}
.lf13-hero .lf13-line--accent{color:#E6223D;text-shadow:none}
.lf13-hero .lf13-role{color:var(--lf07-ink)}
.lf13-hero .lf08-topline,.lf13-hero .lf08-footerline,.lf13-hero .lf08-overline,.lf13-hero .lf08-photo figcaption{color:var(--lf07-muted)}
.lf13-hero .lf08-topline span:first-child,.lf13-hero .lf08-step,.lf13-hero .lf08-scroll-prompt{color:var(--lf07-ink)}
.lf13-hero .lf08-track{background:var(--lf07-rule)}
.lf13-hero .lf13-intro-bottom{color:var(--lf07-muted)}
.lf13-hero .lf08-bio{color:var(--lf07-ink)}
.lf13-hero .lf08-bio h2{color:var(--lf07-ink)!important}
.lf13-hero .lf08-bio>p:not(.lf08-overline){color:var(--lf07-muted)}
.lf13-hero .lf08-bio>p.lf08-bio-lead{color:var(--lf07-ink)}
.lf13-hero .lf07-button--ghost{color:var(--lf07-ink);border-color:var(--lf07-rule);background:var(--lf07-frost)}
.lf13-hero .lf07-glass-shine{background:linear-gradient(90deg,rgba(14,14,15,.49),rgba(14,14,15,.12) 53%,rgba(14,14,15,.35)),linear-gradient(0deg,rgba(14,14,15,.32),transparent 38%,rgba(14,14,15,.16));opacity:1}
.lf13-hero .lf08-sticky::before{background:radial-gradient(ellipse 38% 40% at 50% 50%,rgba(14,14,15,.06),transparent)}
.lf13-video{filter:saturate(1) contrast(1.01);opacity:.88;transition:opacity .32s ease}
.lf13-video.lf14-switching{opacity:0!important}
html[data-theme=light] .lf13-hero .lf08-sticky{background:#F5F3EF;color:#0E0E0F}
html[data-theme=light] .lf13-hero .lf07-underlay{background:#F5F3EF url('hero-light-poster.webp') center/cover no-repeat}
html[data-theme=dark] .lf13-hero .lf07-underlay{background:#0E0E0F url('hero-dark-poster.webp') center/cover no-repeat}
html[data-theme=light] .lf13-hero .lf07-glass-shine{background:linear-gradient(90deg,rgba(245,243,239,.60),rgba(245,243,239,.13) 55%,rgba(245,243,239,.46)),linear-gradient(0deg,rgba(245,243,239,.34),transparent 36%,rgba(245,243,239,.15));opacity:1}
html[data-theme=light] .lf13-hero .lf08-sticky::before{background:radial-gradient(ellipse 38% 40% at 50% 50%,rgba(245,243,239,.06),transparent)}
html[data-theme=light] .lf13-video{opacity:.82;filter:saturate(1.08) contrast(1.04)}
html[data-theme=light] .lf13-hero .lf07-ambient{opacity:.06}
html[data-theme=light] .lf13-hero .lf08-topline,html[data-theme=light] .lf13-hero .lf08-footerline,html[data-theme=light] .lf13-hero .lf08-overline,html[data-theme=light] .lf13-hero .lf08-photo figcaption{color:#55565B}
html[data-theme=light] .lf13-hero .lf08-bio>p:not(.lf08-overline){color:#44464A}
html[data-theme=light] .lf13-hero .lf08-bio>p.lf08-bio-lead{color:#0E0E0F}
html[data-theme=light] .lf13-hero .lf07-button--ghost{color:#0E0E0F;border-color:rgba(14,14,15,.32);background:rgba(245,243,239,.5)}

/* Earlier Work / Archives: light palette rather than fixed dark in lf12.css */
html[data-theme=light] .v11-archives{
 --archives-text:#0E0E0F;--archives-muted:#63656A;
 background:radial-gradient(ellipse 38% 48% at 0% 0%,rgba(230,34,61,.055),transparent 80%),linear-gradient(180deg,#F8F7F4,#EFECE7)!important;
 color:#0E0E0F;
}
html[data-theme=light] .v11-archives-head h2{color:#0E0E0F}
html[data-theme=light] .v11-archives-head h2 span{color:#8D8E94}
html[data-theme=light] .v12-archive-list{border-top-color:rgba(14,14,15,.2)}
html[data-theme=light] .archive-row{border-bottom-color:rgba(14,14,15,.14)}
html[data-theme=light] .archive-row__summary,html[data-theme=light] .archive-row__name{color:#0E0E0F}
html[data-theme=light] .archive-row__year,html[data-theme=light] .archive-row__category,html[data-theme=light] .archive-row__arrow,html[data-theme=light] .archive-note{color:#67686C}
html[data-theme=light] .archive-row__detail p{color:#44454A}
@media(hover:hover) and (pointer:fine){html[data-theme=light] .archive-row__summary:hover .archive-row__name{color:#C91D36}}

/* Selected Work: dark stays cinematic, light becomes a warm editorial paper card. */
html[data-theme=light]{--lf10-foreground:#0E0E0F;--lf10-muted:#66676C;--lf11-card-bg:#FDFCF9}
html[data-theme=light] .case-card{background:#FDFCF9!important;border:1px solid rgba(14,14,15,.11)!important;color:#0E0E0F!important;box-shadow:0 14px 48px rgba(14,14,15,.06),0 30px 90px rgba(14,14,15,.06)}
html[data-theme=light] .case-card__meta,html[data-theme=light] .case-card__caption{color:#55565C}
html[data-theme=light] .case-card__body>p{color:#4C4D52}
html[data-theme=light] .case-card__tags span{color:#393B3F;border-color:rgba(14,14,15,.18)}
html[data-theme=light] .case-card__view{background:#ECEAE5}

/* The signature-red process section becomes soft and luminous in light mode. */
html[data-theme=light] .v02-method{background:linear-gradient(120deg,#F6EFEF,#F2DFE2 63%,#F8F4F0);color:#0E0E0F}
html[data-theme=light] .method-heading .kicker{color:#7E3444}
html[data-theme=light] .method-heading .red-bullet{background:#E6223D}
html[data-theme=light] .method-heading h2 span{color:#D51F39}
html[data-theme=light] .method-card{background:#FFFFFF;border:1px solid rgba(230,34,61,.13);box-shadow:0 24px 60px rgba(100,24,41,.07)}
html[data-theme=light] .method-progress{background:rgba(14,14,15,.16)}
html[data-theme=light] .method-progress span{background:#E6223D}

/* CV's explicit dark-era colors need light-mode contrast. */
html[data-theme=light] .v02-experience{background:var(--exp-bg);color:#0E0E0F}
html[data-theme=light] .exp-heading h2{color:#0E0E0F}
html[data-theme=light] .exp-heading>p,html[data-theme=light] .exp-kind,html[data-theme=light] .exp-main p,html[data-theme=light] .exp-status{color:#626368}
html[data-theme=light] .exp-row{border-bottom-color:rgba(14,14,15,.17)}
html[data-theme=light] .exp-table{border-top-color:rgba(14,14,15,.2)}
html[data-theme=light] .cv-panel{background:linear-gradient(150deg,#fff,#F4F0EB);border-color:rgba(14,14,15,.12);color:#0E0E0F}
html[data-theme=light] .cv-panel-head,html[data-theme=light] .cv-note{color:#626368}
html[data-theme=light] .skill-lines span,html[data-theme=light] .tool-rows span{color:#0E0E0F;border-color:rgba(14,14,15,.18)}

/* Mobile header/hero separation, and height-aware 1920x1080 behavior. */
@media(max-width:1100px){.lf13-hero .lf13-headline{font-size:clamp(60px,min(11.8vw,14.9svh),172px)}}
@media(max-width:780px){.lf13-hero .lf13-headline{font-size:clamp(54px,min(13.2vw,13.5svh),106px)}.v02-logo img.lf14-logo-dark,.v02-logo img.lf14-logo-light{height:27px}}
@media(max-width:540px){.lf13-hero .lf13-headline{font-size:clamp(49px,min(13.4vw,12.5svh),78px)}.lf13-role{font-size:clamp(19px,5.5vw,26px)}}
@media(max-height:850px) and (min-width:781px){.lf13-hero .lf13-headline{font-size:clamp(76px,min(10vw,14.3svh),178px)}.lf13-hero .lf13-scene--intro{gap:clamp(15px,2.4svh,28px)}}
@media(prefers-reduced-motion:reduce){.lf13-video{display:none!important}.lf13-hero .lf07-underlay{background-size:cover!important}}
/* Contrast of progress indicator and top-left label on a pale moving background. */
html[data-theme=light] .lf13-hero .lf08-topline span:first-child,
html[data-theme=light] .lf13-hero .lf08-step,
html[data-theme=light] .lf13-hero .lf08-scroll-prompt{color:#0E0E0F}
html[data-theme=light] .lf13-hero .lf08-track{background:rgba(14,14,15,.25)}
