:root{color-scheme:dark light;--font-sans: "DM Sans", system-ui, sans-serif;--font-display: "Fraunces", Georgia, serif;--bg0: oklch(.985 .01 250);--bg1: oklch(.96 .02 250);--surface: oklch(1 0 0 / .72);--surface-strong: oklch(1 0 0 / .9);--text: oklch(.22 .04 260);--muted: oklch(.45 .03 260);--line: oklch(.88 .02 260);--accent: oklch(.58 .16 250);--accent2: oklch(.72 .12 200);--shadow: oklch(.2 .04 260 / .12);--hero-glow: oklch(.72 .14 250 / .35);--radius: 1rem;--radius-lg: 1.35rem;--space: clamp(1rem, 3vw, 2rem);--max: 72rem;--header-scroll-offset: clamp(6rem, 4.5rem + 5vw, 8.5rem)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg0: oklch(.16 .03 260);--bg1: oklch(.2 .04 260);--surface: oklch(.22 .03 260 / .65);--surface-strong: oklch(.26 .03 260 / .88);--text: oklch(.94 .02 250);--muted: oklch(.72 .02 250);--line: oklch(.34 .03 260);--accent: oklch(.72 .14 230);--accent2: oklch(.78 .1 200);--shadow: oklch(0 0 0 / .45);--hero-glow: oklch(.55 .18 260 / .45)}.nav__cta{background:var(--surface-strong);color:var(--text)!important}.lang__btn--active{background:var(--surface-strong);color:var(--text)}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}main[id],section[id]{scroll-margin-top:var(--header-scroll-offset)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-sans);font-size:1.0625rem;line-height:1.6;color:var(--text);background:var(--bg0);min-height:100dvh}.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip:focus{left:var(--space);top:var(--space);width:auto;height:auto;padding:.5rem 1rem;background:var(--accent);color:#fff;border-radius:.5rem;z-index:100}.bg{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 80% at 10% -10%,var(--hero-glow),transparent 55%),radial-gradient(90% 60% at 100% 0%,oklch(.7 .12 200 / .2),transparent 50%),linear-gradient(180deg,var(--bg0),var(--bg1))}.top{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in oklch,var(--bg0) 85%,transparent);border-bottom:1px solid var(--line)}.top__inner{max-width:var(--max);margin:0 auto;padding:.85rem var(--space);display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.brand__mark{width:2.25rem;height:2.25rem;border-radius:.65rem;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 1px color-mix(in oklch,var(--line) 60%,transparent)}.brand__text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand__name{font-weight:700;letter-spacing:-.02em}.brand__role{font-size:clamp(.62rem,.35rem + 1vw,.8rem);color:var(--accent);letter-spacing:.02em;line-height:1.2;white-space:nowrap}@media(max-width:520px){.brand__role{white-space:normal}}.nav{margin-left:auto;display:flex;align-items:center;gap:.25rem 1.25rem;flex-wrap:wrap}.nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:.95rem;position:relative}.nav a:not(.nav__cta):after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform:scaleX(0);transform-origin:left;transition:transform .28s ease}.nav a:not(.nav__cta):hover:after,.nav a:not(.nav__cta):focus-visible:after{transform:scaleX(1)}.nav a:hover,.nav a:focus-visible{color:var(--text)}.nav__cta{padding:.45rem .9rem;border-radius:999px;background:var(--text);color:var(--bg0)!important}.lang{margin-left:.25rem;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);background:var(--surface);padding:2px;gap:2px}.lang__btn{margin:0;padding:.35rem .55rem;min-width:2rem;border:none;border-radius:999px;background:transparent;color:var(--muted);font-family:inherit;font-size:.8rem;font-weight:700;letter-spacing:.04em;cursor:pointer}.lang__btn:hover,.lang__btn:focus-visible{color:var(--text)}.lang__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang__btn--active{background:var(--text);color:var(--bg0)}main{max-width:var(--max);margin:0 auto;padding:clamp(2rem,6vw,4rem) var(--space) 3rem}main p,main address,main .prose,main .quote footer{text-align:justify;text-wrap:pretty}.foot p{text-align:justify;text-wrap:pretty}.hero{padding-bottom:clamp(2rem,5vw,3.5rem)}.hero__grid{display:grid;gap:clamp(1.5rem,4vw,2.25rem);align-items:start}.hero__col--text{max-width:100%}.sim-fig{position:relative;margin:0;display:flex;align-items:center;justify-content:center;padding:.6rem .35rem;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:0 20px 50px var(--shadow);background:color-mix(in oklch,var(--surface-strong) 96%,var(--bg0));outline:none}.sim-fig:focus-visible{box-shadow:0 20px 50px var(--shadow),0 0 0 2px var(--accent)}.sim-fig__img{display:block;width:100%;max-width:100%;height:auto;max-height:min(46vh,21rem);object-fit:contain;object-position:center}@media(min-width:900px){.sim-fig--primary .sim-fig__img{max-height:min(42vh,19rem)}.sim-fig--secondary .sim-fig__img{max-height:min(36vh,17rem)}}.sim-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:30;box-sizing:border-box;width:max-content;max-width:min(300px,calc(100vw - 2.5rem));padding:.65rem .85rem;border-radius:var(--radius);font-size:.78rem;line-height:1.45;color:var(--text);background:var(--surface-strong);border:1px solid var(--line);box-shadow:0 12px 36px var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%) translateY(6px);transition:opacity .22s ease,transform .22s ease,visibility .22s;pointer-events:none;text-align:left}.sim-fig:hover .sim-tooltip,.sim-fig:focus-visible .sim-tooltip,.sim-fig:focus-within .sim-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}@media(max-width:640px){.sim-tooltip{bottom:auto;top:calc(100% + 8px);transform:translate(-50%) translateY(-6px)}.sim-fig:hover .sim-tooltip,.sim-fig:focus-visible .sim-tooltip,.sim-fig:focus-within .sim-tooltip{transform:translate(-50%) translateY(0)}}.lasso-logo-strip{display:flex;justify-content:center;align-items:center;padding:clamp(.75rem,2.5vw,1.5rem) 0 clamp(1.25rem,4vw,2.5rem)}.lasso-logo-strip__link{display:inline-block;line-height:0;border-radius:.35rem;transition:opacity .2s ease,transform .2s ease}.lasso-logo-strip__link:hover,.lasso-logo-strip__link:focus-visible{opacity:.88;transform:translateY(-1px)}.lasso-logo-strip__img{display:block;width:auto;max-width:min(200px,88%);height:auto}.eyebrow{margin:0 0 .75rem;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hero__title{margin:0 0 1rem;font-family:var(--font-display);font-weight:700;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.03em;color:var(--accent)}@media(min-width:960px){.hero__title{white-space:nowrap}}.hero__accent{display:inline;color:var(--accent)}.hero__lead{margin:0 0 1rem;max-width:none;color:var(--text);font-size:1.2rem;font-weight:500}.hero__intro{margin:0 0 1.5rem;max-width:none;color:var(--muted);font-size:.98rem;line-height:1.65}.hero__intro p{margin:0 0 1em}.hero__intro p:last-child{margin-bottom:0}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.35rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease}.btn:active{transform:scale(.98)}.btn--primary{background:linear-gradient(135deg,var(--accent),oklch(.52 .14 270));color:#fff;box-shadow:0 8px 24px var(--shadow)}.btn--primary:hover,.btn--primary:focus-visible{box-shadow:0 12px 32px var(--shadow)}.btn--ghost{border-color:var(--line);color:var(--text);background:var(--surface)}.btn--ghost:hover,.btn--ghost:focus-visible{border-color:color-mix(in oklch,var(--accent) 40%,var(--line))}.section{padding:clamp(2.5rem,6vw,4rem) 0}.section--alt{margin:0 calc(-1 * var(--space));padding-left:var(--space);padding-right:var(--space);border-radius:var(--radius-lg);background:color-mix(in oklch,var(--surface) 80%,var(--bg1));border:1px solid var(--line)}.section__inner{max-width:56rem;margin-inline:auto;width:100%}#specialita .section__inner,#contatti .section__inner{max-width:min(var(--max),100%)}#specialita .section__intro{max-width:none}.band{margin:0 calc(-1 * var(--space));padding:clamp(2rem,5vw,3rem) var(--space);border-radius:var(--radius-lg);border:1px solid var(--line);background:color-mix(in oklch,var(--surface-strong) 92%,var(--bg1))}.band__stack{max-width:56rem;margin-inline:auto;display:flex;flex-direction:column;gap:clamp(2rem,5vw,3.25rem)}.band__row{display:grid;gap:clamp(1.25rem,3vw,2rem);align-items:start}@media(min-width:800px){.band__row--figure-left,.band__row--figure-right{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}}@media(max-width:799px){.band__row--figure-left .band__figure{order:-1}.band__row--figure-right .band__figure{order:1}}.band__stack>.band__title{margin:0;width:100%;text-align:center}.band__figure{margin:0;min-width:0}.band__text{margin:0;color:var(--muted);font-size:.98rem;line-height:1.65;max-width:none}.band__text p{margin:0 0 1em}.band__text p:last-child{margin-bottom:0}.chi{display:grid;gap:1.25rem;grid-template-areas:"title" "photo" "prose" "quote"}@media(min-width:800px){.chi{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);grid-template-areas:"photo title" "photo prose" "photo quote";column-gap:2rem;align-items:start}}.chi__title{grid-area:title;margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.02em}.chi__media{grid-area:photo;display:flex;flex-direction:column;gap:.75rem;min-width:0}.chi__figure{margin:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 40px var(--shadow)}.chi__figure img{display:block;width:100%;height:auto;max-height:22rem;object-fit:cover}@media(min-width:800px){.chi__figure img{max-height:28rem}}main .chi__caption{margin:0;text-align:center;color:var(--accent);font-size:.92rem;font-weight:600;line-height:1.45;letter-spacing:.01em}.chi__prose{grid-area:prose}.chi__quote{grid-area:quote;margin:0}.section__title,.chi__title,.card__title,.contact__h{color:var(--accent)}.section__title{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.02em}.section__intro{margin:0 0 2rem;color:var(--muted);max-width:48ch}.cards{display:grid;gap:1rem}@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}.card{padding:1.35rem;border-radius:var(--radius);background:var(--surface-strong);border:1px solid var(--line);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .25s ease}@media(prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-3px);box-shadow:0 14px 36px var(--shadow);border-color:color-mix(in oklch,var(--accent) 28%,var(--line))}}.card__title{margin:0 0 .5rem;font-size:1.05rem}.card__text{margin:0;color:var(--muted);font-size:.95rem}.prose{margin:0;color:var(--muted)}.quote{margin:0;padding:1.35rem 1.5rem;border-radius:var(--radius);border-left:4px solid var(--accent);background:var(--surface)}.quote p{margin:0 0 .75rem;font-family:var(--font-display);font-style:italic;font-size:1.1rem;line-height:1.5}.quote footer{font-size:.85rem;color:var(--accent)}.contact{display:grid;gap:1.5rem}@media(min-width:640px){.contact{grid-template-columns:1fr 1fr}}@media(min-width:900px){.contact{grid-template-columns:1fr 1fr 1fr}}.contact__block{padding:1.35rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-strong)}.contact__block--selectable{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;transition:border-color .25s ease,box-shadow .25s ease}.contact__block--selectable:hover,.contact__block--selectable:focus-visible{border-color:color-mix(in oklch,var(--accent) 35%,var(--line));outline:none}.contact__block--active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in oklch,var(--accent) 40%,transparent)}.contact__h{margin:0 0 .65rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.contact__addr{font-style:normal;line-height:1.65}.link{color:var(--accent);font-weight:600}.link:hover,.link:focus-visible{text-decoration:underline}.contact__note{margin:1rem 0 0;font-size:.85rem;color:var(--muted)}.contact__map{margin-top:2rem}.contact__map-title{margin:0 0 .85rem;font-family:var(--font-display);font-size:clamp(1.1rem,2.2vw,1.35rem);letter-spacing:-.02em;color:var(--accent)}.contact__frame{display:block;width:100%;min-height:16rem;height:clamp(16rem,42vw,22rem);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 12px 36px var(--shadow)}.contact__map-foot{margin:.65rem 0 0;font-size:.9rem}.foot{border-top:1px solid var(--line);padding:1.5rem var(--space);background:color-mix(in oklch,var(--bg1) 90%,transparent)}.foot__inner{max-width:var(--max);margin:0 auto;text-align:center}.foot p{margin:0;font-size:.85rem;color:var(--muted)}.reveal{opacity:0;transform:translateY(.65rem);filter:blur(.35px);transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1),filter .45s ease;transition-delay:var(--reveal-delay, 0s)}.reveal.is-visible{opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){.reveal,.reveal.is-visible{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
