/* Leonardo Firenze — editorial hero and animated fluid study, v0.7 */
:root{--lf07-ease:cubic-bezier(.23,1,.32,1)}
html[data-theme="dark"]{--lf07-bg:#0E0E0F;--lf07-ink:#F3F3F3;--lf07-muted:#A5A6AB;--lf07-rule:rgba(243,243,243,.19);--lf07-frost:rgba(255,255,255,.035);--lf07-mask-left:#0e0e0f}
html[data-theme="light"]{--lf07-bg:#F5F3EF;--lf07-ink:#0E0E0F;--lf07-muted:#696A6D;--lf07-rule:rgba(14,14,15,.20);--lf07-frost:rgba(14,14,15,.018);--lf07-mask-left:#f5f3ef}
.v02-hero.lf07-hero{
  background:var(--lf07-bg);color:var(--lf07-ink);
  display:flex;flex-direction:column;padding:0;overflow:clip;
  position:relative;isolation:isolate;min-height:100svh;
  transition:background-color 220ms ease,color 220ms ease;
}
.lf07-underlay{position:absolute;inset:0 0 0 0;z-index:0;pointer-events:none;overflow:hidden}
.lf07-grid{position:absolute;inset:0 2.8%;opacity:.50;
 background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.33333% - 1px),var(--lf07-rule) calc(8.33333% - 1px),var(--lf07-rule) 8.33333%);
 -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 85%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 85%)}
.lf07-ambient{position:absolute;width:min(94vw,1300px);aspect-ratio:1;right:-21vw;top:4%;opacity:.88;
 background:radial-gradient(ellipse at 48% 50%,rgba(230,34,61,.32),rgba(230,34,61,.10) 24%,rgba(115,92,122,.10) 39%,transparent 65%);
 filter:blur(64px)}
html[data-theme="light"] .lf07-ambient{opacity:.37}
.lf07-fluid{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.95;transform:translateZ(0)}
html[data-theme="light"] .lf07-fluid{opacity:.85}
.lf07-glass-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--lf07-mask-left) 0%,color-mix(in srgb,var(--lf07-bg) 74%,transparent) 18%,transparent 48%,transparent 90%);opacity:.76}
.lf07-hero-inner{position:relative;z-index:2;flex:1;width:100%;min-height:calc(100svh - var(--nav-h) - 100px);padding:clamp(34px,4vw,70px) var(--gutter) clamp(56px,6vw,100px);display:flex;flex-direction:column;max-width:none;margin:0}
.lf07-overline{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--lf07-muted);font-size:clamp(10px,.9vw,13px);letter-spacing:.12em;text-transform:uppercase}
.lf07-overline>span:first-child{display:inline-flex;align-items:center;gap:10px}
.lf07-overline .red-bullet{height:8px;width:8px}
.lf07-display{position:relative;z-index:2;align-self:stretch;margin:auto 0 0;padding-top:clamp(90px,10vw,180px);width:100%;max-width:none!important;overflow:visible;color:var(--lf07-ink);
 font-family:var(--heading-now);font-size:clamp(92px,14.4vw,284px);font-weight:600;line-height:.85;letter-spacing:.022em;text-transform:uppercase;text-wrap:nowrap}
.lf07-mask{display:block;width:100%;overflow:hidden;padding-block:.06em .10em;margin-block:-.05em;white-space:nowrap}
.lf07-mask-inner{display:block;width:max-content;max-width:none;transform:translate3d(0,112%,0);opacity:0;will-change:transform,opacity;transition:transform 1050ms var(--lf07-ease),opacity 500ms ease}
.lf07-hero.lf07-ready .lf07-mask-inner{transform:translate3d(0,0,0);opacity:1}
.lf07-mask:nth-child(2) .lf07-mask-inner{transition-delay:90ms}
.lf07-mask:nth-child(3) .lf07-mask-inner{transition-delay:175ms}
.lf07-mask--red{color:#E6223D}
.lf07-stop{color:var(--lf07-ink)}
.lf07-mask--secondary{font-size:.84em;letter-spacing:.012em}
.lf07-star{color:#E6223D;font:500 .42em/1 'Mozilla Text',Arial,sans-serif;vertical-align:top;display:inline-block;margin-left:.15em;transform:rotate(-10deg)}
.lf07-hero-bottom{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:30px;align-items:end;margin-top:clamp(58px,6vw,115px)}
.lf07-hero-empty{grid-column:1/span 5;display:flex;align-items:center;gap:18px;color:var(--lf07-muted);font-size:11px;letter-spacing:.10em}
.lf07-cross{width:47px;height:47px;display:grid;place-items:center;border:1px solid var(--lf07-rule);border-radius:50%;color:#E6223D;font-size:25px;flex:none}
.lf07-hero-side{grid-column:7/span 6}
.lf07-hero-side p{max-width:620px;font-family:'Mozilla Text',Arial,sans-serif;font-size:clamp(17px,1.3vw,23px);line-height:1.46;font-weight:400;letter-spacing:-.026em;color:var(--lf07-ink)}
.lf07-hero-side strong{font-weight:700}
.lf07-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(22px,2.5vw,38px)}
.lf07-button{min-height:52px;border-radius:100px;padding:14px 21px;display:inline-flex;align-items:center;gap:38px;justify-content:space-between;font:600 13px/1.2 'Mozilla Text',Arial,sans-serif;white-space:nowrap;border:1px solid var(--lf07-rule);transition:background-color 180ms ease,color 180ms ease,transform 180ms var(--lf07-ease)}
.lf07-button--fill{background:#E6223D;border-color:#E6223D;color:white}
.lf07-button--ghost{color:var(--lf07-ink);background:var(--lf07-frost)}
.lf07-button span{font-size:21px;line-height:1;font-weight:400}
@media(hover:hover) and (pointer:fine){.lf07-button:hover{transform:translateY(-3px)}.lf07-button--fill:hover{background:#BD1C33;border-color:#BD1C33}.lf07-button--ghost:hover{background:color-mix(in srgb,var(--lf07-ink) 10%,transparent)}}
.lf07-marquee{position:relative;z-index:3;width:100%;overflow:hidden;border-top:1px solid var(--lf07-rule);border-bottom:1px solid var(--lf07-rule);background:color-mix(in srgb,var(--lf07-bg) 95%,transparent)}
.lf07-marquee-track{width:max-content;display:flex;align-items:center;animation:lf07-marquee 36s linear infinite;will-change:transform}
.lf07-marquee-group{display:flex;align-items:center;flex:none;gap:clamp(23px,3vw,51px);padding:17px clamp(23px,3vw,51px) 17px 0}
.lf07-marquee-group span{font:700 clamp(23px,3vw,45px)/1.04 'Mozilla Text',Arial,sans-serif;letter-spacing:-.045em;color:var(--lf07-ink);white-space:nowrap}
.lf07-marquee-group i{font:400 17px/1 'Mozilla Text',Arial,sans-serif;color:#E6223D;font-style:normal}
@keyframes lf07-marquee{to{transform:translateX(-50%)}}
.lf07-scroll-hint{position:absolute;z-index:4;right:var(--gutter);bottom:105px;display:none;align-items:center;gap:10px;color:var(--lf07-muted);font-size:10px}
.lf07-scroll-hint span{color:#E6223D;font-size:18px}

/* Theme-aware overall card polish and consistent editorial typography. */
.case-card__copy h3{font-family:'Mozilla Text',Arial,sans-serif!important;font-weight:700!important;letter-spacing:-.055em!important;line-height:1.04!important}
.value-card h3,.method-card h3,.exp-main h3,.cv-panel h3{font-family:'Mozilla Text',Arial,sans-serif!important;font-weight:700!important;letter-spacing:-.055em!important}
/* The text / photo panels no longer pop in with long or jagged motion. */
.case-item{--card-lift:0px}
.case-card__media{transform:translate3d(0,0,0)}
@media(hover:hover) and (pointer:fine){.case-card:hover{transform:translateY(-3px)}.case-card:hover .case-card__media{filter:saturate(1.05)}}
.exp-row{transition:opacity 220ms ease}
.exp-row.lf07-active .exp-main h3{color:#E6223D;transition:color 300ms ease}
.v02-section-head h2,.statement-title,.method-heading h2,.exp-heading h2,.v02-contact h2{font-family:'Mozilla Text',Arial,sans-serif!important;font-weight:700!important}

@media(min-width:1600px){.lf07-display{font-size:clamp(180px,14vw,294px)}.lf07-hero-inner{padding-inline:clamp(42px,4vw,88px)}}
@media(max-width:1160px){.lf07-display{font-size:clamp(88px,14.2vw,170px)}.lf07-hero-bottom{grid-template-columns:repeat(10,minmax(0,1fr))}.lf07-hero-empty{grid-column:1/span 4}.lf07-hero-side{grid-column:5/span 6}.lf07-fluid{opacity:.75}}
@media(max-width:780px){
  .lf07-hero-inner{min-height:calc(100svh - var(--nav-h) - 87px);padding-block:34px 65px}
  .lf07-overline .lf07-index{display:none}
  .lf07-display{font-size:clamp(66px,13vw,112px);padding-top:clamp(104px,17vh,165px);line-height:.88}
  .lf07-mask--secondary{font-size:.8em}
  .lf07-hero-bottom{grid-template-columns:1fr;gap:28px;margin-top:46px}
  .lf07-hero-empty{grid-column:1;order:2}
  .lf07-hero-side{grid-column:1;order:1}
  .lf07-hero-side p{font-size:17px;line-height:1.52}
  .lf07-grid{opacity:.35}
  .lf07-glass-shine{background:linear-gradient(90deg,var(--lf07-bg) 0%,transparent 85%);opacity:.4}
}
@media(max-width:540px){
  .lf07-hero-inner{padding-inline:20px;padding-top:32px;padding-bottom:62px}
  .lf07-display{font-size:clamp(57px,13.8vw,85px);padding-top:clamp(95px,16vh,160px);letter-spacing:.009em}
  .lf07-mask--secondary{font-size:.78em}
  .lf07-mask-inner{width:max-content}
  .lf07-hero-bottom{margin-top:45px;gap:26px}
  .lf07-hero-side p{font-size:16px}
  .lf07-hero-empty{font-size:9px}
  .lf07-button{min-height:47px;padding:12px 18px;gap:24px;font-size:12px}
  .lf07-marquee-group{gap:22px;padding-block:13px;padding-right:23px}
  .lf07-marquee-group span{font-size:22px}
  .lf07-marquee-group i{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .lf07-mask-inner{opacity:1!important;transform:none!important;transition:none!important}
  .lf07-marquee-track{animation:none!important;will-change:auto}
  .lf07-fluid{opacity:.7}
  .lf07-button{transition:background-color 180ms ease,color 180ms ease}
}
