/* AF presentation: system. Consolidated 17 October 2026; see presentation-manifest.json. */
.aflab { --bg: #020806; --bg2: #050d0a; --warn: #d18b68; min-height: 100svh; color: var(--ink); background: radial-gradient(circle at 14% 8%, rgba(121, 217, 184, 0.075), transparent 25%), radial-gradient(circle at 82% 80%, rgba(215, 168, 79, 0.05), transparent 30%), linear-gradient(135deg, rgb(2, 8, 6), rgb(6, 16, 13) 55%, rgb(2, 7, 6)); font-family: var(--sans); padding: 14px; isolation: isolate; }
.aflab { box-sizing: border-box; }
.aflab * { box-sizing: border-box; }
.aflab button { font: inherit; }
.aflab input { font: inherit; }
.aflab button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.aflab input:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.aflab a { color: inherit; }
.aflab [hidden] { display: none !important; }
body:not(.logged-in) .aflab [data-route="sviluppo"] { display: none !important; }
.aflab__shell { min-height: calc(-28px + 100svh); border: 1px solid var(--line); background: rgba(2, 9, 7, 0.82); box-shadow: rgba(0, 0, 0, 0.46) 0px 36px 120px, rgba(255, 255, 255, 0.024) 0px 1px inset; display: grid; grid-template-rows: auto 1fr auto auto; overflow: clip; }
.aflab__workspace { min-height: 0px; overflow: auto; scroll-behavior: smooth; }
.aflab__view { padding: 12px; animation: 0.24s ease 0s 1 normal both running afView; }
.aflab__view[hidden] { display: none !important; }
@keyframes afView {
  0% { opacity: 0.3; transform: translateY(5px); }
  100% { opacity: 1; transform: none; }
}
.aflab__grid { display: grid; gap: 10px; }
.aflab__panel { border: 1px solid var(--line); background: linear-gradient(145deg, rgba(8, 28, 22, 0.86), rgba(3, 13, 10, 0.82)); box-shadow: rgba(255, 255, 255, 0.024) 0px 1px inset, rgba(0, 0, 0, 0.2) 0px 16px 42px; position: relative; overflow: hidden; }
.aflab__panelhead { min-height: 34px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0px 11px; color: var(--mint); font: 600 8px/1 var(--mono); letter-spacing: 0.11em; text-transform: uppercase; }
.aflab__panelhead strong { color: var(--gold); font-weight: 600; }
.aflab__bootlog { color: rgb(174, 192, 184); font: 500 9px/1.72 var(--mono); }
.aflab__bootlog b { color: var(--mint); font-weight: 600; }
.aflab__bootlog em { color: var(--gold); font-style: normal; }
.aflab__quote { margin: 22px 0px 0px; padding: 20px 0px 0px; border-top: 1px solid var(--line2); font: italic 19px/1.34 var(--serif); color: rgb(232, 224, 207); }
.aflab__quote small { display: block; margin-top: 10px; color: var(--gold); font: 600 8px/1 var(--mono); letter-spacing: 0.15em; text-transform: uppercase; }
.aflab__hero { min-height: 430px; padding: clamp(30px, 4vw, 58px); display: flex; flex-direction: column; justify-content: center; background: radial-gradient(circle at 78% 18%, rgba(215, 168, 79, 0.106), transparent 30%), linear-gradient(110deg, rgba(3, 13, 10, 0.99), rgba(5, 21, 16, 0.72)); }
.aflab__hero::after { content: "AF"; position: absolute; right: -0.02em; bottom: -0.17em; color: rgba(121, 217, 184, 0.035); font: 400 clamp(190px,24vw,400px)/.8 var(--serif); letter-spacing: -0.09em; pointer-events: none; }
.aflab__kicker { position: relative; z-index: 1; color: var(--gold); font: 700 10px/1.5 var(--mono); letter-spacing: 0.19em; text-transform: uppercase; max-width: 42ch; }
.aflab__hero h1 { position: relative; z-index: 1; margin: 15px 0px 18px; max-width: 800px; font: 400 clamp(54px,6.5vw,112px)/.82 var(--serif); letter-spacing: -0.055em; }
.aflab__hero p { position: relative; z-index: 1; max-width: 610px; margin: 0px; color: rgb(203, 215, 209); font-size: clamp(15px, 1.15vw, 18px); line-height: 1.6; }
.aflab__action { position: relative; z-index: 1; align-self: flex-start; margin-top: 24px; border: 1px solid var(--line2); background: linear-gradient(rgb(225, 180, 94), rgb(201, 147, 53)); color: rgb(7, 16, 12); padding: 12px 16px; font: 800 9px/1 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
.aflab__stack { display: grid; grid-template-rows: 1fr auto; gap: 10px; }
.aflab__principle { display: grid; grid-template-columns: 26px 94px 1fr; gap: 8px; padding: 10px 0px; border-bottom: 1px solid rgba(121, 217, 184, 0.12); align-items: start; }
.aflab__principle:last-child { border-bottom: 0px; }
.aflab__principle b { color: var(--gold); font: 700 9px/1.35 var(--mono); }
.aflab__principle strong { font: 600 10px/1.35 var(--mono); }
.aflab__principle span { font: 500 8px/1.45 var(--mono); color: var(--muted); }
.aflab__status { padding: 12px 14px; display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; }
.aflab__statuslines { font: 600 8px/1.8 var(--mono); letter-spacing: 0.05em; text-transform: uppercase; color: var(--muted); }
.aflab__statuslines b { color: var(--green); }
.aflab__sigil { width: 44px; height: 44px; border: 1px solid var(--line); display: grid; place-items: center; color: var(--gold); font: 700 8px/1 var(--mono); }
.aflab__modules { grid-template-columns: repeat(4, minmax(0px, 1fr)); margin-top: 10px; }
.aflab__module { min-height: 198px; padding: 14px; display: flex; flex-direction: column; justify-content: flex-end; text-align: left; color: inherit; cursor: pointer; border: 1px solid var(--line); background: linear-gradient(rgba(11, 34, 26, 0.28), rgba(2, 10, 8, 0.97)), radial-gradient(circle at 70% 10%, rgba(121, 217, 184, 0.1), transparent 40%); position: relative; overflow: hidden; }
.aflab__module::before { content: attr(data-index); position: absolute; top: 12px; left: 12px; color: var(--gold); font: 700 9px/1 var(--mono); }
.aflab__module::after { content: ""; position: absolute; inset: 0px; border-top: 2px solid transparent; pointer-events: none; }
.aflab__module:hover::after { border-top-color: var(--gold); }
.aflab__module.is-active::after { border-top-color: var(--gold); }
.aflab__module h2 { margin: 0px 0px 7px; font: 400 clamp(21px,1.7vw,29px)/1.02 var(--serif); }
.aflab__module p { margin: 0px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.aflab__module small { display: block; margin-top: 12px; color: var(--gold); font: 700 7px/1 var(--mono); letter-spacing: 0.13em; text-transform: uppercase; }
.aflab__lower { grid-template-columns: 1.08fr 0.92fr 1.5fr; margin-top: 10px; }
.aflab__event { display: grid; grid-template-columns: 108px 1fr; gap: 14px; padding: 14px; }
.aflab__event img { width: 108px; height: 150px; object-fit: cover; border: 1px solid var(--line); }
.aflab__event h3 { margin: 2px 0px 7px; font: 400 22px/1.05 var(--serif); }
.aflab__signal h3 { margin: 2px 0px 7px; font: 400 22px/1.05 var(--serif); }
.aflab__path h3 { margin: 2px 0px 7px; font: 400 22px/1.05 var(--serif); }
.aflab__event p { margin: 0px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.aflab__signal p { margin: 0px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.aflab__path p { margin: 0px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.aflab__event time { display: block; margin: 8px 0px; color: var(--gold); font: 700 9px/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.aflab__signal { padding: 16px; display: grid; grid-template-columns: 72px 1fr; gap: 13px; align-items: center; }
.aflab__signalmark { width: 72px; height: 72px; border: 1px solid var(--line2); border-radius: 50%; display: grid; place-items: center; color: var(--gold); font: 700 18px/1 var(--mono); box-shadow: rgba(215, 168, 79, 0.06) 0px 0px 28px; }
.aflab__signal code { color: var(--mint); font: 600 8px/1.6 var(--mono); }
.aflab__path { padding: 16px; }
.aflab__timeline { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0px; margin-top: 24px; position: relative; }
.aflab__timeline::before { content: ""; position: absolute; left: 4%; right: 4%; top: 5px; height: 1px; background: linear-gradient(90deg,var(--gold),rgba(121,217,184,.28)); }
.aflab__time { position: relative; padding-top: 18px; color: var(--muted); font: 500 8px/1.35 var(--mono); }
.aflab__time::before { content: ""; position: absolute; top: 1px; left: 0px; width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--gold); background: var(--bg); }
.aflab__time b { display: block; color: var(--ink); font-size: 9px; margin-bottom: 3px; }
.aflab__sectionhero { min-height: 280px; padding: clamp(28px, 4vw, 56px); display: grid; align-content: center; background: radial-gradient(circle at 76% 20%, rgba(121, 217, 184, 0.07), transparent 32%), linear-gradient(135deg, rgba(7, 25, 19, 0.95), rgba(2, 10, 8, 0.9)); }
.aflab__sectionhero .aflab__eyebrow { color: var(--gold); font: 700 10px/1.4 var(--mono); letter-spacing: 0.18em; text-transform: uppercase; }
.aflab__sectionhero h1 { margin: 14px 0px 16px; font: 400 clamp(48px,7vw,100px)/.86 var(--serif); letter-spacing: -0.05em; }
.aflab__sectionhero p { margin: 0px; max-width: 780px; color: rgb(203, 215, 209); font-size: clamp(15px, 1.2vw, 19px); line-height: 1.65; }
.aflab__sectionbody { grid-template-columns: 1.25fr 0.75fr; margin-top: 10px; }
.aflab__content h2 { margin: 0px 0px 12px; font: 400 30px/1.05 var(--serif); }
.aflab__content h3 { margin: 22px 0px 8px; color: var(--gold); font: 700 10px/1 var(--mono); letter-spacing: 0.13em; text-transform: uppercase; }
.aflab__content p { margin: 0px 0px 14px; color: rgb(197, 209, 203); font-size: 14px; line-height: 1.7; }
.aflab__content ul { margin: 0px; padding: 0px; list-style: none; display: grid; gap: 7px; }
.aflab__content li { padding: 10px 11px; border: 1px solid rgba(121, 217, 184, 0.13); background: rgba(121, 217, 184, 0.024); color: var(--muted); font-size: 12px; line-height: 1.45; }
.aflab__content li::before { content: "→"; color: var(--gold); margin-right: 8px; }
.aflab__aside { display: grid; gap: 10px; }
.aflab__card small { display: block; color: var(--gold); font: 700 8px/1 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; }
.aflab__card h3 { margin: 12px 0px 8px; font: 400 24px/1.05 var(--serif); }
.aflab__card p { margin: 0px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.aflab__card .aflab__mini { margin-top: 14px; color: var(--mint); font: 600 8px/1.5 var(--mono); }
.aflab__routegrid { grid-template-columns: repeat(3, 1fr); margin-top: 10px; }
.aflab__routecard b { color: var(--gold); font: 700 9px/1 var(--mono); }
.aflab__routecard h3 { margin: 24px 0px 8px; font: 400 24px/1.05 var(--serif); }
.aflab__routecard p { margin: 0px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.aflab__routecard[data-route] { cursor: pointer; }
.aflab__panel[data-route] { cursor: pointer; }
.aflab__asset { display: grid; grid-template-columns: 160px 1fr; gap: 16px; align-items: center; padding: 16px; }
.aflab__asset img { width: 160px; max-height: 220px; object-fit: cover; border: 1px solid var(--line); }
.aflab__asset h3 { margin: 0px 0px 8px; font: 400 25px/1.05 var(--serif); }
.aflab__asset p { margin: 0px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.aflab__terminal { border-top: 1px solid var(--line); background: rgb(2, 9, 6); padding: 9px 13px; display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; }
.aflab__prompt { white-space: nowrap; color: var(--ink); font: 600 10px/1 var(--mono); }
.aflab__prompt b { color: var(--mint); }
.aflab__terminal form { display: flex; min-width: 0px; }
.aflab__terminal input { width: 100%; min-width: 0px; border: 0px; background: transparent; color: var(--ink); outline: 0px; font: 600 10px/1.4 var(--mono); }
.aflab__hint { color: var(--dim); font: 500 8px/1.3 var(--mono); white-space: nowrap; }
.aflab__output { grid-column: 1 / -1; display: none; border-top: 1px solid rgba(121, 217, 184, 0.12); padding-top: 8px; color: rgb(174, 191, 183); font: 500 9px/1.5 var(--mono); }
.aflab__output.is-on { display: block; }
.aflab__output b { color: var(--gold); }
.aflab__choices { grid-column: 1 / -1; display: flex; gap: 6px; flex-wrap: wrap; }
.aflab__choices button { border: 1px solid var(--line); background: rgba(121, 217, 184, 0.04); color: var(--muted); padding: 6px 10px; font: 600 8px/1 var(--mono); cursor: pointer; }
.aflab__choices button:hover { color: var(--ink); border-color: var(--line2); }
.aflab__online { color: var(--green); }
.aflab__online::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: rgba(69, 224, 162, 0.8) 0px 0px 12px; margin-right: 7px; }
@media (max-width: 1180px) {
.aflab__stack { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
}
@media (max-width: 1180px) {
.aflab__modules { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1180px) {
.aflab__lower { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1180px) {
.aflab__path { grid-column: 1 / -1; }
}
@media (max-width: 1180px) {
.aflab__sectionbody { grid-template-columns: 1fr; }
}
@media (max-width: 1180px) {
.aflab__aside { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
.aflab__boot { display: none; }
}
@media (max-width: 820px) {
.aflab__hero h1 { font-size: clamp(58px, 18vw, 90px); line-height: 0.86; }
}
@media (max-width: 820px) {
.aflab__stack { grid-column: auto; grid-template-columns: 1fr; gap: 7px; }
}
@media (max-width: 820px) {
.aflab__modules { grid-template-columns: 1fr; gap: 6px; margin-top: 7px; }
}
@media (max-width: 820px) {
.aflab__lower { grid-template-columns: 1fr; gap: 7px; margin-top: 7px; }
}
@media (max-width: 820px) {
.aflab__path { grid-column: auto; }
}
@media (max-width: 820px) {
.aflab__timeline { grid-template-columns: repeat(3, 1fr); row-gap: 18px; }
}
@media (max-width: 820px) {
.aflab__timeline::before { display: none; }
}
@media (max-width: 820px) {
.aflab__sectionbody { grid-template-columns: 1fr; margin-top: 7px; }
}
@media (max-width: 820px) {
.aflab__routegrid { grid-template-columns: 1fr; margin-top: 7px; }
}
@media (max-width: 820px) {
.aflab__aside { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
.aflab__asset { grid-template-columns: 105px 1fr; gap: 12px; }
}
@media (max-width: 820px) {
.aflab__asset img { width: 105px; height: 150px; }
}
@media (max-width: 820px) {
.aflab__terminal { grid-template-columns: auto 1fr; padding: 10px; }
}
@media (max-width: 820px) {
.aflab__hint { display: none; }
}
@media (max-width: 820px) {
.aflab__choices { display: grid; grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
.aflab__choices button { padding: 7px 4px; }
}
@media (max-width: 820px) {
.aflab__mobilemenuhead { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 44px; padding: 0px 2px 12px; border-bottom: 1px solid rgba(126, 210, 176, 0.18); color: var(--mint); font: 700 9px/1 var(--mono); letter-spacing: 0.16em; }
}
@media (max-width: 820px) {
.aflab__mobilemenuhead button { min-height: 36px; border: 1px solid rgba(227, 174, 78, 0.34); border-radius: 7px; background: rgba(227, 174, 78, 0.04); color: var(--gold); padding: 7px 10px; font: 700 8px/1 var(--mono); letter-spacing: 0.1em; cursor: pointer; }
}
@media (max-width: 820px) {
.aflab__mobilelabel { margin: 17px 4px 2px; color: var(--muted); font: 700 9px/1 var(--mono); letter-spacing: 0.16em; text-transform: uppercase; }
}
@media (max-width: 820px) {
.aflab__mobilelinks { display: grid; margin-top: 8px; }
}
@media (max-width: 820px) {
.aflab__mobilelinks button { border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(121, 217, 184, 0.14); border-image: none; background: transparent; color: var(--ink); text-align: left; padding: 13px 4px; font: 500 14px/1 var(--mono); cursor: pointer; }
}
@media (max-width: 820px) {
.aflab__mobilelinks button i { font-style: normal; color: var(--gold); display: inline-block; width: 46px; }
}
@media (max-width: 820px) {
.aflab__mobileactions { display: grid; gap: 8px; margin-top: 18px; }
}
@media (max-width: 820px) {
.aflab__mobileactions button { min-height: 48px; border: 1px solid var(--gold); background: rgba(215, 168, 79, 0.06); color: var(--gold); padding: 11px 14px; text-align: left; font: 700 10px/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; }
}
@media (max-width: 820px) {
.aflab__mobileactions button::after { content: "→"; float: right; }
}
@media (max-width: 820px) {
.aflab__mobilenote { margin-top: 18px; border: 1px solid var(--line); padding: 15px; color: var(--muted); font: 500 10px/1.6 var(--mono); }
}
@media (prefers-reduced-motion: reduce) {
.aflab__view { animation: auto ease 0s 1 normal none running none; }
}
.aflab [tabindex]:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.aflab h1[tabindex]:focus { outline: none; background: transparent; box-shadow: none; }
.aflab h1[tabindex]:focus-visible { outline: none; background: transparent; box-shadow: none; }
.aflab h1 { scroll-margin-top: 100px; overflow-wrap: anywhere; }
.aflab__grid > * { min-width: 0px; }
.aflab__asset > * { min-width: 0px; }
.aflab__event > * { min-width: 0px; }
.aflab__sectionbody > * { min-width: 0px; }
.aflab__output { font-size: 12px; overflow-wrap: anywhere; }
.aflab__results { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.aflab__results button { background: var(--panel); border: 1px solid var(--line2); color: var(--ink); font: 600 12px/1.4 var(--mono); padding: 10px 14px; min-height: 44px; cursor: pointer; }
.aflab__choices button { min-height: 36px; font-size: 10px; }
.aflab__mobilelinks button { min-height: 44px; }
.aflab__mobiletop button { min-height: 44px; }
.aflab__card[role="button"]:focus-visible { outline: 2px solid var(--gold); outline-offset: -3px; }
.aflab__panel[role="button"]:focus-visible { outline: 2px solid var(--gold); outline-offset: -3px; }
@media (max-width: 820px) {
.aflab__choices button { min-height: 44px; }
}
@media (max-width: 820px) {
.aflab__terminal input { font-size: 16px; }
}
@media (max-width: 820px) {
.aflab__content h2 { overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
.aflab__asset[style] { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
.aflab__asset[style] img { height: auto; max-height: none; max-width: 280px; justify-self: center; }
}
@media (max-width: 480px) {
.aflab__event { grid-template-columns: 82px minmax(0px, 1fr); gap: 10px; }
}
@media (max-width: 480px) {
.aflab__event img { width: 82px; height: 118px; }
}
@media (prefers-reduced-motion: reduce) {
.aflab__workspace { scroll-behavior: auto; }
}
.aflab__articlehero { padding: clamp(28px, 4vw, 58px); background: radial-gradient(circle at 78% 12%, rgba(215, 168, 79, 0.09), transparent 30%), linear-gradient(135deg, rgba(7, 25, 19, 0.96), rgba(2, 10, 8, 0.94)); }
.aflab__articlehero h1 { margin: 14px 0px 18px; max-width: 1000px; font: 400 clamp(52px,8vw,112px)/.86 var(--serif); letter-spacing: -0.05em; overflow-wrap: anywhere; }
.aflab__articlemeta { color: var(--muted); font: 700 9px/1.5 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; }
.aflab__articlebody { max-width: 980px; margin: 10px auto 0px; padding: clamp(24px, 4vw, 56px); overflow: hidden; }
.aflab__articlebody p { margin: 0px 0px 1.45em; color: rgb(212, 222, 217); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.78; }
.aflab__articlebody figure { margin: clamp(28px, 4vw, 46px) 0px; }
.aflab__articlebody img { display: block; width: 100%; height: auto; border: 1px solid var(--line); }
.aflab__articlebody blockquote { margin: 2.2em 0px; padding: 18px 0px 18px 22px; border-left: 2px solid var(--gold); color: var(--ink); }
.aflab__articlebody blockquote p { margin: 0px; color: var(--ink); font: italic clamp(21px,2vw,30px)/1.45 var(--serif); }
.aflab__articlebody h2 { margin: clamp(42px, 6vw, 72px) 0px 18px; color: var(--ink); font: 400 clamp(32px,4vw,48px)/1.05 var(--serif); letter-spacing: -0.02em; }
.aflab__articlebody h2:first-child { margin-top: 0px; }
.aflab__articlebody h3 { margin: 34px 0px 10px; color: var(--gold); font: 700 11px/1.35 var(--mono); letter-spacing: 0.11em; text-transform: uppercase; }
.aflab__articlebody ul { margin: 0px 0px 1.7em; padding-left: 1.25em; color: rgb(212, 222, 217); }
.aflab__articlebody li { margin: 0.4em 0px; font-size: clamp(15px, 1.15vw, 18px); line-height: 1.65; }
.aflab__articledek { max-width: 850px; margin: 0px 0px 20px; color: rgb(186, 201, 194); font-size: clamp(15px, 1.2vw, 19px); line-height: 1.65; }
.aflab__articleclosing { padding-top: 24px; border-top: 1px solid var(--line2); margin-top: 42px !important; color: var(--ink) !important; font: 400 clamp(20px,2vw,28px)/1.45 var(--serif) !important; }
.aflab__articleclosing strong { color: var(--gold); font-family: var(--mono); font-size: 11px; letter-spacing: 0.13em; }
.aflab__content > .aflab__asset + .aflab__asset { border-top: 1px solid var(--line); margin-top: 10px; padding-top: 24px; }
#aflab-article-latosa-principi .aflab__articlehero h1 { font-size: clamp(42px, 5.4vw, 78px); line-height: 0.92; max-width: 1200px; }
@media (max-width: 820px) {
#aflab-article-latosa-principi .aflab__articlehero h1 { font-size: clamp(38px, 10.5vw, 62px); line-height: 0.94; }
}
@media (max-width: 820px) {
.aflab__articlehero { padding: 30px 18px; }
}
@media (max-width: 820px) {
.aflab__articlehero h1 { font-size: clamp(46px, 15vw, 76px); }
}
@media (max-width: 820px) {
.aflab__articlebody { margin-top: 7px; padding: 24px 18px; }
}
@media (max-width: 820px) {
.aflab__articlebody p { font-size: 16px; line-height: 1.72; }
}
@media (max-width: 820px) {
.aflab__articlebody figure { margin: 26px 0px; }
}
.aflab__story { margin-top: 10px; padding: clamp(22px, 3vw, 42px); }
.aflab__story > p { max-width: 78ch; }
.aflab__story h2 { max-width: 30ch; line-height: 1.12; }
.aflab__routecard h2 { margin: 24px 0px 10px; font: 400 27px/1.1 var(--serif); overflow-wrap: anywhere; }
.aflab__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.aflab__linkbutton { min-height: 44px; border: 1px solid var(--line2); background: rgba(215, 168, 79, 0.07); color: var(--ink); padding: 12px 16px; font: 600 12px/1.45 var(--mono); cursor: pointer; text-align: left; text-decoration: none; display: inline-flex; align-items: center; }
.aflab__linkbutton:hover { background: rgba(215, 168, 79, 0.14); border-color: var(--gold); }
.aflab__badge { display: inline-block; color: var(--gold); font: 700 10px/1.6 var(--mono); letter-spacing: 0.08em; margin-bottom: 12px; }
.aflab .aflab__editorialnote { margin-top: 16px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.aflab .aflab__notice { margin-top: 22px; padding: 16px 18px; border-left: 2px solid var(--gold); font-size: 14px; background: rgba(215, 168, 79, 0.04); }
.aflab__notice .aflab__badge { display: block; margin: 0px 0px 5px; }
.aflab__eventlead { display: grid; grid-template-columns: 150px minmax(0px, 1fr); gap: 28px; align-items: center; }
.aflab__eventlead img { display: block; width: 150px; height: auto; }
.aflab__eventlead p { font-size: 16px; }
.aflab__eventdetail { grid-template-columns: minmax(220px, 0.65fr) minmax(0px, 1.35fr); margin-top: 10px; align-items: start; }
.aflab__poster { margin: 0px; padding: 18px; }
.aflab__poster img { display: block; width: 100%; max-width: 400px; height: auto; margin: auto; }
.aflab__poster figcaption { padding-top: 14px; color: var(--muted); font: 500 12px/1.6 var(--sans); }
.aflab__poster a { color: var(--gold); text-underline-offset: 4px; }
.aflab__facts { margin: 20px 0px 0px; }
.aflab__facts > div { display: grid; grid-template-columns: 110px minmax(0px, 1fr); gap: 16px; border-top: 1px solid var(--line); padding: 16px 0px; }
.aflab__facts dt { color: var(--gold); font: 600 12px/1.7 var(--mono); }
.aflab__facts dd { margin: 0px; color: var(--ink); font-size: 16px; line-height: 1.6; }
.aflab__faq details { border-top: 1px solid var(--line); padding: 16px 0px; }
.aflab__faq summary { cursor: pointer; min-height: 32px; font-size: 16px; line-height: 1.5; color: var(--ink); }
.aflab__faq summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.aflab__faq details p { margin: 14px 0px 0px; max-width: 75ch; }
@media (max-width: 820px) {
.aflab__eventdetail { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
.aflab__eventdetail > .aflab__content { grid-row: 1; }
}
@media (max-width: 820px) {
.aflab__facts > div { grid-template-columns: 84px minmax(0px, 1fr); gap: 12px; }
}
@media (max-width: 820px) {
.aflab__eventlead { grid-template-columns: 100px minmax(0px, 1fr); gap: 16px; }
}
@media (max-width: 820px) {
.aflab__eventlead img { width: 100px; }
}
@media (max-width: 820px) {
.aflab__eventlead h2 { font-size: 26px; }
}
@media (max-width: 820px) {
.aflab__actions { align-items: stretch; }
}
@media (max-width: 820px) {
.aflab__linkbutton { width: 100%; }
}
@media (max-width: 420px) {
.aflab__eventlead { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
.aflab__eventlead img { width: 120px; }
}
@media (max-width: 420px) {
.aflab__facts > div { grid-template-columns: 1fr; gap: 4px; }
}
.aflab { --bg: #010806; --bg2: #06130f; --warn: #d99572; padding: 10px; background: radial-gradient(at 73% -8%, rgba(227, 174, 78, 0.15), transparent 35%), radial-gradient(at 8% 28%, rgba(87, 231, 172, 0.11), transparent 31%), repeating-linear-gradient(90deg, rgba(126, 210, 176, 0.02) 0px, rgba(126, 210, 176, 0.02) 1px, transparent 1px, transparent 64px), repeating-linear-gradient(0deg, rgba(126, 210, 176, 0.016) 0px, rgba(126, 210, 176, 0.016) 1px, transparent 1px, transparent 64px), linear-gradient(145deg, rgb(1, 8, 6) 0%, rgb(4, 17, 13) 54%, rgb(2, 8, 6) 100%); position: relative; overflow: hidden; }
.aflab::before { content: ""; position: fixed; inset: 0px; pointer-events: none; z-index: 0; background: linear-gradient(115deg, transparent 0px, transparent 48%, rgba(227, 174, 78, 0.035) 49%, transparent 50%), radial-gradient(circle at 50% 0px, rgba(255, 255, 255, 0.035), transparent 28%); opacity: 0.8; }
.aflab__shell { position: relative; z-index: 1; max-width: 1680px; margin: 0px auto; min-height: calc(-20px + 100svh); border: 1px solid rgba(126, 210, 176, 0.3); border-radius: 18px; background: rgba(1, 9, 7, 0.88); box-shadow: rgba(0, 0, 0, 0.62) 0px 46px 140px, rgba(40, 141, 106, 0.06) 0px 0px 80px, rgba(255, 255, 255, 0.04) 0px 1px inset; }
.aflab__workspace { background: linear-gradient(rgba(255, 255, 255, 0.01), transparent 18%); }
.aflab__view { max-width: 1650px; margin: 0px auto; padding: 15px; }
.aflab__grid { gap: 14px; }
.aflab__panel { border-color: rgba(126, 210, 176, 0.24); border-radius: 14px; background: linear-gradient(145deg, rgba(11, 35, 27, 0.88), rgba(3, 14, 11, 0.91)); box-shadow: rgba(255, 255, 255, 0.043) 0px 1px inset, rgba(0, 0, 0, 0.24) 0px 18px 55px; }
.aflab__panelhead { min-height: 40px; padding: 0px 15px; border-bottom-color: rgba(126, 210, 176, 0.2); font-size: 10px; letter-spacing: 0.14em; background: rgba(126, 210, 176, 0.02); }
.aflab__panelhead strong { color: var(--gold2); }
.aflab__hero-grid { grid-template-columns: minmax(240px, 0.68fr) minmax(0px, 2.32fr); gap: 14px; }
.aflab__hero-grid > .aflab__panel:first-child { background: radial-gradient(circle at 50% 88%, rgba(227, 174, 78, 0.13), transparent 34%), linear-gradient(145deg, rgba(12, 37, 28, 0.92), rgba(3, 14, 11, 0.96)); min-height: 540px; }
.aflab__hero-grid > .aflab__panel:first-child::before { content: ""; position: absolute; width: 250px; height: 250px; left: 50%; bottom: 30px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, transparent 0px, transparent 25%, rgba(227, 174, 78, 0.2) 25.5%, rgba(227, 174, 78, 0.2) 26%, transparent 26.5%, transparent 43%, rgba(126, 210, 176, 0.14) 43.5%, rgba(126, 210, 176, 0.14) 44%, transparent 44.5%, transparent 61%, rgba(227, 174, 78, 0.11) 61.5%, rgba(227, 174, 78, 0.11) 62%, transparent 62.5%), conic-gradient(from 22deg, transparent 0deg, transparent 10%, rgba(227, 174, 78, 0.18) 10.5%, rgba(227, 174, 78, 0.18) 11%, transparent 11.5%, transparent 36%, rgba(126, 210, 176, 0.14) 36.5%, rgba(126, 210, 176, 0.14) 37%, transparent 37.5%, transparent 68%, rgba(227, 174, 78, 0.14) 68.5%, rgba(227, 174, 78, 0.14) 69%, transparent 69.5%); opacity: 0.8; filter: drop-shadow(rgba(227, 174, 78, 0.08) 0px 0px 24px); }
.aflab__hero-grid > .aflab__panel:first-child::after { content: "AF"; position: absolute; left: 50%; bottom: 126px; transform: translate(-50%, 50%); color: rgba(247, 241, 228, 0.72); font: 400 28px/1 var(--serif); letter-spacing: 0.12em; }
.aflab__boot { position: relative; z-index: 1; padding: 20px 20px 24px; }
.aflab__bootlog { font-size: 10px; line-height: 1.9; color: rgb(192, 208, 200); }
.aflab__quote { margin-top: 26px; padding-top: 24px; font-size: 22px; line-height: 1.42; }
.aflab__hero { min-height: 540px; padding: clamp(36px, 5vw, 78px); background-image: linear-gradient(90deg, rgba(2, 10, 8, 0.99) 0%, rgba(3, 14, 11, 0.94) 36%, rgba(3, 14, 11, 0.62) 68%, rgba(2, 9, 7, 0.82) 100%), url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-768x432.png"); background-size: cover; background-position: center center; box-shadow: rgba(0, 0, 0, 0.34) 0px 0px 100px inset, rgba(0, 0, 0, 0.32) 0px 24px 70px; }
.aflab__hero::before { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(90deg, rgba(227, 174, 78, 0.7), rgba(126, 210, 176, 0.22), transparent 70%) left top / 100% 2px no-repeat; }
.aflab__hero::after { right: 0.02em; bottom: -0.12em; color: rgba(255, 215, 125, 0.075); font-size: clamp(180px, 22vw, 360px); }
.aflab__kicker { font-size: 11px; letter-spacing: 0.22em; color: var(--gold2); text-shadow: rgba(0, 0, 0, 0.8) 0px 1px 12px; }
.aflab__hero h1 { max-width: 850px; margin: 18px 0px 23px; font-size: clamp(64px, 7vw, 122px); line-height: 0.83; color: rgb(255, 248, 234); text-shadow: rgba(0, 0, 0, 0.7) 0px 4px 38px; }
.aflab__hero p { max-width: 640px; color: rgb(221, 231, 225); font-size: 18px; line-height: 1.67; text-shadow: rgba(0, 0, 0, 0.76) 0px 2px 18px; }
.aflab__action { margin-top: 30px; padding: 15px 21px; border-radius: 8px; font-size: 11px; background: linear-gradient(rgb(242, 200, 111), rgb(215, 158, 58)); box-shadow: rgba(227, 174, 78, 0.2) 0px 13px 35px, rgba(255, 255, 255, 0.55) 0px 1px inset; transition: transform 0.2s, box-shadow 0.2s; }
.aflab__action:hover { transform: translateY(-2px); box-shadow: rgba(227, 174, 78, 0.28) 0px 18px 42px, rgba(255, 255, 255, 0.65) 0px 1px inset; }
.aflab__hero-grid > .aflab__stack { grid-column: 1 / -1; grid-template-columns: 1.5fr 0.75fr; grid-template-rows: auto; gap: 14px; }
.aflab__principles { display: grid; grid-template-columns: repeat(5, 1fr); padding: 10px 16px 17px; gap: 0px; }
.aflab__principle { grid-template-columns: 26px 1fr; grid-template-rows: auto auto; gap: 5px 9px; padding: 14px 12px; border-bottom: 0px; border-right: 1px solid rgba(126, 210, 176, 0.13); }
.aflab__principle:last-child { border-right: 0px; }
.aflab__principle strong { font-size: 12px; }
.aflab__principle span { grid-column: 2; font-size: 10px; }
.aflab__status { padding: 17px 18px; }
.aflab__statuslines { font-size: 10px; line-height: 2; }
.aflab__sigil { width: 58px; height: 58px; border-radius: 50%; border-color: rgba(227, 174, 78, 0.44); box-shadow: rgba(227, 174, 78, 0.09) 0px 0px 30px, rgba(227, 174, 78, 0.04) 0px 0px 20px inset; }
.aflab__modules { gap: 14px; margin-top: 14px; }
.aflab__module { min-height: 230px; padding: 18px; border-radius: 14px; border-color: rgba(126, 210, 176, 0.22); background: radial-gradient(circle at 78% 10%, rgba(126, 210, 176, 0.13), transparent 34%), linear-gradient(160deg, rgba(11, 36, 27, 0.82), rgba(2, 11, 8, 0.96)); box-shadow: rgba(255, 255, 255, 0.035) 0px 1px inset, rgba(0, 0, 0, 0.2) 0px 16px 40px; transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s, background 0.25s; }
.aflab__module::before { top: 17px; left: 18px; font-size: 10px; letter-spacing: 0.12em; }
.aflab__module::after { content: ""; inset: auto 18px 18px auto; width: 74px; height: 74px; border: 1px solid rgba(227, 174, 78, 0.18); border-radius: 50%; background: radial-gradient(circle, rgba(227, 174, 78, 0.08), transparent 65%); opacity: 0.7; }
.aflab__module h2 { font-size: clamp(27px, 2vw, 35px); margin-bottom: 10px; }
.aflab__module h2::before { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-right: 11px; border: 1px solid rgba(227, 174, 78, 0.45); border-radius: 50%; color: var(--gold2); font: 500 15px/1 var(--mono); vertical-align: 5px; box-shadow: rgba(227, 174, 78, 0.08) 0px 0px 18px; }
.aflab__module[data-route="alessandro"] h2::before { content: "⌁"; }
.aflab__module[data-route="accademia"] h2::before { content: "△"; }
.aflab__module[data-route="workshops"] h2::before { content: "◎"; }
.aflab__module[data-route="xstrike"] h2::before { content: "✣"; }
.aflab__module[data-route="media"] h2::before { content: "▶"; }
.aflab__module[data-route="articoli"] h2::before { content: "¶"; }
.aflab__module[data-route="node"] h2::before { content: "◫"; }
.aflab__module p { max-width: 30ch; color: rgb(182, 198, 190); font-size: 14px; line-height: 1.6; }
.aflab__module small { font-size: 9px; letter-spacing: 0.14em; color: var(--gold2); }
.aflab__module:hover { border-color: rgba(227, 174, 78, 0.62); transform: translateY(-5px); box-shadow: rgba(0, 0, 0, 0.34) 0px 28px 66px, rgba(227, 174, 78, 0.06) 0px 0px 34px, rgba(255, 255, 255, 0.05) 0px 1px inset; }
.aflab__module.is-active { border-color: rgba(227, 174, 78, 0.62); transform: translateY(-5px); box-shadow: rgba(0, 0, 0, 0.34) 0px 28px 66px, rgba(227, 174, 78, 0.06) 0px 0px 34px, rgba(255, 255, 255, 0.05) 0px 1px inset; }
.aflab__lower { gap: 14px; margin-top: 14px; }
.aflab__event img { border-radius: 10px; border-color: rgba(227, 174, 78, 0.28); box-shadow: rgba(0, 0, 0, 0.35) 0px 15px 40px; }
.aflab__asset img { border-radius: 10px; border-color: rgba(227, 174, 78, 0.28); box-shadow: rgba(0, 0, 0, 0.35) 0px 15px 40px; }
.aflab__poster img { border-radius: 10px; border-color: rgba(227, 174, 78, 0.28); box-shadow: rgba(0, 0, 0, 0.35) 0px 15px 40px; }
.aflab__articlebody img { border-radius: 10px; border-color: rgba(227, 174, 78, 0.28); box-shadow: rgba(0, 0, 0, 0.35) 0px 15px 40px; }
.aflab__event { padding: 18px; }
.aflab__event h3 { font-size: 26px; }
.aflab__signal h3 { font-size: 26px; }
.aflab__path h3 { font-size: 26px; }
.aflab__signalmark { box-shadow: rgba(227, 174, 78, 0.12) 0px 0px 36px, rgba(227, 174, 78, 0.04) 0px 0px 22px inset; }
.aflab__sectionhero { --af-hero: none; min-height: 390px; padding: clamp(42px, 6vw, 84px); isolation: isolate; background: linear-gradient(120deg, rgba(7, 29, 22, 0.98), rgba(2, 10, 8, 0.93)); }
.aflab__sectionhero > * { position: relative; z-index: 2; }
.aflab__sectionhero::before { content: ""; position: absolute; inset: 0px 0px 0px 38%; z-index: 0; background-image: linear-gradient(90deg,rgba(3,14,11,1),rgba(3,14,11,.3) 38%,rgba(3,14,11,.35)),var(--af-hero); background-size: cover; background-position: center center; opacity: 0.88; mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 28%, rgb(0, 0, 0)); }
.aflab__sectionhero::after { content: ""; position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(227, 174, 78, 0.7), rgba(126, 210, 176, 0.2), transparent 72%) center top / 100% 2px no-repeat, radial-gradient(circle at 82% 18%, rgba(227, 174, 78, 0.14), transparent 28%); }
.aflab__view[data-view="alessandro"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Its-a-Stick-Not-a-Sword-%E2%80%94-stick-fighting-768x432.png"); }
.aflab__view[data-view="accademia"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-768x432.png"); }
.aflab__view[data-view="course"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-768x432.png"); }
.aflab__view[data-view="workshops"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Combat-Escrima-Workshop-11-ottobre-683x1024.jpg"); }
.aflab__view[data-view="event"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Combat-Escrima-Workshop-11-ottobre-683x1024.jpg"); }
.aflab__view[data-view="media"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Combat-Escrima-European-Legacy-683x1024.jpg"); }
.aflab__view[data-view="articoli"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Lo-scudo-come-arma-%E2%80%94-sistema-di-combattimento-768x432.png"); }
.aflab__view[data-view="xstrike"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Rattan-e-armi-da-taglio-nelle-arti-marziali-filippine-768x576.png"); }
.aflab__view[data-view="node"] .aflab__sectionhero { --af-hero: none; background: radial-gradient(circle at 76% 28%, rgba(87, 231, 172, 0.12), transparent 18%), radial-gradient(circle at 88% 68%, rgba(227, 174, 78, 0.1), transparent 20%), repeating-linear-gradient(90deg, rgba(126, 210, 176, 0.027) 0px, rgba(126, 210, 176, 0.027) 1px, transparent 1px, transparent 52px), repeating-linear-gradient(0deg, rgba(126, 210, 176, 0.024) 0px, rgba(126, 210, 176, 0.024) 1px, transparent 1px, transparent 52px), linear-gradient(120deg, rgba(7, 29, 22, 0.98), rgba(2, 10, 8, 0.94)); }
.aflab__view[data-view="node"] .aflab__sectionhero::before { inset: 0px; opacity: 0.92; mask-image: none; background-image: radial-gradient(circle at 78% 28%, rgba(227, 174, 78, 0.18) 0px, rgba(227, 174, 78, 0.18) 2px, transparent 3px), radial-gradient(circle at 88% 44%, rgba(126, 210, 176, 0.2) 0px, rgba(126, 210, 176, 0.2) 2px, transparent 3px), radial-gradient(circle at 72% 66%, rgba(126, 210, 176, 0.18) 0px, rgba(126, 210, 176, 0.18) 2px, transparent 3px), linear-gradient(118deg, transparent 0px, transparent 61%, rgba(126, 210, 176, 0.06) 61.2%, rgba(126, 210, 176, 0.06) 61.5%, transparent 61.7%), linear-gradient(58deg, transparent 0px, transparent 68%, rgba(227, 174, 78, 0.055) 68.2%, rgba(227, 174, 78, 0.055) 68.5%, transparent 68.7%); }
.aflab__view[data-view="workshops"] .aflab__sectionhero::before { background-position: center 38%; }
.aflab__view[data-view="event"] .aflab__sectionhero::before { background-position: center 38%; }
.aflab__view[data-view="media"] .aflab__sectionhero::before { background-position: center 38%; }
.aflab__view[data-view="alessandro"] .aflab__sectionhero::before { background-position: center 42%; }
.aflab__view[data-view="xstrike"] .aflab__sectionhero::before { background-position: center 54%; opacity: 0.72; }
.aflab__nodegraph { margin-top: 14px; }
.aflab__nodeflow { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 0px; padding: 24px 18px 22px; }
.aflab__nodeflow::before { content: ""; position: absolute; left: 7%; right: 7%; top: 43px; height: 1px; background: linear-gradient(90deg, rgba(227, 174, 78, 0.72), rgba(126, 210, 176, 0.42), rgba(227, 174, 78, 0.32)); box-shadow: rgba(126, 210, 176, 0.07) 0px 0px 18px; }
.aflab__nodeflow div { position: relative; min-width: 0px; padding: 34px 12px 10px; text-align: center; color: var(--muted); font: 600 9px/1.35 var(--mono); letter-spacing: 0.06em; }
.aflab__nodeflow div::before { content: ""; position: absolute; top: 14px; left: 50%; width: 11px; height: 11px; transform: translateX(-50%); border: 1px solid rgba(227, 174, 78, 0.68); border-radius: 50%; background: rgb(6, 19, 15); box-shadow: rgba(227, 174, 78, 0.027) 0px 0px 0px 5px, rgba(227, 174, 78, 0.12) 0px 0px 18px; }
.aflab__nodeflow b { display: block; color: var(--gold2); font-size: 8px; margin-bottom: 6px; }
.aflab__nodeflow strong { display: block; color: var(--ink); font-size: 11px; letter-spacing: 0.1em; }
.aflab__nodeflow span { display: block; margin-top: 5px; color: var(--dim); font-size: 8px; text-transform: uppercase; letter-spacing: 0.12em; }
@media (max-width: 820px) {
.aflab__nodeflow { grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 14px; }
}
@media (max-width: 820px) {
.aflab__nodeflow::before { display: none; }
}
@media (max-width: 820px) {
.aflab__nodeflow div { padding: 16px 10px; border: 1px solid rgba(126, 210, 176, 0.13); text-align: left; background: rgba(126, 210, 176, 0.024); }
}
@media (max-width: 820px) {
.aflab__nodeflow div::before { top: 15px; left: auto; right: 12px; transform: none; }
}
@media (max-width: 820px) {
.aflab__nodeflow strong { font-size: 12px; }
}
.aflab__sectionhero .aflab__eyebrow { font-size: 11px; color: var(--gold2); }
.aflab__sectionhero h1 { max-width: 980px; font-size: clamp(58px, 8vw, 118px); color: rgb(255, 248, 234); text-shadow: rgba(0, 0, 0, 0.64) 0px 5px 34px; }
.aflab__sectionhero p { max-width: 720px; color: rgb(220, 231, 225); font-size: 18px; line-height: 1.7; text-shadow: rgba(0, 0, 0, 0.7) 0px 2px 16px; }
.aflab__sectionbody { gap: 14px; margin-top: 14px; }
.aflab__routegrid { gap: 14px; margin-top: 14px; }
.aflab__content { padding: clamp(24px, 3vw, 40px); }
.aflab__content h2 { font-size: clamp(32px, 3.3vw, 50px); line-height: 1.08; }
.aflab__content h3 { font-size: 11px; color: var(--gold2); }
.aflab__content p { font-size: 16px; line-height: 1.76; color: rgb(210, 222, 216); }
.aflab__content li { padding: 13px 15px; border-radius: 8px; font-size: 14px; line-height: 1.6; background: linear-gradient(90deg, rgba(126, 210, 176, 0.05), rgba(126, 210, 176, 0.02)); }
.aflab__routecard { min-height: 210px; padding: 27px; border-radius: 14px; background: radial-gradient(circle at 92% 5%, rgba(227, 174, 78, 0.09), transparent 36%), linear-gradient(145deg, rgba(9, 30, 23, 0.88), rgba(3, 13, 10, 0.94)); transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s; }
.aflab__routecard::after { content: ""; position: absolute; right: 22px; top: 22px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(126, 210, 176, 0.2); background: radial-gradient(circle, rgba(126, 210, 176, 0.08), transparent 68%); }
.aflab__routecard h2 { font-size: 30px; margin-top: 35px; }
.aflab__routecard h3 { font-size: 30px; margin-top: 35px; }
.aflab__routecard p { font-size: 15px; line-height: 1.7; color: rgb(184, 200, 192); }
.aflab__routecard[data-route]:hover { transform: translateY(-4px); border-color: rgba(227, 174, 78, 0.56); box-shadow: rgba(0, 0, 0, 0.32) 0px 24px 62px, rgba(227, 174, 78, 0.05) 0px 0px 30px; }
.aflab__panel[data-route]:hover { transform: translateY(-4px); border-color: rgba(227, 174, 78, 0.56); box-shadow: rgba(0, 0, 0, 0.32) 0px 24px 62px, rgba(227, 174, 78, 0.05) 0px 0px 30px; }
.aflab__card { padding: 24px; }
.aflab__card h3 { font-size: 28px; }
.aflab__card p { font-size: 14px; line-height: 1.7; }
.aflab__asset { gap: 22px; padding: 22px; }
.aflab__asset h3 { font-size: 30px; }
.aflab__asset p { font-size: 14px; line-height: 1.65; }
.aflab__linkbutton { border-radius: 8px; border-color: rgba(227, 174, 78, 0.5); background: linear-gradient(rgba(227, 174, 78, 0.13), rgba(227, 174, 78, 0.055)); box-shadow: rgba(255, 255, 255, 0.035) 0px 1px inset; }
.aflab__linkbutton:hover { transform: translateY(-1px); box-shadow: rgba(227, 174, 78, 0.1) 0px 12px 30px; }
.aflab__articlehero { border-radius: 14px; box-shadow: rgba(0, 0, 0, 0.3) 0px 24px 70px; }
.aflab__articlebody { border-radius: 14px; }
.aflab__articlebody p { color: rgb(220, 229, 224); }
.aflab__terminal { padding: 12px 17px; border-top-color: rgba(126, 210, 176, 0.24); background: linear-gradient(rgb(2, 10, 7), rgb(1, 6, 4)); box-shadow: rgba(0, 0, 0, 0.2) 0px -14px 36px; }
.aflab__prompt { font-size: 12px; }
.aflab__terminal input { font-size: 12px; }
.aflab__hint { font-size: 9px; }
@media (max-width: 1180px) {
.aflab__hero-grid { grid-template-columns: minmax(220px, 0.65fr) minmax(0px, 1.9fr); }
}
@media (max-width: 1180px) {
.aflab__hero-grid > .aflab__stack { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1180px) {
.aflab__principles { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 820px) {
.aflab { padding: 0px; background: linear-gradient(145deg, rgb(1, 8, 6), rgb(6, 19, 15)); }
}
@media (max-width: 820px) {
.aflab__shell { min-height: 100svh; border: 0px; border-radius: 0px; }
}
@media (max-width: 820px) {
.aflab__view { padding: 9px; }
}
@media (max-width: 820px) {
.aflab__hero-grid { grid-template-columns: 1fr; gap: 9px; }
}
@media (max-width: 820px) {
.aflab__hero-grid > .aflab__panel:first-child { display: none; }
}
@media (max-width: 820px) {
.aflab__hero { min-height: 530px; padding: 42px 22px; background-position: 62% center; }
}
@media (max-width: 820px) {
.aflab__hero::after { font-size: 190px; }
}
@media (max-width: 820px) {
.aflab__hero h1 { font-size: clamp(60px, 18vw, 92px); }
}
@media (max-width: 820px) {
.aflab__hero p { font-size: 16px; max-width: 35ch; }
}
@media (max-width: 820px) {
.aflab__hero-grid > .aflab__stack { grid-column: auto; grid-template-columns: 1fr; gap: 9px; }
}
@media (max-width: 820px) {
.aflab__principles { grid-template-columns: 1fr; padding: 8px 15px; }
}
@media (max-width: 820px) {
.aflab__principle { grid-template-columns: 28px 105px 1fr; grid-template-rows: auto; padding: 12px 4px; border-right: 0px; border-bottom: 1px solid rgba(126, 210, 176, 0.12); }
}
@media (max-width: 820px) {
.aflab__principle span { grid-column: auto; font-size: 10px; }
}
@media (max-width: 820px) {
.aflab__modules { gap: 9px; margin-top: 9px; }
}
@media (max-width: 820px) {
.aflab__module { min-height: 145px; padding: 18px; }
}
@media (max-width: 820px) {
.aflab__module h2 { font-size: 29px; }
}
@media (max-width: 820px) {
.aflab__module p { font-size: 14px; }
}
@media (max-width: 820px) {
.aflab__lower { gap: 9px; margin-top: 9px; }
}
@media (max-width: 820px) {
.aflab__sectionhero { min-height: 430px; padding: 44px 22px; }
}
@media (max-width: 820px) {
.aflab__view[data-view="alessandro"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Its-a-Stick-Not-a-Sword-%E2%80%94-stick-fighting-300x169.png"); }
}
@media (max-width: 820px) {
.aflab__view[data-view="accademia"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-300x169.png"); }
}
@media (max-width: 820px) {
.aflab__view[data-view="course"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-300x169.png"); }
}
@media (max-width: 820px) {
.aflab__view[data-view="workshops"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Combat-Escrima-Workshop-11-ottobre-200x300.jpg"); }
}
@media (max-width: 820px) {
.aflab__view[data-view="event"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Combat-Escrima-Workshop-11-ottobre-200x300.jpg"); }
}
@media (max-width: 820px) {
.aflab__view[data-view="media"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Combat-Escrima-European-Legacy-200x300.jpg"); }
}
@media (max-width: 820px) {
.aflab__view[data-view="articoli"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Lo-scudo-come-arma-%E2%80%94-sistema-di-combattimento-300x169.png"); }
}
@media (max-width: 820px) {
.aflab__view[data-view="xstrike"] .aflab__sectionhero { --af-hero: url("https://www.alexfantini.com/wp-content/uploads/2026/09/Rattan-e-armi-da-taglio-nelle-arti-marziali-filippine-300x225.png"); }
}
@media (max-width: 820px) {
.aflab__sectionhero::before { inset: 0px; mask-image: none; opacity: 0.62; background-image: linear-gradient(0deg,rgba(2,10,8,.98),rgba(3,14,11,.58) 62%,rgba(3,14,11,.46)),var(--af-hero); }
}
@media (max-width: 820px) {
.aflab__sectionhero h1 { font-size: clamp(50px, 15vw, 82px); }
}
@media (max-width: 820px) {
.aflab__sectionhero p { font-size: 16px; }
}
@media (max-width: 820px) {
.aflab__sectionbody { gap: 9px; margin-top: 9px; }
}
@media (max-width: 820px) {
.aflab__routegrid { gap: 9px; margin-top: 9px; }
}
@media (max-width: 820px) {
.aflab__routecard { min-height: 180px; padding: 22px; }
}
@media (max-width: 820px) {
.aflab__routecard h2 { font-size: 28px; }
}
@media (max-width: 820px) {
.aflab__routecard h3 { font-size: 28px; }
}
@media (max-width: 820px) {
.aflab__content { padding: 22px; }
}
@media (max-width: 820px) {
.aflab__content p { font-size: 16px; }
}
@media (max-width: 820px) {
.aflab__asset { padding: 15px; }
}
@media (max-width: 820px) {
.aflab__asset h3 { font-size: 25px; }
}
@media (max-width: 480px) {
.aflab__hero { min-height: 500px; }
}
@media (max-width: 480px) {
.aflab__hero h1 { font-size: clamp(54px, 17vw, 78px); }
}
@media (max-width: 480px) {
.aflab__module h2::before { width: 30px; height: 30px; font-size: 13px; }
}
@media (max-width: 480px) {
.aflab__event { grid-template-columns: 90px minmax(0px, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
.aflab__module { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
.aflab__routecard { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
.aflab__linkbutton { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
.aflab__action { transition: none; }
}
@media (max-width: 820px) {
.aflab__hero { background-image: linear-gradient(90deg, rgba(2, 10, 8, 0.99) 0%, rgba(3, 14, 11, 0.91) 42%, rgba(3, 14, 11, 0.58) 74%, rgba(2, 9, 7, 0.8) 100%), url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-300x169.png"); background-size: cover; background-position: 62% center; }
}
.aflab__files { margin: 14px 0px 0px; display: grid; grid-template-columns: minmax(0px, 1.5fr) minmax(280px, 0.5fr); gap: 14px; }
.aflab__filesmain { border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, rgba(8, 28, 22, 0.9), rgba(3, 13, 10, 0.94)); box-shadow: rgba(0, 0, 0, 0.24) 0px 18px 48px, rgba(255, 255, 255, 0.03) 0px 1px inset; overflow: hidden; }
.aflab__filesaside { border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, rgba(8, 28, 22, 0.9), rgba(3, 13, 10, 0.94)); box-shadow: rgba(0, 0, 0, 0.24) 0px 18px 48px, rgba(255, 255, 255, 0.03) 0px 1px inset; overflow: hidden; }
.aflab__fileshead { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); font: 700 9px/1 var(--mono); letter-spacing: 0.13em; text-transform: uppercase; color: var(--mint); }
.aflab__fileshead b { color: var(--gold); }
.aflab__filesbody { padding: 18px; }
.aflab__filesintro { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; padding: 16px; border: 1px dashed rgba(215, 168, 79, 0.38); border-radius: 12px; background: radial-gradient(circle at 12% 20%, rgba(215, 168, 79, 0.08), transparent 36%), rgba(121, 217, 184, 0.024); }
.aflab__filesicon { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line2); color: var(--gold); font: 700 20px/1 var(--mono); }
.aflab__filesintro h2 { margin: 0px 0px 6px; font: 400 28px/1.05 var(--serif); }
.aflab__filesintro p { margin: 0px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.aflab__filesmanager { margin-top: 16px; }
.aflab__filesmanager .error { display: none !important; }
.logged-in .aflab__fileslogin { display: none; }
.aflab__fileslogin { margin-top: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: rgba(2, 10, 8, 0.66); }
.aflab__fileslogin h3 { margin: 0px 0px 8px; font: 400 24px/1.05 var(--serif); }
.aflab__fileslogin p { margin: 0px 0px 14px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.aflab__fileslogin a { display: inline-block; border: 1px solid var(--line2); border-radius: 8px; background: linear-gradient(rgb(232, 187, 97), rgb(201, 147, 53)); text-decoration: none; padding: 12px 16px; font: 800 9px/1 var(--mono); letter-spacing: 0.11em; text-transform: uppercase; color: rgb(7, 16, 12) !important; }
.aflab__filesaside { padding: 18px; }
.aflab__filesaside small { display: block; color: var(--gold); font: 700 8px/1 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; }
.aflab__filesaside h3 { margin: 12px 0px 8px; font: 400 26px/1.05 var(--serif); }
.aflab__filesaside p { margin: 0px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.aflab__filesstat { margin-top: 18px; display: grid; gap: 8px; }
.aflab__filesstat div { padding: 11px 12px; border: 1px solid rgba(121, 217, 184, 0.14); background: rgba(121, 217, 184, 0.024); font: 600 9px/1.4 var(--mono); color: var(--muted); }
.aflab__filesstat b { color: var(--green); }
@media (max-width: 820px) {
.aflab__files { grid-template-columns: 1fr; gap: 9px; }
}
@media (max-width: 820px) {
.aflab__filesintro { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
.aflab__filesicon { width: 50px; height: 50px; }
}
@media (max-width: 820px) {
.aflab__filesbody { padding: 15px; }
}
@media (max-width: 820px) {
.aflab__filesaside { padding: 15px; }
}
.aflab__productgrid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px; margin-top: 16px; }
.aflab__productcard { overflow: hidden; border-radius: 16px; background: linear-gradient(145deg, rgba(12, 36, 28, 0.96), rgba(3, 13, 10, 0.98)); box-shadow: rgba(0, 0, 0, 0.28) 0px 24px 70px; }
.aflab__productvisual { min-height: 230px; display: grid; place-items: center; background: radial-gradient(circle at 50% 40%, rgba(227, 174, 78, 0.12), transparent 42%), linear-gradient(160deg, rgba(121, 217, 184, 0.07), rgba(0, 0, 0, 0.12)); border-bottom: 1px solid var(--line); }
.aflab__productvisual svg { width: min(58%, 240px); height: auto; fill: none; stroke: var(--gold2); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(rgba(0, 0, 0, 0.4) 0px 10px 24px); }
.aflab__productbody { padding: 28px; }
.aflab__productmeta { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font: 700 9px/1.4 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; }
.aflab__productmeta strong { color: var(--green); }
.aflab__productbody h2 { margin: 20px 0px 12px; font: 400 clamp(34px,4vw,54px)/1 var(--serif); color: rgb(255, 248, 234); }
.aflab__productbody > p { max-width: 58ch; color: rgb(199, 212, 206); font-size: 15px; line-height: 1.72; }
.aflab__productlinks { display: grid; gap: 7px; margin: 20px 0px; color: var(--gold2); font: 600 10px/1.5 var(--mono); }
@media (max-width: 820px) {
.aflab__productgrid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
.aflab__productvisual { min-height: 180px; }
}
@media (max-width: 820px) {
.aflab__productbody { padding: 22px; }
}
.aflab__xstrike-overview { margin: 16px 0px; overflow: hidden; background: rgb(9, 15, 12); }
.aflab__xstrike-overview img { display: block; width: 100%; max-height: 560px; object-fit: contain; background: rgb(240, 214, 25); }
.aflab__xstrike-overview figcaption { padding: 10px 14px; color: var(--muted); font: 700 9px/1.4 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.aflab__productgrid--catalog { align-items: stretch; }
.aflab__productvisual--image { overflow: hidden; text-decoration: none; }
.aflab__productvisual--image img { width: 100%; height: 100%; min-height: 230px; object-fit: contain; display: block; background: rgb(10, 19, 15); }
.aflab__productvisual--pending { text-decoration: none; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--gold2); }
.aflab__productvisual--pending span { font: 400 clamp(34px,5vw,58px)/1 var(--serif); letter-spacing: 0.05em; }
.aflab__productvisual--pending small { font: 700 9px/1 var(--mono); letter-spacing: 0.16em; color: var(--muted); }
.aflab__biohero { padding-bottom: 58px; }
.aflab__biolead { font-size: 1.05em; }
.aflab__biolead p:first-child { font: 400 clamp(26px,3.1vw,42px)/1.2 var(--serif); color: rgb(255, 248, 234); max-width: 28ch; }
.aflab__biolabel { margin: 0px 0px 12px; color: var(--gold); font: 700 9px/1 var(--mono); letter-spacing: 0.15em; text-transform: uppercase; }
.aflab__bioimage { margin: 12px 0px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: rgb(2, 8, 6); box-shadow: rgba(0, 0, 0, 0.28) 0px 24px 70px; }
.aflab__bioimage img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(0.86) contrast(1.03); }
.aflab__bioimage--wide img { aspect-ratio: 16 / 9; }
.aflab__bioprinciples { margin-top: 12px; }
.aflab__biomilestone { background: radial-gradient(circle at 92% 10%, rgba(215, 168, 79, 0.1), transparent 34%), linear-gradient(145deg, rgba(10, 31, 24, 0.96), rgba(3, 13, 10, 0.98)); }
.aflab__bioend { padding-top: 24px; border-top: 1px solid var(--line); font: 400 clamp(23px,2.5vw,34px)/1.25 var(--serif); margin-top: 28px !important; color: rgb(255, 248, 234) !important; }
@media (min-width: 900px) {
.aflab__bioimage:not(.aflab__bioimage--wide) { max-width: 78%; margin-left: auto; margin-right: auto; }
}
@media (min-width: 900px) {
.aflab__biolead { padding-left: clamp(28px, 5vw, 76px); padding-right: clamp(28px, 5vw, 76px); }
}
@media (min-width: 900px) {
.aflab__story { padding-left: clamp(28px, 5vw, 76px); padding-right: clamp(28px, 5vw, 76px); }
}
@media (max-width: 820px) {
.aflab__biohero { padding-bottom: 32px; }
}
@media (max-width: 820px) {
.aflab__bioimage { margin: 9px 0px; border-radius: 12px; }
}
@media (max-width: 820px) {
.aflab__biolead p:first-child { font-size: 28px; }
}
.aflab .aflab__academy-hero { min-height: 280px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: linear-gradient(90deg, rgba(2, 13, 10, 0.97) 0%, rgba(3, 23, 18, 0.89) 43%, rgba(5, 22, 17, 0.16) 100%), url("/wp-content/uploads/af-academia/afc-001-cover.jpg") center center / cover no-repeat, linear-gradient(135deg, rgb(4, 23, 17), rgb(24, 68, 52) 70%, rgb(6, 22, 17)); border-color: rgba(209, 174, 103, 0.42); }
.aflab .aflab__academy-hero h1 { max-width: 18ch; }
.aflab .aflab__academy-hero p { max-width: 66ch; text-shadow: rgba(0, 0, 0, 0.9) 0px 1px 14px; }
@media (max-width: 650px) {
.aflab .aflab__academy-hero { min-height: 300px; background: linear-gradient(90deg, rgba(2, 13, 10, 0.94), rgba(3, 21, 17, 0.75)), url("/wp-content/uploads/af-academia/afc-001-cover.jpg") center center / cover no-repeat, rgb(8, 35, 27); }
}
.aflab { padding: 18px; background: radial-gradient(at 15% 0px, rgb(13, 44, 33) 0px, transparent 48%), rgb(3, 12, 9); color: var(--ink); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.aflab .aflab__shell { max-width: 1560px; border-radius: 6px; border-color: var(--line); box-shadow: none; background: rgb(6, 19, 15); }
.aflab .aflab__view { padding: 18px; animation: auto ease 0s 1 normal none running none; }
.aflab .aflab__grid { gap: 16px; }
.aflab .aflab__panel { border-radius: 5px; border: 1px solid var(--line); background: rgb(9, 28, 22); box-shadow: none; }
.aflab .aflab__module { border-radius: 5px; border: 1px solid var(--line); background: rgb(9, 28, 22); box-shadow: none; }
.aflab .aflab__routecard { border-radius: 5px; border: 1px solid var(--line); background: rgb(9, 28, 22); box-shadow: none; }
.aflab .aflab__productcard { border-radius: 5px; border: 1px solid var(--line); background: rgb(9, 28, 22); box-shadow: none; }
.aflab .aflab__panelhead { padding: 13px 18px; background: transparent; border-bottom: 1px solid var(--line); font-size: 10px; letter-spacing: 0.07em; }
.aflab .aflab__panelhead strong { font-size: 10px; }
.aflab .aflab__boot::before { display: none; }
.aflab .aflab__boot::after { display: none; }
.aflab .aflab__module::after { display: none; }
.aflab .aflab__routecard::before { display: none; }
.aflab .aflab__routecard::after { display: none; }
.aflab .aflab__hero-grid { grid-template-columns: 230px minmax(0px, 1fr) 280px; align-items: stretch; }
.aflab .aflab__hero-grid > .aflab__stack { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 1fr auto; gap: 16px; }
.aflab .aflab__boot { padding: 24px 20px; height: calc(100% - 43px); display: flex; flex-direction: column; justify-content: space-between; }
.aflab .aflab__bootlog { font: 500 11px/2 var(--mono); color: var(--muted); letter-spacing: 0px; }
.aflab .aflab__quote { font: 400 25px/1.32 var(--serif); letter-spacing: -0.015em; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.aflab .aflab__quote small { font: 500 10px/1.5 var(--mono); margin-top: 16px; color: var(--muted); }
.aflab .aflab__hero { min-height: 590px; padding: 42px 36px; justify-content: center; background-position: center center, right center; background-size: cover, cover; border-color: rgba(215, 180, 107, 0.32); }
.aflab .aflab__hero { background-image: linear-gradient(90deg, rgba(4, 18, 12, 0.96), rgba(4, 18, 12, 0.77) 50%, rgba(4, 18, 12, 0.25)), url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-768x432.png"); background-size: cover; background-position: center center; }
.aflab .aflab__hero::after { display: none; }
.aflab .aflab__hero-grid > article:first-child::before { display: none; }
.aflab .aflab__hero-grid > article:first-child::after { display: none; }
.aflab .aflab__hero h1 { font: 400 clamp(70px,6.3vw,102px)/.98 var(--serif); letter-spacing: -0.045em; margin: 22px 0px; max-width: 8ch; }
.aflab .aflab__hero p { font-size: 16px; line-height: 1.75; max-width: 39ch; }
.aflab .aflab__kicker { font: 600 10px/1.65 var(--mono); letter-spacing: 0.11em; max-width: 36ch; }
.aflab .aflab__action { font: 700 11px/1.45 var(--mono); letter-spacing: 0.06em; min-height: 46px; padding: 13px 20px; border-radius: 4px; background: var(--gold); box-shadow: none; margin-top: 26px; }
.aflab .aflab__principles { display: grid; grid-template-columns: 1fr; padding: 8px 18px; }
.aflab .aflab__principle { grid-template-columns: 24px minmax(0px, 1fr); gap: 4px 10px; padding: 12px 0px; border-right: 0px; border-bottom: 1px solid var(--line); }
.aflab .aflab__principle b { font: 500 10px/1.5 var(--mono); grid-row: span 2; }
.aflab .aflab__principle strong { font: 600 14px/1.4 var(--sans); }
.aflab .aflab__principle span { grid-column: 2; font: 400 12px/1.5 var(--sans); color: var(--muted); }
.aflab .aflab__status { padding: 18px; }
.aflab .aflab__statuslines { font-size: 10px; line-height: 1.9; letter-spacing: 0.035em; }
.aflab .aflab__sigil { width: 42px; height: 42px; font-size: 11px; }
.aflab .aflab__modules { grid-template-columns: repeat(4, minmax(0px, 1fr)); margin-top: 16px; }
.aflab .aflab__module { min-height: 206px; padding: 24px 22px; justify-content: flex-end; background: linear-gradient(140deg, rgb(16, 42, 32), rgb(7, 24, 17)); transition: border-color 0.2s, background 0.2s; }
.aflab .aflab__module:last-child { grid-column: span 2; }
.aflab .aflab__module::before { top: 20px; left: 22px; font-size: 11px; }
.aflab .aflab__module h2 { font: 400 31px/1.15 var(--serif); margin: 0px 0px 10px; letter-spacing: -0.02em; }
.aflab .aflab__module h2::before { display: none; }
.aflab .aflab__module p { font: 400 14px/1.6 var(--sans); max-width: 33ch; color: var(--muted); }
.aflab .aflab__module small { font: 600 10px/1.4 var(--mono); letter-spacing: 0.055em; margin-top: 20px; }
.aflab .aflab__module:hover { transform: none; border-color: var(--gold); background-color: rgb(16, 41, 31); }
.aflab .aflab__routecard:hover { transform: none; border-color: var(--gold); background-color: rgb(16, 41, 31); }
.aflab .aflab__lower { grid-template-columns: 1fr 1fr; margin-top: 16px; }
.aflab .aflab__path { grid-column: 1 / -1; padding: 22px; }
.aflab .aflab__event { padding: 22px; gap: 20px; }
.aflab .aflab__signal { padding: 22px; gap: 20px; }
.aflab .aflab__event.aflab__event--noimage { grid-template-columns: 1fr; }
.aflab .aflab__event h3 { font-size: 28px; line-height: 1.2; }
.aflab .aflab__signal h3 { font-size: 28px; line-height: 1.2; }
.aflab .aflab__path h3 { font-size: 28px; line-height: 1.2; }
.aflab .aflab__event p { font: 400 14px/1.7 var(--sans); }
.aflab .aflab__signal p { font: 400 14px/1.7 var(--sans); }
.aflab .aflab__path p { font: 400 14px/1.7 var(--sans); }
.aflab .aflab__event time { font-size: 11px; line-height: 1.5; }
.aflab .aflab__signal code { font-size: 11px; line-height: 1.5; }
.aflab .aflab__time { font-size: 11px; line-height: 1.6; }
.aflab .aflab__time b { font-size: 11px; }
.aflab .aflab__sectionhero { min-height: 330px; padding: 44px 48px; }
.aflab .aflab__sectionhero h1 { font: 400 clamp(50px,5.8vw,84px)/1.06 var(--serif); letter-spacing: -0.04em; margin: 20px 0px; max-width: 19ch; }
.aflab .aflab__articlehero h1 { font: 400 clamp(50px,5.8vw,84px)/1.06 var(--serif); letter-spacing: -0.04em; margin: 20px 0px; max-width: 19ch; }
.aflab .aflab__sectionhero p { font-size: 17px; line-height: 1.75; max-width: 65ch; }
.aflab .aflab__articledek { font-size: 17px; line-height: 1.75; max-width: 65ch; }
.aflab .aflab__sectionhero .aflab__eyebrow { font: 600 11px/1.6 var(--mono); letter-spacing: 0.08em; }
.aflab .aflab__articlemeta { font: 600 11px/1.6 var(--mono); letter-spacing: 0.08em; }
.aflab .aflab__sectionbody { margin-top: 16px; }
.aflab .aflab__routegrid { margin-top: 16px; }
.aflab .aflab__content { padding: 32px; }
.aflab .aflab__story { padding: 32px; }
.aflab .aflab__content h2 { font-size: 36px; line-height: 1.2; }
.aflab .aflab__content p { font: 400 16px/1.8 var(--sans); max-width: 75ch; }
.aflab .aflab__content h3 { line-height: 1.6; font-size: 12px; }
.aflab .aflab__content li { font: 400 15px/1.65 var(--sans); padding: 13px 16px; border-radius: 3px; }
.aflab .aflab__card { padding: 26px; }
.aflab .aflab__routecard { padding: 26px; }
.aflab .aflab__card h3 { font-size: 30px; line-height: 1.2; }
.aflab .aflab__routecard h3 { font-size: 30px; line-height: 1.2; }
.aflab .aflab__routecard h2 { font-size: 30px; line-height: 1.2; }
.aflab .aflab__card p { font: 400 15px/1.75 var(--sans); }
.aflab .aflab__routecard p { font: 400 15px/1.75 var(--sans); }
.aflab .aflab__card small { font-size: 11px; line-height: 1.6; letter-spacing: 0.06em; }
.aflab .aflab__card .aflab__mini { font-size: 11px; line-height: 1.6; letter-spacing: 0.06em; }
.aflab .aflab__routecard b { font-size: 11px; line-height: 1.6; letter-spacing: 0.06em; }
.aflab .aflab__linkbutton { font: 600 12px/1.55 var(--mono); border-radius: 4px; padding: 12px 18px; min-height: 46px; }
.aflab .aflab__asset { gap: 28px; padding: 24px 0px; align-items: center; grid-template-columns: minmax(180px, 0.8fr) minmax(0px, 1.2fr) !important; }
.aflab .aflab__asset img { width: 100%; height: auto; max-width: none; max-height: none; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 3px; }
.aflab .aflab__asset h3 { font: 400 30px/1.25 var(--serif); letter-spacing: -0.02em; text-transform: none; color: var(--ink); }
.aflab .aflab__asset p { font-size: 15px; line-height: 1.75; }
.aflab .aflab__articlehero { padding: 44px 48px; }
.aflab #aflab-article-latosa-principi .aflab__articlehero h1 { font: 400 clamp(46px,5.3vw,76px)/1.1 var(--serif); max-width: 24ch; }
.aflab .aflab__articlebody { max-width: 880px; padding: 46px 50px; margin-top: 24px; }
.aflab .aflab__articlebody p { font: 400 18px/1.85 var(--sans); }
.aflab .aflab__articlebody h2 { font: 400 clamp(30px,3.2vw,42px)/1.2 var(--serif); margin-top: 48px; }
.aflab .aflab__articlebody h3 { font: 600 13px/1.6 var(--mono); letter-spacing: 0.06em; }
.aflab .aflab__articlebody li { font-size: 17px; line-height: 1.8; }
.aflab .aflab__articlebody img { border-radius: 4px; box-shadow: none; }
.aflab .aflab__bioimage { border-radius: 4px; box-shadow: none; }
.aflab .aflab__view[data-view="xstrike"] .aflab__sectionhero { min-height: 340px; background: radial-gradient(circle at 78% 24%, rgba(184, 42, 42, 0.12), transparent 24%), radial-gradient(circle at 66% 58%, rgba(126, 210, 176, 0.09), transparent 30%), linear-gradient(125deg, rgb(7, 27, 21), rgb(2, 10, 8) 72%); }
.aflab .aflab__view[data-view="xstrike"] .aflab__sectionhero::before { inset: 0px; opacity: 0.95; mask-image: none; background-image: linear-gradient(128deg, transparent 0px, transparent 57%, rgba(184, 42, 42, 0.1) 57.2%, rgba(184, 42, 42, 0.1) 58%, transparent 58.2%), linear-gradient(52deg, transparent 0px, transparent 66%, rgba(126, 210, 176, 0.08) 66.2%, rgba(126, 210, 176, 0.08) 67%, transparent 67.2%); }
.aflab .aflab__xstrike-shophead { margin-top: 18px; padding: clamp(24px, 4vw, 48px); display: grid; grid-template-columns: minmax(0px, 1.35fr) minmax(280px, 0.65fr); gap: 36px; align-items: end; background: radial-gradient(circle at 86% 18%, rgba(184, 42, 42, 0.1), transparent 28%), linear-gradient(145deg, rgb(11, 36, 27), rgb(4, 16, 12)); border-color: rgba(126, 210, 176, 0.26); }
.aflab .aflab__xstrike-kicker { display: block; margin-bottom: 14px; color: var(--gold); font: 700 9px/1.4 var(--mono); letter-spacing: 0.16em; text-transform: uppercase; }
.aflab .aflab__xstrike-wordmark { font: 900 clamp(58px,7vw,108px)/.82 var(--sans); letter-spacing: -0.075em; color: rgb(243, 240, 232); text-transform: uppercase; }
.aflab .aflab__xstrike-wordmark i { font-style: normal; color: rgb(200, 61, 56); text-shadow: rgba(200, 61, 56, 0.12) 0px 0px 28px; }
.aflab .aflab__xstrike-brand p { max-width: 760px; margin: 24px 0px 0px; color: rgb(196, 210, 204); font-size: 16px; line-height: 1.75; }
.aflab .aflab__xstrike-stats { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(126, 210, 176, 0.18); border-radius: 4px; overflow: hidden; background: rgba(1, 8, 6, 0.46); }
.aflab .aflab__xstrike-stats span { min-height: 88px; padding: 16px; border-right: 1px solid rgba(126, 210, 176, 0.12); border-bottom: 1px solid rgba(126, 210, 176, 0.12); display: flex; flex-direction: column; justify-content: flex-end; color: var(--muted); font: 600 9px/1.45 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; }
.aflab .aflab__xstrike-stats span:nth-child(2n) { border-right: 0px; }
.aflab .aflab__xstrike-stats span:nth-last-child(-n+2) { border-bottom: 0px; }
.aflab .aflab__xstrike-stats b { display: block; margin-bottom: 7px; color: var(--ink); font: 400 28px/1 var(--serif); letter-spacing: 0px; text-transform: none; }
.aflab .aflab__xstrike-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0px 0px; padding: 12px; border: 1px solid var(--line); border-radius: 4px; background: rgba(4, 16, 12, 0.72); }
.aflab .aflab__xstrike-filters button { min-height: 40px; padding: 9px 14px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: var(--muted); font: 700 9px/1.4 var(--mono); letter-spacing: 0.05em; text-transform: uppercase; cursor: pointer; }
.aflab .aflab__xstrike-filters button:hover { border-color: rgba(227, 174, 78, 0.42); background: rgba(227, 174, 78, 0.08); color: var(--gold2); }
.aflab .aflab__xstrike-filters button.is-active { border-color: rgba(227, 174, 78, 0.42); background: rgba(227, 174, 78, 0.08); color: var(--gold2); }
.aflab .aflab__productgrid { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 14px; margin-top: 14px; }
.aflab .aflab__productcard { display: flex; flex-direction: column; min-width: 0px; border-color: rgba(126, 210, 176, 0.18); background: linear-gradient(rgb(8, 27, 21), rgb(4, 16, 12)); transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s; }
.aflab .aflab__productcard:hover { transform: translateY(-3px); border-color: rgba(227, 174, 78, 0.42); box-shadow: rgba(0, 0, 0, 0.28) 0px 22px 54px; }
.aflab .aflab__productcard[hidden] { display: none !important; }
.aflab .aflab__productvisual--image { position: relative; display: block; height: 230px; min-height: 0px; overflow: hidden; background: radial-gradient(circle at 52% 35%, rgb(33, 72, 58) 0px, rgb(16, 40, 31) 46%, rgb(6, 19, 15) 100%); border-bottom: 1px solid rgba(126, 210, 176, 0.16); }
.aflab .aflab__productvisual--image::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(rgba(4, 16, 12, 0.03), rgba(4, 16, 12, 0.28)), radial-gradient(circle at 50% 30%, transparent 0px, transparent 34%, rgba(2, 9, 7, 0.18) 72%, rgba(2, 9, 7, 0.52) 100%); }
.aflab .aflab__productvisual--image img { width: 100%; height: 100%; min-height: 0px; object-fit: cover; object-position: center center; opacity: 0.88; mix-blend-mode: luminosity; filter: contrast(1.12) brightness(0.92) saturate(0.55); transform: scale(1.025); transition: transform 0.3s, opacity 0.3s; }
.aflab .aflab__productcard:hover .aflab__productvisual--image img { transform: scale(1.055); opacity: 0.96; }
.aflab .aflab__productindex { position: absolute; z-index: 2; top: 12px; color: rgb(230, 239, 233); font: 700 8px/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; }
.aflab .aflab__productbrand { position: absolute; z-index: 2; top: 12px; color: rgb(230, 239, 233); font: 700 8px/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; }
.aflab .aflab__productindex { left: 12px; color: var(--gold2); }
.aflab .aflab__productbrand { right: 12px; padding: 6px 7px; border: 1px solid rgba(255, 255, 255, 0.16); background: rgba(2, 9, 7, 0.68); backdrop-filter: blur(8px); }
.aflab .aflab__productbody { display: flex; flex: 1 1 0%; flex-direction: column; padding: 20px; }
.aflab .aflab__productmeta { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; color: var(--muted); font: 700 8px/1.45 var(--mono); letter-spacing: 0.055em; text-transform: uppercase; }
.aflab .aflab__productmeta strong { color: var(--gold); font-weight: 700; text-align: right; }
.aflab .aflab__productbody h2 { font: 400 27px/1.12 var(--serif); margin: 16px 0px 10px; }
.aflab .aflab__productbody h2 a { color: inherit; text-decoration: none; }
.aflab .aflab__productbody h2 a:hover { color: var(--gold2); }
.aflab .aflab__productbody > p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0px; color: rgb(188, 203, 196); font-size: 13px; line-height: 1.65; }
.aflab .aflab__productlinks { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(126, 210, 176, 0.11); }
.aflab .aflab__productlinks span { padding: 5px 7px; border: 1px solid rgba(126, 210, 176, 0.13); border-radius: 2px; color: var(--muted); font: 600 8px/1.35 var(--mono); letter-spacing: 0.025em; }
.aflab .aflab__productbody .aflab__actions { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.aflab .aflab__productbody .aflab__linkbutton { min-height: 40px; padding: 9px 12px; font-size: 9px; }
.aflab .aflab__productlesson { color: var(--muted); font: 600 9px/1.4 var(--mono); text-decoration: none; }
.aflab .aflab__productlesson:hover { color: var(--gold); }
@media (max-width: 1280px) {
.aflab .aflab__productgrid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (max-width: 980px) {
.aflab .aflab__xstrike-shophead { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
.aflab .aflab__xstrike-stats { max-width: 620px; }
}
@media (max-width: 980px) {
.aflab .aflab__productgrid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 700px) {
.aflab .aflab__xstrike-shophead { padding: 24px 20px; gap: 24px; }
}
@media (max-width: 700px) {
.aflab .aflab__xstrike-wordmark { font-size: clamp(54px, 18vw, 78px); }
}
@media (max-width: 700px) {
.aflab .aflab__xstrike-brand p { font-size: 15px; }
}
@media (max-width: 700px) {
.aflab .aflab__xstrike-filters { padding: 8px; gap: 4px; }
}
@media (max-width: 700px) {
.aflab .aflab__xstrike-filters button { flex: 1 1 calc(50% - 4px); font-size: 8px; padding-inline: 8px; }
}
@media (max-width: 700px) {
.aflab .aflab__productbody h2 { font-size: 30px; }
}
.aflab .aflab__terminal { padding: 18px 22px; gap: 10px 16px; background: rgb(4, 16, 11); }
.aflab .aflab__prompt { font: 500 12px/1.6 var(--mono); }
.aflab .aflab__terminal input { font: 500 12px/1.6 var(--mono); }
.aflab .aflab__terminal input { min-height: 44px; border-bottom: 1px solid var(--line); border-radius: 0px; }
.aflab .aflab__hint { font-size: 10px; color: var(--dim); }
.aflab .aflab__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.aflab .aflab__choices button { font: 500 11px/1.4 var(--mono); min-height: 36px; padding: 8px 12px; border-radius: 3px; }
.aflab .aflab__output { font: 400 13px/1.8 var(--mono); }
.aflab__lower .aflab__linkbutton { margin-top: 16px; }
@media (max-width: 1320px) {
.aflab .aflab__mobilemenuhead { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--mint); font: 600 11px/1.5 var(--mono); padding: 0px 0px 16px; border-bottom: 1px solid var(--line); }
}
@media (max-width: 1320px) {
.aflab .aflab__mobilemenuhead button { font: 600 11px/1.5 var(--mono); background: transparent; color: var(--gold); border: 1px solid var(--line2); padding: 10px 14px; min-height: 44px; border-radius: 4px; }
}
@media (max-width: 1320px) {
.aflab .aflab__mobilelabel { margin: 22px 0px 12px; font: 600 11px/1.5 var(--mono); letter-spacing: 0.1em; color: var(--muted); }
}
@media (max-width: 1320px) {
.aflab .aflab__mobilelinks { display: grid; grid-template-columns: 1fr 1fr; gap: 0px 28px; }
}
@media (max-width: 1320px) {
.aflab .aflab__mobilelinks button { display: block; padding: 17px 4px; min-height: 54px; background: transparent; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); color: var(--ink); font: 400 19px/1.4 var(--serif); text-align: left; cursor: pointer; }
}
@media (max-width: 1320px) {
.aflab .aflab__mobilelinks button i { display: inline-block; width: 44px; color: var(--gold); font-variant-ligatures:; font-variant-caps:; font-variant-numeric:; font-variant-east-asian:; font-variant-alternates:; font-variant-position:; font-variant-emoji:; font-weight:; font-stretch:; font-size:; line-height:; font-family:; font-optical-sizing:; font-size-adjust:; font-kerning:; font-feature-settings:; font-variation-settings:; font-language-override:; font-style: normal; }
}
@media (max-width: 1320px) {
.aflab .aflab__mobileactions { display: flex; margin-top: 24px; }
}
@media (max-width: 1320px) {
.aflab .aflab__mobileactions button { font: 600 12px/1.5 var(--mono); min-height: 48px; background: var(--gold); color: rgb(7, 16, 12); padding: 14px 20px; border: 0px; border-radius: 4px; }
}
@media (max-width: 1320px) {
body:has(.aflab.is-menu-open) { overflow: hidden; }
}
@media (max-width: 1320px) {
.aflab .aflab__hero-grid { grid-template-columns: 230px minmax(0px, 1fr); }
}
@media (max-width: 1320px) {
.aflab .aflab__hero-grid > .aflab__stack { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
}
@media (max-width: 1320px) {
.aflab .aflab__principles { display: grid; grid-template-columns: 1fr 1fr; gap: 0px 20px; }
}
@media (max-width: 1000px) {
.aflab .aflab__hero-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
.aflab .aflab__hero-grid > article:first-child { display: none; }
}
@media (max-width: 1000px) {
.aflab .aflab__hero { min-height: 550px; padding: 40px; }
}
@media (max-width: 1000px) {
.aflab .aflab__hero h1 { font-size: 88px; }
}
@media (max-width: 1000px) {
.aflab .aflab__sectionbody { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
.aflab .aflab__aside { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1000px) {
.aflab .aflab__modules { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (max-width: 1000px) {
.aflab .aflab__module:last-child { grid-column: 1 / -1; }
}
@media (max-width: 1000px) {
.aflab .aflab__productgrid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 700px) {
.aflab { padding: 0px; }
}
@media (max-width: 700px) {
.aflab .aflab__hero { background-image: linear-gradient(90deg, rgba(4, 18, 12, 0.96), rgba(4, 18, 12, 0.77) 50%, rgba(4, 18, 12, 0.25)), url("https://www.alexfantini.com/wp-content/uploads/2026/09/Latosa-Escrima-%E2%80%94-principi-distanza-e-movimento-300x169.png"); }
}
@media (max-width: 700px) {
.aflab .aflab__shell { border: 0px; border-radius: 0px; }
}
@media (max-width: 700px) {
.aflab .aflab__view { padding: 12px; }
}
@media (max-width: 700px) {
.aflab .aflab__grid { gap: 12px; }
}
@media (max-width: 700px) {
.aflab .aflab__hero { min-height: 570px; padding: 32px 24px; background-position: center center, 60% center; }
}
@media (max-width: 700px) {
.aflab .aflab__hero h1 { font-size: clamp(62px, 18vw, 84px); line-height: 1.03; max-width: 8ch; margin: 22px 0px; }
}
@media (max-width: 700px) {
.aflab .aflab__hero p { font-size: 16px; line-height: 1.75; }
}
@media (max-width: 700px) {
.aflab .aflab__kicker { font-size: 9px; }
}
@media (max-width: 700px) {
.aflab .aflab__hero-grid > .aflab__stack { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.aflab .aflab__stack > .aflab__panel:last-child { display: none; }
}
@media (max-width: 700px) {
.aflab .aflab__principles { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.aflab .aflab__principle { grid-template-columns: 24px 110px minmax(0px, 1fr); gap: 8px; padding: 12px 0px; align-items: start; }
}
@media (max-width: 700px) {
.aflab .aflab__principle b { grid-row: auto; }
}
@media (max-width: 700px) {
.aflab .aflab__principle span { grid-column: auto; }
}
@media (max-width: 700px) {
.aflab .aflab__modules { grid-template-columns: 1fr 1fr; margin-top: 12px; }
}
@media (max-width: 700px) {
.aflab .aflab__module { min-height: 190px; padding: 42px 16px 18px; }
}
@media (max-width: 700px) {
.aflab .aflab__module::before { top: 17px; left: 16px; }
}
@media (max-width: 700px) {
.aflab .aflab__module h2 { font-size: 26px; }
}
@media (max-width: 700px) {
.aflab .aflab__module p { font-size: 13px; line-height: 1.6; }
}
@media (max-width: 700px) {
.aflab .aflab__module small { font-size: 9px; letter-spacing: 0.015em; margin-top: 16px; }
}
@media (max-width: 700px) {
.aflab .aflab__lower { grid-template-columns: 1fr; margin-top: 12px; }
}
@media (max-width: 700px) {
.aflab .aflab__event { padding: 18px; gap: 16px; }
}
@media (max-width: 700px) {
.aflab .aflab__signal { padding: 18px; gap: 16px; }
}
@media (max-width: 700px) {
.aflab .aflab__path { padding: 20px; }
}
@media (max-width: 700px) {
.aflab .aflab__sectionhero { padding: 30px 22px; min-height: 280px; }
}
@media (max-width: 700px) {
.aflab .aflab__articlehero { padding: 30px 22px; min-height: 280px; }
}
@media (max-width: 700px) {
.aflab .aflab__sectionhero h1 { font-size: clamp(42px, 12vw, 64px); line-height: 1.1; overflow-wrap: normal; hyphens: auto; }
}
@media (max-width: 700px) {
.aflab .aflab__articlehero h1 { font-size: clamp(42px, 12vw, 64px); line-height: 1.1; overflow-wrap: normal; hyphens: auto; }
}
@media (max-width: 700px) {
.aflab #aflab-article-latosa-principi .aflab__articlehero h1 { font-size: clamp(38px, 10.5vw, 58px); line-height: 1.12; }
}
@media (max-width: 700px) {
.aflab .aflab__sectionhero p { font-size: 16px; line-height: 1.75; }
}
@media (max-width: 700px) {
.aflab .aflab__content { padding: 22px; }
}
@media (max-width: 700px) {
.aflab .aflab__story { padding: 22px; }
}
@media (max-width: 700px) {
.aflab .aflab__card { padding: 22px; }
}
@media (max-width: 700px) {
.aflab .aflab__routecard { padding: 22px; }
}
@media (max-width: 700px) {
.aflab .aflab__content h2 { font-size: 30px; }
}
@media (max-width: 700px) {
.aflab .aflab__aside { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.aflab .aflab__routegrid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.aflab .aflab__asset { gap: 18px; padding: 22px 0px; grid-template-columns: 1fr !important; }
}
@media (max-width: 700px) {
.aflab .aflab__asset img { width: 100%; aspect-ratio: 16 / 10; justify-self: stretch; max-width: none !important; }
}
@media (max-width: 700px) {
.aflab .aflab__asset h3 { font-size: 29px; }
}
@media (max-width: 700px) {
.aflab .aflab__articlebody { margin-top: 12px; padding: 28px 22px; }
}
@media (max-width: 700px) {
.aflab .aflab__articlebody p { font-size: 17px; line-height: 1.85; }
}
@media (max-width: 700px) {
.aflab .aflab__articlebody li { font-size: 16px; }
}
@media (max-width: 700px) {
.aflab .aflab__productgrid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.aflab .aflab__productvisual--image { height: 270px; }
}
@media (max-width: 700px) {
.aflab .aflab__productbody { padding: 22px; }
}
@media (max-width: 700px) {
.aflab .aflab__terminal { padding: 18px 16px; grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 700px) {
.aflab .aflab__terminal input { font-size: 16px; }
}
@media (max-width: 700px) {
.aflab .aflab__hint { display: none; }
}
@media (max-width: 700px) {
.aflab .aflab__choices { gap: 7px; margin-top: 10px; }
}
@media (max-width: 700px) {
.aflab .aflab__choices button { min-height: 44px; font-size: 10px; padding: 10px; }
}
@media (max-width: 700px) {
.aflab .aflab__mobilelinks { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.aflab .aflab__mobilelinks button { font-size: 20px; min-height: 51px; padding: 13px 4px; }
}
@media (max-width: 359px) {
.aflab .aflab__modules { grid-template-columns: 1fr; }
}
@media (max-width: 359px) {
.aflab .aflab__module { min-height: 165px; }
}
@media (max-width: 359px) {
.aflab .aflab__module:last-child { grid-column: auto; }
}
@media (max-width: 359px) {
.aflab .aflab__principle { grid-template-columns: 20px minmax(0px, 1fr); }
}
@media (max-width: 359px) {
.aflab .aflab__principle b { grid-row: span 2; }
}
@media (max-width: 359px) {
.aflab .aflab__principle span { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
.aflab * { scroll-behavior: auto !important; transition: none !important; }
}
.aflab .aflab__xstrike-four-head { grid-template-columns: minmax(0px, 1fr) minmax(190px, 0.33fr); align-items: center; gap: 34px; margin-top: 14px; border-radius: 10px; }
.aflab .aflab__xstrike-four-head .aflab__xstrike-brand p { max-width: 68ch; }
.aflab .aflab__xstrike-four-head .aflab__xstrike-brand p strong { color: rgb(236, 210, 159); font-weight: 700; }
.aflab .aflab__xstrike-four-index { align-self: stretch; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 22px 30px; border-left: 1px solid rgba(213, 173, 103, 0.35); }
.aflab .aflab__xstrike-four-index > span { font: 700 10px/1.5 var(--mono); letter-spacing: 0.18em; color: rgb(214, 182, 120); }
.aflab .aflab__xstrike-four-heading > span { font: 700 10px/1.5 var(--mono); letter-spacing: 0.18em; color: rgb(214, 182, 120); }
.aflab .aflab__xstrike-four-end > span { font: 700 10px/1.5 var(--mono); letter-spacing: 0.18em; color: rgb(214, 182, 120); }
.aflab .aflab__xstrike-four-index > strong { font: 400 clamp(75px,9vw,120px)/1 var(--serif); color: rgb(242, 223, 181); letter-spacing: -0.085em; margin: 12px 0px 3px; }
.aflab .aflab__xstrike-four-index > p { margin: 0px; font: 400 18px/1.3 var(--serif); color: rgb(231, 221, 203); }
.aflab .aflab__xstrike-four-index > small { font: 600 10px/1.5 var(--mono); color: rgb(157, 182, 170); margin-top: 22px; }
.aflab .aflab__xstrike-four-heading { margin: 34px 0px 13px; padding: 0px 3px; display: flex; align-items: baseline; gap: 25px; flex-wrap: wrap; }
.aflab .aflab__xstrike-four-heading h2 { font: 400 clamp(35px,4vw,57px)/1.12 var(--serif); margin: 0px; color: var(--ink); letter-spacing: -0.035em; }
.aflab .aflab__xstrike-four-heading p { margin: 0px 0px 6px auto; color: var(--muted); font: 400 13px/1.6 var(--sans); max-width: 350px; }
.aflab .aflab__productgrid.aflab__productgrid--four { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 18px; margin-top: 0px; }
.aflab .aflab__productcard.aflab__xstrike-four-card { border: 1px solid rgba(204, 166, 103, 0.23); border-radius: 10px; background: linear-gradient(155deg, rgb(12, 39, 30), rgb(4, 17, 13)); box-shadow: rgba(0, 0, 0, 0.18) 0px 16px 46px; }
.aflab .aflab__xstrike-four-card .aflab__productvisual--image { height: clamp(265px, 30vw, 405px); background: radial-gradient(circle at 55% 44%, rgb(22, 66, 54) 0px, rgb(14, 43, 35) 42%, rgb(5, 20, 15) 100%); }
.aflab .aflab__xstrike-four-card .aflab__productvisual--image img { height: 100%; width: 100%; object-fit: contain; object-position: center center; filter: grayscale(1) contrast(1.19) brightness(0.95); mix-blend-mode: luminosity; opacity: 0.94; padding: 10px; transform: none; }
.aflab .aflab__xstrike-four-card:nth-child(3) .aflab__productvisual--image img { object-fit: cover; padding: 0px; }
.aflab .aflab__xstrike-four-card:nth-child(4) .aflab__productvisual--image img { object-fit: cover; padding: 0px; }
.aflab .aflab__xstrike-four-card:hover .aflab__productvisual--image img { transform: scale(1.025); opacity: 1; }
.aflab .aflab__xstrike-four-card .aflab__productbody { padding: clamp(17px, 2.7vw, 30px); gap: 0px; }
.aflab .aflab__xstrike-four-card .aflab__productbody h2 { font: 400 clamp(24px,2.7vw,34px)/1.18 var(--serif); margin: 18px 0px 13px; color: rgb(255, 241, 213); }
.aflab .aflab__xstrike-four-card .aflab__productbody > p { display: block; overflow: visible; color: rgb(197, 209, 201); font-size: 14px; line-height: 1.76; max-width: 60ch; }
.aflab .aflab__xstrike-four-card .aflab__productmeta { font-size: 10px; }
.aflab .aflab__xstrike-photo-note { margin-top: 17px; padding-top: 12px; border-top: 1px solid rgba(140, 185, 157, 0.15); color: rgb(158, 181, 168); font: 600 10px/1.65 var(--mono); }
.aflab .aflab__xstrike-four-card .aflab__productbody .aflab__actions { padding-top: 26px; gap: 12px; }
.aflab .aflab__xstrike-no-buy { margin-left: auto; text-align: right; color: rgb(155, 175, 158); font: 700 9px/1.5 var(--mono); letter-spacing: 0.08em; }
.aflab .aflab__xstrike-photo-placeholder { font: 500 36px/1.3 var(--serif); color: rgb(223, 193, 142); letter-spacing: 0.11em; }
.aflab .aflab__xstrike-four-end { margin-top: 21px; padding: 27px 32px; border-color: rgba(204, 166, 103, 0.24); background: linear-gradient(110deg, rgba(16, 46, 36, 0.9), rgba(2, 11, 8, 0.97)); }
.aflab .aflab__xstrike-four-end p { font: 400 14px/1.75 var(--sans); color: rgb(198, 214, 200); max-width: 83ch; margin: 12px 0px 0px; }
.aflab .aflab__xstrike-four-card:focus-within { outline: rgba(228, 184, 107, 0.65) solid 2px; outline-offset: 2px; }
@media (max-width: 920px) {
.aflab .aflab__xstrike-four-head { grid-template-columns: 1fr; gap: 15px; }
}
@media (max-width: 920px) {
.aflab .aflab__xstrike-four-index { border-left: 0px; border-top: 1px solid rgba(213, 173, 103, 0.25); padding: 18px 0px 2px; }
}
@media (max-width: 920px) {
.aflab .aflab__xstrike-four-index > strong { font-size: 72px; margin: 4px 0px; }
}
@media (max-width: 920px) {
.aflab .aflab__xstrike-four-heading p { margin-left: 0px; }
}
@media (max-width: 690px) {
.aflab .aflab__productgrid.aflab__productgrid--four { grid-template-columns: 1fr; gap: 11px; }
}
@media (max-width: 690px) {
.aflab .aflab__xstrike-four-card .aflab__productvisual--image { height: 290px; }
}
@media (max-width: 690px) {
.aflab .aflab__xstrike-four-heading { margin-top: 22px; gap: 10px; }
}
@media (max-width: 690px) {
.aflab .aflab__xstrike-four-index { display: none; }
}
@media (max-width: 690px) {
.aflab .aflab__xstrike-four-card .aflab__productbody h2 { font-size: 28px; }
}
@media (max-width: 690px) {
.aflab .aflab__xstrike-four-head .aflab__xstrike-wordmark { font-size: clamp(63px, 16vw, 88px); }
}
@media (prefers-reduced-motion: reduce) {
.aflab .aflab__xstrike-four-card { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
.aflab .aflab__xstrike-four-card img { transition: none; }
}
.aflab a.aflab__action { color: rgb(16, 32, 23) !important; }
.aflab .aflab__hero-grid > article:first-child .aflab__panelhead { font-size: 10px; letter-spacing: 0px; }
.aflab a:is(.aflab__module, .aflab__routecard, .aflab__card) { color: inherit; text-decoration: none; }
.aflab a.aflab__module { display: block; text-align: left; }
.aflab .aflab__linkbutton { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; line-height: 1.5; }
.aflab .aflab__action { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; line-height: 1.5; }
.aflab a:focus-visible { outline: rgb(223, 186, 121) solid 2px; outline-offset: 4px; }
.aflab summary:focus-visible { outline: rgb(223, 186, 121) solid 2px; outline-offset: 4px; }
.aflab :is(h1, h2, h3) { word-break: normal; overflow-wrap: break-word; text-wrap: pretty; hyphens: none !important; }
.aflab :is(.aflab__kicker, .aflab__eyebrow, .aflab__mini, .aflab__panelhead, .aflab__linkbutton) { font-size: 11px; }
.aflab .aflab__module small { font-size: 11px; line-height: 1.5; }
.aflab .aflab__view:is([data-view="article-scudo"], [data-view="article-latosa-principi"], [data-view="article-stick"]) h1 { max-width: 25ch; font-size: clamp(32px, 4.4vw, 62px) !important; line-height: 1.12 !important; }
.aflab .aflab__view[data-view^="article-"] h2 { font-size: clamp(23px, 2.5vw, 34px); line-height: 1.3; }
.aflab .aflab__view[data-view^="article-"] .aflab__articlebody p { font-size: 16px; line-height: 1.85; }
.aflab .af-quality-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: center; padding: 28px; margin: 18px 0px; background: linear-gradient(120deg, rgb(17, 48, 36), rgb(8, 27, 20)); }
.aflab .af-quality-feature h2 { font: 400 clamp(30px,3vw,48px)/1.15 var(--serif); margin: 12px 0px; }
.aflab .af-quality-feature p { color: rgb(203, 216, 207); line-height: 1.75; }
.aflab .af-quality-feature img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 5px; }
.af-article-toc { border: 1px solid rgba(215, 180, 107, 0.3); border-radius: 8px; padding: 18px; margin: 0px 0px 28px; background: rgb(11, 34, 25); color: rgb(238, 230, 214); }
.af-article-toc summary { cursor: pointer; font: 600 16px / 1.5 system-ui; min-height: 32px; color: rgb(225, 191, 128); }
.af-article-toc ol { margin: 15px 0px 0px; padding-left: 24px; }
.af-article-toc a { display: inline-block; padding: 6px 0px; font-size: 14px; line-height: 1.5; color: rgb(232, 218, 192); }
.aflab [id^="af-scudo-topic-"] { scroll-margin-top: 100px; }
.af-quality-related { margin-top: 24px; }
@media (max-width: 700px) {
.aflab [data-view="system"] .aflab__hero { overflow: hidden; display: flex; flex-direction: column; padding: 24px !important; min-height: 0px !important; background: rgb(10, 32, 24) !important; }
}
@media (max-width: 700px) {
.aflab .aflab__hero::before { content: ""; aspect-ratio: 16 / 9; margin: -24px -24px 24px; flex: 0 0 auto; display: block !important; position: static !important; inset: auto !important; width: calc(100% + 48px) !important; height: auto !important; min-height: 0px !important; opacity: 1 !important; transform: none !important; background: url("https://www.alexfantini.com/wp-content/uploads/af-editorial-2026/af-editorial-dojo.jpg") 70% center / cover no-repeat !important; mask: none !important; filter: none !important; }
}
@media (max-width: 700px) {
.aflab .aflab__hero h1 { margin: 16px 0px; font-size: clamp(48px, 14vw, 72px) !important; line-height: 1 !important; }
}
@media (max-width: 700px) {
.aflab .af-quality-feature { grid-template-columns: 1fr; padding: 22px; gap: 20px; }
}
@media (max-width: 700px) {
.aflab .af-quality-feature img { grid-row: 1; }
}
@media (max-width: 700px) {
.aflab .aflab__view[data-view^="article-"] h1 { font-size: clamp(30px, 8.5vw, 44px) !important; max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
.aflab a { scroll-behavior: auto !important; transition: none !important; }
}
.aflab__results a { display: inline-flex; padding: 10px 12px; margin: 5px; border: 1px solid rgb(112, 95, 60); color: rgb(228, 197, 141); text-decoration: none; }
.aflab .af-contact-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 20px; margin-top: 20px; }
.aflab .af-contact-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0px; }
.aflab .af-contact-card p { flex: 1 1 0%; }
.aflab .af-contact-card--workshops { grid-column: 1 / -1; border-color: rgba(215, 180, 107, 0.5); background: linear-gradient(115deg, rgb(16, 45, 33), rgb(10, 32, 24)); }
.aflab .af-contact-card--workshops p { max-width: 90ch; }
.aflab .af-contact-email { box-sizing: border-box; display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: rgb(237, 207, 148); font: 500 clamp(16px, 1.6vw, 21px) / 1.5 system-ui, sans-serif; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.aflab .af-contact-more { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0px; }
@media (max-width: 700px) {
.aflab .af-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.aflab .af-contact-card { padding: 22px; }
}
@media (max-width: 700px) {
.aflab .af-contact-email { font-size: 16px; }
}

/* Tres, Tres / La scatola dei LEGO — editorial treatment, isolated to this article.
   The Italian copy remains sourced from WP post 738; all seven languages share the design. */
.aflab #aflab-article-lego-tres-tres .aflab__articlebody {
  counter-reset: af-lego-chapter;
  max-width: 960px;
  padding: clamp(26px, 5.5vw, 72px);
  background: radial-gradient(ellipse at 12% 9%, rgba(215,168,79,.055), transparent 30%), linear-gradient(160deg, rgba(8,28,22,.96), rgba(2,12,9,.98));
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure {
  margin: 0 0 clamp(36px, 6vw, 64px);
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure img {
  display: block;
  width: 100%;
  max-height: 460px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid rgba(215,168,79,.28);
  border-radius: 6px;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > h2 {
  counter-increment: af-lego-chapter;
  position: relative;
  margin: clamp(54px, 6vw, 80px) 0 18px;
  padding: 31px 0 0;
  border-top: 1px solid rgba(215,168,79,.24);
  font: 400 clamp(29px, 3.5vw, 43px)/1.16 var(--serif);
  letter-spacing: -.018em;
  color: rgb(249,235,208);
  overflow-wrap: anywhere;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > h2::before {
  content: "§ " counter(af-lego-chapter, decimal-leading-zero);
  display: block;
  margin-bottom: 16px;
  color: rgb(214,173,98);
  font: 700 10px/1.2 var(--mono);
  letter-spacing: .18em;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media--opening + h2 {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody.aflab__lego-original > p:not(.aflab__lego-lead):not(.aflab__articleclosing):not(:nth-last-child(2)) {
  margin-bottom: .8em;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > p {
  max-width: 73ch;
  margin-bottom: 1.18em;
  color: rgb(216,225,219);
  font: 400 clamp(16px, 1.38vw, 18px)/1.82 var(--sans);
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > p.aflab__lego-lead {
  max-width: 64ch;
  margin: 0 0 29px;
  padding: 0 0 0 clamp(17px, 2.5vw, 26px);
  border-left: 2px solid rgba(218,175,99,.78);
  color: rgb(238,213,168);
  font: 400 clamp(20px, 2.15vw, 25px)/1.53 var(--serif);
  letter-spacing: -.009em;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > p:nth-last-child(2) {
  max-width: 68ch;
  margin: clamp(46px, 6vw, 70px) 0 28px;
  padding: clamp(18px, 3vw, 30px) clamp(20px, 3vw, 36px);
  border-left: 3px solid rgb(216,172,94);
  background: linear-gradient(100deg, rgba(215,168,79,.1), rgba(121,217,184,.025));
  color: rgb(249,224,174);
  font: italic 400 clamp(23px, 2.5vw, 32px)/1.45 var(--serif);
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > p.aflab__articleclosing {
  max-width: none;
  padding-top: 24px;
  border-top: 1px solid rgba(215,168,79,.23);
  font: 400 19px/1.55 var(--serif);
}
@media (max-width: 700px) {
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody {
    padding: 24px 20px 32px;
  }
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure img {
    aspect-ratio: 4 / 3;
  }
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody > h2 {
    padding-top: 24px;
    margin-top: 52px;
    font-size: clamp(27px, 8vw, 34px);
    line-height: 1.24;
  }
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media--opening + h2 {
    padding-top: 0;
    margin-top: 0;
  }
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody > p.aflab__lego-lead {
    font-size: clamp(20px, 5.3vw, 23px);
    line-height: 1.5;
  }
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody > p:nth-last-child(2) {
    font-size: 24px;
    padding: 19px;
  }
}

/* Chapter art uses intrinsic proportions: do not crop square portraits or package mockups. */
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media {
  display: grid;
  justify-items: center;
  gap: 12px;
  width: 100%;
  max-width: 840px;
  margin: clamp(34px, 5vw, 56px) auto;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media--opening {
  max-width: 690px;
  margin-top: 0;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media--toolbox {
  max-width: 880px;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media:not(.aflab__lego-media--opening) + h2 {
  margin-top: 22px;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  border: 1px solid rgba(215,168,79,.32);
  border-radius: 6px;
}
.aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media figcaption {
  max-width: 70ch;
  padding: 0 12px;
  margin: 0;
  text-align: center;
  font: 500 11px/1.65 var(--mono);
  letter-spacing: .02em;
  color: rgb(190,199,190);
}
.aflab #aflab-articoli .aflab__asset--lego img {
  object-fit: contain;
  max-height: 210px;
  padding: 4px;
  border-radius: 5px;
  background: rgb(3,11,8);
}
@media (max-width: 700px) {
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media {
    margin: 28px auto 38px;
  }
  .aflab #aflab-article-lego-tres-tres .aflab__articlebody > figure.aflab__lego-media--opening {
    margin-top: 0;
  }
}



