/* Leonardo Firenze v1.5 — typography, refined navigation, process spacing. */
:root{--lf15-red:#E6223D;--lf15-ink:#0E0E0F;--nav-h:82px}

/* A compact floating nav follows the site's grid without becoming a boxed page. */
.v02-header{
  width:calc(100% - 2 * var(--gutter));max-width:1800px;
  height:70px;margin:12px auto 0;top:12px;
  border-radius:999px!important;border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(14,14,15,.79)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);
  overflow:visible;z-index:140;
}
.v02-header .shell.header-flex{width:100%;padding-inline:clamp(18px,2.2vw,38px)}
.v02-header .v02-nav{gap:clamp(6px,.65vw,16px);margin-left:auto}
.v02-header .v02-nav a{font:650 clamp(10px,.75vw,12px)/1.2 'Mozilla Text',Arial,sans-serif;letter-spacing:.025em;color:#DFE0E2;border-radius:999px;padding:12px clamp(10px,.85vw,16px);position:relative;transition:color 190ms var(--ease-out),background-color 190ms var(--ease-out),box-shadow 190ms var(--ease-out)}
.v02-header .v02-nav a.is-active{background:rgba(230,34,61,.15);color:#fff;box-shadow:inset 0 0 0 1px rgba(230,34,61,.36)}
.v02-header .v02-nav a.is-active::after{content:'';position:absolute;bottom:3px;left:calc(50% - 2.5px);width:5px;height:5px;background:#E6223D;border-radius:50%}
html[data-theme=light] .v02-header{background:rgba(251,250,248,.84)!important;border-color:rgba(14,14,15,.14)!important;box-shadow:0 12px 40px rgba(14,14,15,.08),inset 0 1px 0 rgba(255,255,255,.9)}
html[data-theme=light] .v02-header .v02-nav a{color:#38393D}
html[data-theme=light] .v02-header .v02-nav a.is-active{color:#B81931;background:rgba(230,34,61,.09);box-shadow:inset 0 0 0 1px rgba(230,34,61,.22)}
@media(hover:hover) and (pointer:fine){.v02-header .v02-nav a:hover{background:rgba(230,34,61,.09);color:#E6223D}}
.v02-header .theme-toggle{border:1px solid rgba(255,255,255,.19);background:rgba(255,255,255,.07)}
html[data-theme=light] .v02-header .theme-toggle{border-color:rgba(14,14,15,.14);background:rgba(14,14,15,.035)}

/* Two intentionally fixed lines; JS only scales to fit if the browser lacks the display font. */
.lf13-hero .lf13-headline{
  width:100%;max-width:none!important;
  font-family:'LF HeadingNow',Impact,'Arial Narrow',sans-serif!important;
  font-weight:500!important;
  font-size:clamp(112px,min(13.2vw,18.5svh),298px);
  line-height:.88;letter-spacing:.027em;gap:clamp(16px,2svh,35px);text-align:center;
}
.lf13-hero .lf13-headline .lf15-headline-line{width:max-content;max-width:100%;white-space:nowrap;line-height:.88;display:block;margin-inline:auto}
.lf13-hero .lf13-headline .lf15-headline-line:nth-child(2){font-size:1.08em}
.lf13-hero .lf13-role{margin-top:clamp(6px,1.4svh,18px)}
.lf13-hero .lf13-scene--intro{gap:clamp(24px,4.7svh,64px)}
/* Compact, uppercase display text on the profile scene, with restrained secondary typography. */
.lf13-hero .lf08-bio h2,.lf09-profile-layout .lf08-bio h2{font-family:'LF HeadingNow',Impact,'Arial Narrow',sans-serif!important;font-weight:500!important;line-height:.85!important;letter-spacing:.025em!important;text-transform:uppercase!important;font-size:clamp(70px,7.5vw,144px)!important;margin:clamp(10px,1.6vw,22px) 0 clamp(21px,2.2vw,33px)!important}
.lf13-hero .lf08-bio h2 span{color:#E6223D}
.lf13-hero .lf08-bio>p:not(.lf08-overline){margin-bottom:clamp(11px,1vw,16px)!important}
.lf13-hero .lf08-bio-links{margin-top:clamp(18px,2vw,28px)!important}
.lf13-hero .lf09-profile-layout{gap:clamp(34px,4.25vw,94px)!important}

/* Process: the first card aligns with the text above, then the cards move through a full-width viewport. */
.lf13-method-fullbleed .method-track{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important;gap:clamp(27px,2.7vw,43px)!important}
.lf13-method-fullbleed .method-card{
  border-radius:clamp(34px,3.3vw,52px)!important;
  overflow:hidden;isolation:isolate;min-height:clamp(360px,45svh,525px);
  padding:clamp(34px,3.2vw,56px);
}
.lf13-method-fullbleed .method-card::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(14,14,15,.06)}
.method-heading{margin-bottom:clamp(27px,3.1vw,47px)!important}
.method-pin>.shell{padding-bottom:clamp(58px,5.2vw,92px)!important}
.method-hint{padding-top:clamp(9px,1.1vw,16px)!important}
.v02-method{margin-bottom:0}
.v02-experience{padding-top:clamp(170px,14vw,240px)!important}

/* Archives are true links now, not expanding detail rows. */
.archive-row--link{display:grid;grid-template-columns:minmax(64px,90px) minmax(0,1fr) minmax(120px,360px) 24px;column-gap:clamp(16px,2.1vw,38px);align-items:center;min-height:clamp(78px,6.3vw,116px);padding:15px 0;text-decoration:none;outline-offset:4px;color:var(--archives-text);cursor:pointer}
.archive-row--link .archive-row__name{color:inherit}
.archive-row--link .archive-row__arrow{transform:translateZ(0)}
.archive-row--link:focus-visible{outline:2px solid #E6223D}
@media(hover:hover) and (pointer:fine){.archive-row--link:hover .archive-row__name{color:#E6223D;transform:translateX(9px)}.archive-row--link:hover .archive-row__arrow{transform:translate(3px,-3px);color:#E6223D}}
html[data-theme=light] .archive-row--link{color:#0E0E0F}
html[data-theme=light] .archive-row--link:hover .archive-row__name{color:#B91A30}

/* Improve small-screen header, hero and carousel behavior. */
@media(max-width:1100px){
 .v02-header .v02-nav{gap:1px}.v02-header .v02-nav a{padding:10px 8px;font-size:10px}
 .lf13-hero .lf13-headline{font-size:clamp(85px,min(14vw,16.5svh),190px)}
 .lf13-hero .lf08-bio h2,.lf09-profile-layout .lf08-bio h2{font-size:clamp(53px,8.2vw,100px)!important}
 .archive-row--link{grid-template-columns:62px minmax(0,1fr) minmax(120px,230px) 22px}
}
@media(max-width:780px){
 :root{--nav-h:78px}
 .v02-header{width:calc(100% - 24px);height:65px;margin-top:12px;top:12px}
 .v02-header .v02-nav{display:none}
 .v02-header .header-flex{padding-inline:18px!important}
 .mobile-nav{top:calc(var(--nav-h) + 1px);width:calc(100vw - 24px);left:12px;right:12px;height:calc(100svh - var(--nav-h) - 18px);border-radius:28px;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 70px rgba(0,0,0,.2)}
 .lf13-hero .lf13-headline{font-size:clamp(55px,min(15vw,14.8svh),130px);gap:clamp(12px,1.6svh,20px)}
 .lf13-hero .lf13-headline .lf15-headline-line:nth-child(2){font-size:1em}
 .lf13-hero .lf08-bio h2,.lf09-profile-layout .lf08-bio h2{font-size:clamp(44px,8vw,74px)!important}
 .archive-row--link{grid-template-columns:52px minmax(0,1fr) 22px;gap:12px;min-height:76px}
 .archive-row--link .archive-row__category{grid-column:2;grid-row:2;text-align:left;font-size:10px;margin-top:-14px}
 .archive-row--link .archive-row__arrow{grid-column:3;grid-row:1/span 2}
 .lf13-method-fullbleed .method-card{min-height:340px;border-radius:32px!important}
 .method-pin>.shell{padding-bottom:72px!important}
 .v02-experience{padding-top:120px!important}
}
@media(max-width:540px){
 .lf13-hero .lf13-headline{font-size:clamp(47px,min(14vw,12.5svh),78px);gap:12px}
 .lf13-hero .lf08-bio h2,.lf09-profile-layout .lf08-bio h2{font-size:clamp(43px,10.1vw,61px)!important}
 .archive-row--link{grid-template-columns:44px minmax(0,1fr) 22px;gap:9px}
 .method-pin>.shell{padding-bottom:68px!important}
}
@media(prefers-reduced-motion:reduce){.v02-header .v02-nav a,.archive-row__name,.archive-row__arrow{transition:none!important}}

html[data-theme=dark] .lf13-hero .lf07-underlay{background-image:url('hero-dark-brand-poster.webp')!important}
html[data-theme=light] .lf13-hero .lf07-underlay{background-image:url('hero-light-brand-poster.webp')!important}
@media (min-width:781px) and (max-width:1060px){
 .v02-header .v02-nav a{padding:9px 6px;font-size:9px}
 .v02-header .header-flex{gap:9px}
 .v02-header .theme-toggle{padding:8px}
 .v02-logo img.lf14-logo-dark,.v02-logo img.lf14-logo-light{height:26px}
}
