:root{--ink:#103139;--dark:#0b292b;--dark2:#123f3e;--green:#226c4c;--mint:#95dbac;--leaf:#2b8061;--paper:#f7f6f1;--cream:#fefcf6;--stroke:#dddcd4;--muted:#536a6a;--sand:#eac895;--radius:20px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.15;letter-spacing:-.045em}h2{font-weight:800;font-size:clamp(2.3rem,5vw,4.4rem)}h2 span{color:#449272}::selection{background:#b1e8c3;color:#0b292b}:focus-visible{outline:3px solid #ffba58;outline-offset:4px}.wrap{width:min(1190px,calc(100% - 64px));margin:auto}.tricolore{display:grid;grid-template-columns:repeat(3,1fr);height:5px}.tricolore span:nth-child(1){background:#168453}.tricolore span:nth-child(2){background:#f4f0e6}.tricolore span:nth-child(3){background:#c84745}
.header{position:relative;z-index:25;background:#fffefa;border-bottom:1px solid #e9e8df}.header-inner{min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{width:187px;height:68px;border-radius:10px;display:flex;align-items:center;justify-content:flex-start;background:#fff;padding:4px 9px}.brand img{max-height:61px;object-fit:contain;object-position:left}.nav{display:flex;align-items:center;gap:31px}.nav>a{font-size:13px;font-weight:700;color:#385258;transition:color .2s}.nav>a:hover{color:#1b8264}.nav .nav-action{background:#0b3635;color:white;border-radius:100px;padding:13px 20px}.nav .nav-action:hover{color:white;background:#207355}.nav .nav-action span{padding-left:9px}.mobile-toggle{display:none;background:transparent;border:0;padding:13px}.mobile-toggle span{height:2px;background:#123534;width:22px;display:block;margin:5px 0}
.hero{position:relative;overflow:hidden;background:#0b292b;color:white;padding:76px 0 38px;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#123c3c 0%,#0b292b 65%);z-index:-2}.hero-glow{position:absolute;right:7%;top:-34%;width:740px;height:740px;background:radial-gradient(closest-side,rgba(77,139,107,.16),transparent);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.09fr .91fr;align-items:center;gap:60px}.hero-copy{padding:16px 0 47px}.eyebrow{display:inline-flex;align-items:center;gap:11px;border:1px solid rgba(170,224,182,.24);background:rgba(154,217,173,.06);border-radius:50px;padding:8px 15px;font-size:12px;font-weight:600;color:#d2e9d3;margin-bottom:27px}.spark{width:7px;height:7px;border-radius:50%;background:#c9ce7b;box-shadow:0 0 0 4px rgba(201,206,123,.12)}.hero-kicker{color:#b9d1ac;letter-spacing:.17em;font-weight:800;font-size:12px;margin-bottom:20px}.hero h1{font-size:clamp(3.6rem,5.25vw,6.3rem);line-height:1.03;margin-bottom:27px;font-weight:800;letter-spacing:-.07em}.hero h1 em{font-style:normal;color:#9dd9a0}.hero-lead{max-width:580px;color:#d1dcd8;font-size:16px;line-height:1.8}.hero-lead strong{color:white}.hero-facts{display:flex;flex-wrap:wrap;gap:20px;margin:31px 0 32px}.hero-facts>div{display:flex;gap:9px;align-items:center}.fact-icon{display:grid;place-items:center;font-size:24px;color:#b2dfbe;background:#ffffff0b;border:1px solid #dcebdd26;width:40px;height:42px;border-radius:12px;line-height:1}.hero-facts span:last-child{display:flex;flex-direction:column;gap:1px}.hero-facts strong{font-size:13px;white-space:nowrap}.hero-facts small{font-size:11px;color:#a9bbb6}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:21px;border-radius:100px;padding:13px 23px;font-size:13px;font-weight:800;line-height:1.4;transition:transform .2s,background .2s,color .2s,box-shadow .2s;border:0;max-width:100%;text-align:center}.button:hover{transform:translateY(-2px)}.button-primary{background:#9cd9a4;color:#102f2b;box-shadow:0 8px 20px rgba(0,0,0,.08)}.button-primary:hover{background:#c0edb3}.button-ghost{border:1px solid rgba(234,244,234,.28);color:#fff;background:rgba(255,255,255,.04)}.button-ghost:hover{background:rgba(255,255,255,.11)}.hero-note{margin-top:30px;color:#a9bcb6;font-size:11px;display:flex;gap:12px;align-items:center}.note-line{width:25px;height:1px;background:#89c594}.hero-media{position:relative;min-width:0;padding-bottom:15px}.city-frame{aspect-ratio:1.16;overflow:hidden;border-radius:26px;background:#325b56;transform:rotate(1deg);box-shadow:0 30px 100px rgba(0,0,0,.24)}.city-frame img{width:100%;height:100%;object-fit:cover}.city-label{position:absolute;top:6%;left:-28px;display:flex;align-items:center;gap:9px;background:#fff;color:#1c3b39;border-radius:14px;padding:13px 21px;box-shadow:0 14px 45px #06191829;transform:rotate(-4deg)}.city-pin{font-size:23px;color:#25765b}.city-label span:last-child{display:flex;flex-direction:column}.city-label small{font-size:10px;letter-spacing:.14em;font-weight:800;color:#678079}.city-label strong{font-size:17px;line-height:1.3}.countdown-card{position:absolute;bottom:-28px;right:-23px;min-width:274px;border:1px solid #e4efe536;border-radius:20px;background:#153c3aeb;padding:15px 18px 14px;box-shadow:0 15px 42px #051b1e4d;backdrop-filter:blur(14px)}.countdown-head{font-size:11px;text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:9px;color:#cae4d7;font-weight:700}.live-dot,.form-live-dot{width:7px;height:7px;background:#a4db9b;border-radius:50%;box-shadow:0 0 0 4px #91d1a516;display:inline-block}.countdown-numbers{display:flex;justify-content:space-between;gap:10px;margin-top:11px}.countdown-numbers>span{display:flex;flex-direction:column;min-width:55px}.countdown-numbers b{font-family:Manrope,sans-serif;font-size:31px;letter-spacing:-.06em;line-height:1.1}.countdown-numbers small{color:#95afa7;font-size:11px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin:57px auto 0;width:min(1190px,calc(100% - 64px));gap:20px;font-size:10px;letter-spacing:.18em;color:#8fa6a1;font-weight:700}.hero-rule{flex:1;height:1px;background:#bdd2c01e}.hero-scrolldown{white-space:nowrap}.hero-scrolldown span{padding-left:14px;font-size:17px}
.section{padding:115px 0}.section-tag{display:flex;align-items:center;gap:17px;color:#347f64;font-weight:800;font-size:11px;letter-spacing:.15em;margin-bottom:32px}.section-tag .rule{height:1px;width:73px;background:#9bb2a6}.section-tag.light{color:#b2dabb}.section-tag.light .rule{background:#527465}.intro{background:#f7f6f1}.intro-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:90px;margin-bottom:54px}.intro-grid h2{margin:0}.intro-text{padding-top:5px;font-size:16px;color:#536969}.intro-text p{line-height:1.85;margin:0 0 17px}.intro-text strong{color:#203b38}.text-link{color:#1f7554;font-weight:800;font-size:13px;display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #1f755459;padding-bottom:5px;margin-top:4px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pillar{position:relative;border:1px solid #e3e5da;border-radius:19px;background:#fffefa;padding:30px 29px 27px;min-height:248px}.pillar-number{font-size:11px;font-weight:800;color:#8e9f96;letter-spacing:.18em}.pillar-icon{margin:27px 0 20px;width:51px;height:51px;display:grid;place-items:center;background:#e4f1e3;color:#206e55;border-radius:16px;font-size:27px}.pillar h3{font-size:20px;margin-bottom:8px}.pillar p{font-size:13px;color:#5d706e;line-height:1.8;margin:0;max-width:245px}.program{position:relative;overflow:hidden;background:#123d3a;color:white}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.program-side{position:relative;isolation:isolate}.program-side h2{margin-bottom:26px}.program-side h2 span{color:#a6dba8}.program-side p{max-width:440px;color:#bcd4cb;line-height:1.9;font-size:15px}.program-watermark{font-weight:800;font:800 290px/1 Manrope,sans-serif;color:rgba(255,255,255,.025);position:absolute;left:-20px;bottom:-135px;z-index:-1}.program-timeline{padding-top:82px}.timeline-item{display:grid;grid-template-columns:74px 13px 1fr;gap:23px;position:relative;min-height:169px}.timeline-item:not(:nth-child(2))::after{content:"";position:absolute;top:14px;left:103px;height:calc(100% - 14px);width:1px;background:#558075}.timeline-time{font-weight:800;font-size:20px;letter-spacing:-.02em;color:#a8e7ad;line-height:1.3}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#b1db9c;box-shadow:0 0 0 5px #a3d7a31f;margin-top:6px;position:relative;z-index:1}.timeline-detail{border-bottom:1px solid #ffffff1e;padding:0 0 26px}.timeline-detail>span{color:#b0c5ba;letter-spacing:.13em;font-size:10px;font-weight:800}.timeline-detail h3{font-size:22px;letter-spacing:-.03em;margin:10px 0 10px}.timeline-detail p{font-size:13px;color:#b9d1c6;max-width:270px;margin:0}.timeline-end{font-size:11px;color:#93b2a5;margin-left:110px;margin-top:13px}
.place{background:#fffefa}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.place-info h2{margin:0 0 28px}.place-info>p{color:#617471;max-width:390px;margin-bottom:30px}.address-box{display:flex;gap:17px;padding:23px 0;border-top:1px solid #e0e4db;max-width:410px}.address-icon{display:grid;place-items:center;color:#247358;font-size:29px;background:#e7f0e6;border-radius:12px;width:48px;height:48px;flex:0 0 48px}.address-box div>span{color:#7f928c;font-size:10px;letter-spacing:.14em;font-weight:800}.address-box strong{display:block;font-size:17px;margin-top:5px}.address-box p{margin:4px 0 0;color:#5f726d;font-size:13px;line-height:1.6}.button-dark{background:#123d3a;color:#fff}.button-dark:hover{background:#216450}.place-art{position:relative;height:410px;border-radius:22px;background:radial-gradient(circle at 73% 29%,#d8e9cc 0,#a4c7ae 39%,#83b6a7 100%);overflow:hidden}.place-art:after{content:"";position:absolute;width:560px;height:560px;border:1px solid #e9fff183;border-radius:50%;left:34%;top:-30%}.route-lines{position:absolute;inset:-120px -180px;transform:rotate(-30deg);opacity:.35;background:repeating-linear-gradient(0deg,transparent 0,transparent 46px,#ffffffa0 47px,#ffffffa0 48px),repeating-linear-gradient(90deg,transparent 0,transparent 46px,#ffffffa0 47px,#ffffffa0 48px)}.place-large{position:absolute;font:800 260px/1 Manrope,sans-serif;letter-spacing:-.14em;color:#e7f0da88;right:-4px;top:25px}.location-spot{position:absolute;top:45%;left:21%;display:flex;align-items:center;gap:12px;background:#fafff6;border-radius:12px;padding:12px 14px;box-shadow:0 13px 40px #1a504522;z-index:2;font-size:12px;font-weight:800;line-height:1.4}.location-spot small{display:block;color:#758d82;font-weight:600}.location-pulse{position:relative;display:block;background:#2b8866;width:16px;height:16px;border:4px solid white;border-radius:50%;box-shadow:0 0 0 4px #267b5c55}.place-bottom-label{position:absolute;bottom:20px;right:24px;letter-spacing:.12em;font-size:10px;font-weight:700;color:#214b45}
.registration{background:#f7f6f1}.registration-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:35px}.registration-heading h2{margin:0 0 13px}.registration-heading p{color:#566c68;max-width:540px;line-height:1.8;margin:0}.registration-label{border:1px solid #d3dfd3;border-radius:100px;padding:9px 17px;font-size:10px;font-weight:800;color:#377358;letter-spacing:.14em;white-space:nowrap;margin-bottom:10px}.registration-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:18px;align-items:stretch}.register-info{position:relative;border-radius:19px;background:#123f3c;color:white;padding:39px;overflow:hidden;min-height:445px}.register-decor{position:absolute;top:-43px;right:-7px;color:#b1d49b27;font-size:215px;line-height:1}.register-info h3{font-size:clamp(28px,3.6vw,40px);max-width:310px;line-height:1.17;margin:50px 0 22px;position:relative}.register-info>p{color:#c0d6c9;line-height:1.8;max-width:350px;font-size:14px}.register-info ul{padding:0;margin:30px 0;list-style:none;display:grid;gap:13px}.register-info li{color:#deeee4;font-size:13px;display:flex;gap:10px;align-items:center}.register-info li span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#9cd9a71f;color:#a4d9a5}.register-info-footer{border-top:1px solid #ffffff26;padding-top:22px;font-weight:700;font-size:10px;color:#a6cbb9;letter-spacing:.13em}.register-info-footer span{padding:0 6px}.register-form{display:grid;border:1px solid #e7e8df;border-radius:19px;background:white;padding:35px;min-height:445px}.form-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:480px;width:100%;margin:auto}.form-dots{display:flex;gap:6px;margin-bottom:25px}.form-dots i{width:7px;height:7px;border-radius:50%;background:#2d956b}.form-dots i:nth-child(2){opacity:.5}.form-dots i:nth-child(3){opacity:.22}.form-placeholder-icon{border-radius:14px;background:#e4f3e5;color:#247b5b;width:56px;height:56px;display:grid;place-items:center;font-size:31px;margin-bottom:18px}.form-placeholder h3{font-size:24px;margin-bottom:12px}.form-placeholder p{font-size:14px;line-height:1.8;color:#657873;margin-bottom:16px}.form-alert{font-size:12px;color:#78643f;background:#fff8e7;border:1px solid #eddfbb;border-radius:10px;padding:10px 13px;width:100%;margin-bottom:24px}.form-placeholder small{font-size:11px;margin-top:18px;color:#889894}.form-live{width:100%;height:100%}.form-live-header{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:800;letter-spacing:.12em;color:#247350;padding-bottom:20px}.form-live iframe{border:0;display:block;width:100%;min-height:420px}.form-small{color:#60736e;font-size:12px}.form-small a{text-decoration:underline;color:#156b4d}.privacy-reminder{color:#75847e;font-size:12px;line-height:1.8;margin:22px 0 0;max-width:980px}
.cta-strip{background:#98d4a7;padding:41px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-inner>div>span{font-weight:800;color:#2e6650;font-size:10px;letter-spacing:.14em}.cta-inner h2{font-size:clamp(22px,3vw,31px);margin:7px 0 0;color:#113b35;letter-spacing:-.045em}.button-white{background:#fff;color:#123f37;white-space:nowrap}.button-white:hover{background:#e5faeb}
.footer{background:#0b292b;color:#d7e7df;padding:69px 0 24px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:85px;padding-bottom:64px}.footer-brand>img{background:white;border-radius:11px;padding:9px;max-width:200px;width:190px;height:auto}.footer-brand p{font-size:13px;color:#adc3b9;margin:18px 0 0;max-width:300px}.footer h3{font:700 12px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.14em;color:white;margin:10px 0 24px}.footer-contact a{display:block;color:#c2d6ce;font-size:13px;margin:0 0 10px;overflow-wrap:anywhere}.footer-contact a:hover{color:#a2ecb5}.footer-institution img{width:84px;height:90px;object-fit:contain;background:white;border-radius:11px;padding:7px}.footer-institution small{display:block;color:#8ca69c;font-size:10px;line-height:1.65;max-width:235px;margin-top:12px}.footer-bottom{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #ffffff1d;padding-top:22px;color:#91ada2;font-size:10px;letter-spacing:.025em}.footer-bottom a{color:#cbdfd6}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#163b37;color:white;box-shadow:0 15px 40px #0002;padding:13px 20px;border-radius:12px;opacity:0;visibility:hidden;transition:.25s;z-index:80;font-size:13px}.toast.show{transform:translate(-50%,0);opacity:1;visibility:visible}.reveal{transition:opacity .75s ease,transform .75s ease;opacity:0;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.hero-grid{gap:35px}.hero h1{font-size:clamp(3.6rem,5.8vw,5rem)}.place-grid{gap:45px}.program-grid{gap:55px}.intro-grid{gap:45px}.nav{gap:18px}.nav>a{font-size:12px}}
@media(max-width:850px){.wrap{width:min(100% - 40px,680px)}.header-inner{min-height:78px}.brand{width:170px;height:59px}.brand img{max-height:55px}.mobile-toggle{display:block}.nav{position:absolute;right:20px;left:20px;top:calc(100% + 6px);border:1px solid #dee6dd;box-shadow:0 19px 35px #042e2d25;border-radius:16px;background:white;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;z-index:40}.nav.open{display:flex}.nav>a{padding:13px;font-size:14px}.nav .nav-action{text-align:center;margin-top:5px}.hero{padding-top:60px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-copy{padding:0}.hero-media{width:min(590px,92%);margin:auto;padding-bottom:33px}.city-frame{aspect-ratio:1.5}.hero-bottom{width:calc(100% - 40px);margin-top:38px}.intro-grid,.program-grid,.place-grid{grid-template-columns:1fr;gap:32px}.section{padding:80px 0}.program-timeline{padding-top:10px}.pillars{gap:10px}.pillar{padding:24px 19px}.registration-grid{grid-template-columns:1fr}.register-info{min-height:0}.register-info h3{margin-top:22px}.footer-top{gap:26px;grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:600px){body{font-size:15px}.wrap{width:calc(100% - 34px)}.hero{padding-top:45px}.eyebrow{font-size:11px;margin-bottom:24px}.hero-kicker{font-size:10px;letter-spacing:.13em}.hero h1{font-size:clamp(3rem,10.7vw,4.2rem)}.hero-lead{font-size:14px;line-height:1.8}.hero-facts{gap:13px;margin:22px 0 27px}.hero-facts>div{width:calc(50% - 7px)}.hero-facts>div:last-child{width:100%}.hero-actions{gap:10px}.hero-actions .button{width:100%}.hero-note{font-size:10px}.hero-media{width:calc(100% - 20px);margin:15px auto 0}.city-frame{aspect-ratio:1.15}.city-label{top:3%;left:-9px;padding:9px 13px}.city-label strong{font-size:14px}.countdown-card{right:-10px;bottom:2px;min-width:218px;padding:12px 16px}.countdown-numbers b{font-size:24px}.countdown-numbers>span{min-width:40px}.countdown-head{font-size:10px}.hero-bottom{width:calc(100% - 34px);margin-top:28px;font-size:9px}.section{padding:65px 0}.section-tag{margin-bottom:24px}.intro-grid{gap:21px;margin-bottom:32px}.intro h2,.program h2,.place h2{font-size:clamp(2.2rem,8vw,3rem)}.intro-text{font-size:14px}.pillars{grid-template-columns:1fr;gap:10px}.pillar{min-height:0;padding:22px;display:grid;grid-template-columns:58px 1fr;gap:0 10px;align-items:center}.pillar-number{grid-column:2;grid-row:1}.pillar-icon{grid-row:1/4;grid-column:1;margin:0;height:48px;width:48px}.pillar h3{grid-column:2;margin:5px 0}.pillar p{grid-column:2}.program-side p{font-size:13px}.timeline-item{grid-template-columns:65px 11px 1fr;gap:15px}.timeline-item:not(:nth-child(2)):after{left:85px}.timeline-time{font-size:17px}.timeline-detail h3{font-size:18px}.timeline-end{margin-left:93px}.place-art{height:275px}.place-large{font-size:190px}.location-spot{left:12%}.registration-heading{align-items:flex-start;flex-direction:column}.registration-heading h2{font-size:2.6rem}.registration-label{margin-top:7px}.register-info,.register-form{padding:26px}.form-placeholder h3{font-size:22px}.cta-inner{flex-direction:column;align-items:flex-start}.cta-inner .button{width:100%}.footer{padding-top:44px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px}.footer h3{margin-bottom:12px}.footer-institution img{width:73px;height:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}.toast{transition:none}}

[hidden]{display:none!important}

/* --- Custom additions for Firenze / SVIMAR assembly page --- */
.brand-cluster{display:flex;align-items:center;gap:14px}
.brand-secondary{display:grid;place-items:center;width:80px;height:80px;background:#fff;border:1px solid #d8e8de;border-radius:18px;box-shadow:0 10px 28px rgba(16,58,50,.08);padding:8px}
.brand-secondary img{width:100%;height:100%;object-fit:contain}
.hero h1{font-size:clamp(2.7rem,4.7vw,4.65rem);line-height:1.03;max-width:12ch}
.hero-logo-panel{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;background:rgba(255,255,255,.88);border:1px solid #deebdf;border-radius:18px;padding:14px 18px;box-shadow:0 16px 36px rgba(12,47,43,.08)}
.hero-logo-panel img:first-child{width:150px;height:auto;object-fit:contain}
.hero-logo-panel img:last-child{width:70px;height:70px;object-fit:contain}
.speakers{background:linear-gradient(180deg,#fff 0%,#f5faf6 100%)}
.speakers-header{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:34px}
.speakers-header h2{font-size:clamp(2.3rem,4vw,3.5rem);line-height:.98;letter-spacing:-.05em;margin:0;color:#102f2f}
.speakers-header h2 span{color:#1e7054}
.speakers-header p{margin:0;color:#4f635d;line-height:1.8;font-size:15px}
.speakers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.speaker-card{background:#fff;border:1px solid #dfebe2;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(8,43,39,.06);display:flex;flex-direction:column;min-height:280px}
.speaker-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#edf4ef}
.speaker-info{padding:18px 18px 20px}
.speaker-info h3{margin:0 0 6px;font-size:20px;line-height:1.15;color:#103532;letter-spacing:-.03em}
.speaker-info p{margin:0;color:#5c7069;font-size:14px;line-height:1.6}
.placeholder-card{justify-content:flex-start}
.speaker-avatar{display:grid;place-items:center;width:100%;aspect-ratio:1/1;background:linear-gradient(135deg,#d6efe0,#f2f7f1);font:800 48px/1 'DM Sans',sans-serif;letter-spacing:-.04em;color:#22664f}
.signatures{background:#fcfdfc}
.signatures-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.signature-box{background:#fff;border:1px solid #dfeadf;border-radius:26px;padding:28px 30px;box-shadow:0 15px 34px rgba(12,54,46,.05)}
.signature-box h2,.signature-box h3{margin:0 0 16px;color:#102f30;letter-spacing:-.04em}
.signature-list,.contact-list-large{list-style:none;padding:0;margin:0}
.signature-list li,.contact-list-large li{padding:14px 0;border-bottom:1px solid #edf3ee;color:#48605a}
.signature-list li:last-child,.contact-list-large li:last-child{border-bottom:0;padding-bottom:0}
.contact-list-large span{display:block;font:700 11px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#7b8e88;margin-bottom:6px}
.contact-list-large a{font-weight:700;color:#155b43;font-size:18px;overflow-wrap:anywhere}
.footer-logos{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-logos img:last-child{width:118px;height:auto}
@media(max-width:1100px){.speakers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.brand-cluster{gap:10px}.brand-secondary{width:64px;height:64px;border-radius:15px}.speakers-header,.signatures-grid{grid-template-columns:1fr}.speakers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.brand-cluster{max-width:calc(100% - 72px)}.brand-secondary{display:none}.hero h1{max-width:none}.hero-logo-panel{padding:12px 14px}.hero-logo-panel img:first-child{width:120px}.hero-logo-panel img:last-child{width:56px;height:56px}.speakers-grid{grid-template-columns:1fr}.speaker-card{min-height:0}.speaker-info h3{font-size:18px}.signature-box{padding:24px 22px}.contact-list-large a{font-size:16px}}

/* Top billing, displayed before the Assemblea label */
.event-organizers{display:flex;flex-direction:column;gap:7px;max-width:650px;padding:17px 19px;margin:0 0 14px;border-left:4px solid #248763;background:#edf7ef;border-radius:0 14px 14px 0}
.event-organizers-label{font-size:12px;font-weight:800;letter-spacing:.12em;color:#165b42}
.event-organizers-line{font-size:clamp(13px,1.35vw,16px);line-height:1.5;color:#365e50}
.event-organizers-line strong{font-weight:800;color:#114936}
.event-theme{font-size:12px;line-height:1.7;letter-spacing:.075em;text-transform:uppercase;font-weight:800;color:#225f4b;margin:0 0 17px;max-width:650px}
.event-theme span{color:#a9c5b3;padding:0 3px}
.hero-copy>.eyebrow{margin-bottom:16px}
@media(max-width:600px){.event-organizers{padding:13px 14px}.event-theme{font-size:11px;letter-spacing:.035em}}

.registration-compact {min-height:390px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:17px}
.registration-compact h3,.registration-compact p {margin:0}
.registration-compact .register-open {cursor:pointer;border:0;font:inherit;font-weight:700}
.registration-dialog {position:fixed;margin:auto;border:0;border-radius:22px;padding:0;width:min(720px,calc(100vw - 28px));height:min(820px,calc(100dvh - 28px));max-width:none;max-height:none;background:#fff;color:#193132;box-shadow:0 26px 90px #0b252c66;overflow:hidden}
.registration-dialog::backdrop {background:rgba(4,21,27,.75);backdrop-filter:blur(5px)}
.registration-dialog[open] {display:flex;flex-direction:column}
.registration-dialog-header {padding:22px 25px 17px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e8efee}
.registration-dialog-header h2 {font-size:clamp(21px,3vw,30px);margin:6px 0 0;line-height:1.15}
.registration-dialog-eyebrow {font-size:10px;letter-spacing:.15em;font-weight:800;color:#217758}
.registration-dialog-close {background:#f1f5f4;border:0;border-radius:50%;width:39px;height:39px;flex-shrink:0;font-size:29px;line-height:1;cursor:pointer;color:#20403c}
.registration-dialog-close:hover {background:#dceae7}
.registration-dialog-body {flex:1;min-height:0;padding:8px 12px 0;overflow:hidden}
.registration-dialog-body iframe {width:100%;height:100%;border:0;display:block}
.registration-dialog-footer {text-align:center;padding:12px;font-size:12px;border-top:1px solid #e8efee;color:#50635f}
.registration-dialog-footer a {color:#136b51;text-decoration:underline;font-weight:700}
@media(max-width:600px) {.registration-dialog{height:calc(100dvh - 12px);width:calc(100vw - 12px);border-radius:14px}.registration-dialog-header{padding:16px}.registration-dialog-body{padding:2px 0 0}}

/* ==== Assembly 2026: circular portraits and participant gallery ==== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.person-group{margin-top:40px}
.person-group+.person-group{margin-top:50px}
.person-group-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 0 17px;margin-bottom:23px;border-bottom:1px solid #dce9df}
.group-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#3c8065;text-transform:uppercase}
.person-group-header h3{font-size:25px;letter-spacing:-.045em;line-height:1.15;margin:7px 0 0;color:#153a32}
.group-count{font-size:12px;color:#7a9185;white-space:nowrap}
.speakers-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.speaker-card,.participant-card{overflow:visible;display:flex;align-items:center;flex-direction:column;text-align:center;border:1px solid #e0ebe4;background:#fff;border-radius:22px;padding:25px 12px 24px;box-shadow:0 12px 36px rgba(15,55,46,.045);height:100%;min-height:0;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.speaker-card:hover,.participant-card:hover{transform:translateY(-4px);border-color:#afcfb9;box-shadow:0 18px 36px rgba(12,55,42,.12)}
.portrait-ring{display:grid;place-items:center;overflow:hidden;width:168px;height:168px;max-width:95%;flex:0 0 auto;aspect-ratio:1/1;border-radius:50%;padding:5px;background:conic-gradient(from -20deg,#1b875b 0deg 118deg,#e9f3e7 118deg 242deg,#bb5750 242deg 360deg);box-shadow:0 10px 26px rgba(17,68,49,.12)}
.portrait-ring img,.portrait-ring .portrait-placeholder{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:50%;border:2px solid #fff;background:#eaf4ec}
.portrait-placeholder{display:grid!important;place-items:center;color:#31715c;font:800 44px/1 Manrope,sans-serif;letter-spacing:-.06em}
.speaker-info,.participant-info{padding:18px 4px 0;width:100%;max-width:100%;margin:0}
.speaker-info h3,.participant-info h3{font-size:18px;font-weight:800;color:#123e35;line-height:1.25;letter-spacing:-.033em;margin:0 0 8px;overflow-wrap:break-word}
.speaker-info p,.participant-info p{font-size:13px;color:#63786e;line-height:1.5;margin:0;max-width:none}
.speakers-fineprint{font-size:13px;color:#6f8379;line-height:1.7;margin:25px 0 0}
.invited-strip{background:#eaf5ed;border-top:1px solid #dbeadc;border-bottom:1px solid #dbeadc;padding:28px 0}
.invited-inner{display:flex;align-items:flex-start;gap:24px;background:#fff;border:1px solid #dce9df;border-left:4px solid #3f8e6c;border-radius:18px;padding:27px 30px;box-shadow:0 14px 28px rgba(19,69,48,.045)}
.invited-icon{display:grid;place-items:center;border-radius:50%;background:#e8f7ed;color:#267956;min-width:50px;height:50px;font-size:27px}
.invited-eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:#2d7756}
.invited-copy h2{font-size:25px;margin:5px 0 9px;letter-spacing:-.035em;color:#123e31}
.invited-copy p{margin:0 0 8px;color:#324e41;line-height:1.65;font-size:15px}
.invited-copy small{display:block;font-size:12px;color:#6f7e74}
.participants{background:#f6faf7}
.participants-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}
.participants-heading h2{font-size:clamp(2.25rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.05em;color:#143a32;margin:0}
.participants-heading h2 span{color:#257251}
.participants-heading p{max-width:600px;font-size:15px;color:#526e61;line-height:1.7;margin:16px 0 0}
.participants-counter{min-width:130px;background:#e5f2e8;border:1px solid #cfe6d6;border-radius:18px;padding:18px 20px;text-align:center}
.participants-counter strong{display:block;color:#196b4c;font:800 32px/1 Manrope,sans-serif}
.participants-counter small{font-size:11px;color:#5c8672}
.participants-controls{display:flex;justify-content:space-between;align-items:center;gap:13px;flex-wrap:wrap;margin:23px 0 5px}
.participant-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.participant-filter{cursor:pointer;border:1px solid #d6e5da;border-radius:100px;background:white;padding:10px 14px;color:#375e4b;font:700 12px 'DM Sans',sans-serif;transition:.2s}
.participant-filter span{color:inherit;opacity:.72;margin-left:4px;font-weight:700}
.participant-filter:hover{border-color:#76a987;background:#f0f7f1}
.participant-filter.is-active{background:#17694d;border-color:#17694d;color:white}
.participant-search-label{flex:0 1 310px}
#participantSearch{min-width:220px;width:100%;padding:11px 13px;background:white;color:#254c3b;border:1px solid #d4e4d8;border-radius:12px;font:13px 'DM Sans',sans-serif;outline-offset:2px}
#participantSearch:focus{outline:2px solid #3b9a70}
.participants-status{font-size:12px;color:#7b8e82;margin:8px 0 17px}
.participants-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
.participant-card{padding:20px 10px 21px}
.participant-card .portrait-ring{width:138px;height:138px;max-width:100%}
.participant-info{padding-top:16px}
.participant-info h3{font-size:16px}
.participant-info p{font-size:12px}
.participant-card[hidden]{display:none!important}
.participants-empty{border:1px dashed #bbd1c0;background:#fff;border-radius:16px;text-align:center;color:#607e6e;padding:22px}
@media(max-width:1150px){.participants-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.header-inner{gap:12px}.nav{gap:12px}.nav>a{font-size:11px}}
@media(max-width:1050px){.mobile-toggle{display:block}.nav{position:absolute;right:20px;left:20px;top:calc(100% + 6px);border:1px solid #dee6dd;box-shadow:0 19px 35px #042e2d25;border-radius:16px;background:white;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;z-index:40}.nav.open{display:flex}.nav>a{padding:13px;font-size:14px}.nav .nav-action{text-align:center;margin-top:5px}}
@media(max-width:900px){.speakers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.participants-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.participants-heading{align-items:start}.participants-counter{min-width:100px}}
@media(max-width:650px){.speakers-grid,.participants-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.speakers-header{gap:18px}.speaker-card,.participant-card{padding:17px 8px 18px;border-radius:18px}.speaker-card .portrait-ring,.participant-card .portrait-ring{width:128px;height:128px;padding:4px}.speaker-info,.participant-info{padding:13px 1px 0}.speaker-info h3,.participant-info h3{font-size:15px}.speaker-info p,.participant-info p{font-size:12px}.participants-heading{align-items:stretch;flex-direction:column}.participants-counter{align-self:flex-start;padding:13px 18px}.participant-filters{flex-wrap:wrap}.participant-search-label{flex:1 1 100%;width:100%}.person-group-header h3{font-size:21px}.invited-inner{padding:21px 17px;gap:14px}.invited-icon{min-width:40px;height:40px;font-size:21px}.invited-copy h2{font-size:21px}.invited-copy p{font-size:14px}}
@media(max-width:375px){.speakers-grid,.participants-grid{gap:9px}.speaker-card .portrait-ring,.participant-card .portrait-ring{width:110px;height:110px}.speaker-info h3,.participant-info h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){.speaker-card,.participant-card,.participant-filter{transition:none}}

/* Hero refinements: readable subtitle and non-overlapping logos/countdown */
.hero h1{font-size:clamp(2.7rem,4.75vw,4.4rem);line-height:1.03;max-width:none;letter-spacing:-.066em}
.hero-title-primary{display:block;color:#fff;max-width:13ch}
.hero-title-secondary{display:block;margin-top:13px;color:#b2edbd;max-width:25ch;font-size:.59em;line-height:1.2;letter-spacing:-.025em}
.event-theme{color:#b4e6c0}
.event-theme span{color:#d0e4d3}
.hero-media{display:flex;flex-direction:column;align-items:stretch;padding-bottom:0!important}
.countdown-card{position:relative!important;right:auto!important;bottom:auto!important;align-self:flex-end;margin:-35px 0 12px 0;z-index:4;width:auto;min-width:255px;max-width:92%;}
.hero-logo-panel{margin-top:10px;position:relative;z-index:2;width:100%;background:#fff}
@media(max-width:1050px){.hero h1{font-size:clamp(2.65rem,5.5vw,4rem)}}
@media(max-width:600px){.hero h1{font-size:clamp(2.05rem,9.2vw,2.9rem)!important;line-height:1.08;letter-spacing:-.058em}.hero-title-primary{max-width:none}.hero-title-secondary{font-size:.65em;max-width:none;line-height:1.26;margin-top:13px}.countdown-card{min-width:220px;max-width:100%;margin-top:-26px}.hero-logo-panel{margin-top:9px}}

/* Hotel convenzionato SVIMAR | Hotel Delta Florence */
.hero-hotel-link{display:inline-flex;align-items:center;gap:6px;margin:17px 0 0;color:#b0ebbd;font:700 12px/1.5 'DM Sans',sans-serif;letter-spacing:.015em;text-decoration:none;border-bottom:1px solid rgba(176,235,189,.43);transition:color .2s}
.hero-hotel-link:hover{color:#fff}
.hotel-section{background:linear-gradient(180deg,#edf7f0 0%,#f7faf7 40%,#ffffff 100%);overflow:hidden}
.hotel-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:37px}
.hotel-heading>div:first-child{max-width:780px}
.hotel-eyebrow{display:block;font:800 11px/1.5 'DM Sans',sans-serif;letter-spacing:.13em;color:#287958;margin-bottom:13px}
.hotel-heading h2{font-size:clamp(2.4rem,4.4vw,4rem);line-height:1.06;letter-spacing:-.06em;color:#123b30;margin:0 0 18px}
.hotel-heading h2 span{color:#267754}
.hotel-heading p{margin:0;color:#557265;line-height:1.8;font-size:15px;max-width:720px}
.hotel-title-mark{text-align:center;background:white;border:1px solid #d8e8da;border-radius:18px;padding:17px 22px;box-shadow:0 11px 27px rgba(17,77,49,.045);flex:0 0 auto}
.hotel-title-mark span{display:block;font-size:17px;letter-spacing:.18em;color:#dbaa4d;margin-bottom:9px}
.hotel-title-mark small{font:800 10px/1.5 'DM Sans',sans-serif;color:#267754;letter-spacing:.1em}
.hotel-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#fff;border:1px solid #d5e7d9;border-radius:30px;overflow:hidden;box-shadow:0 25px 70px rgba(19,76,50,.085)}
.hotel-feature-media{background:#164b3b;display:flex;flex-direction:column;position:relative;min-width:0}
.hotel-photo-illustration{position:relative;flex:1;min-height:390px;overflow:hidden;background:#d8e6d9}
.hotel-photo-illustration svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hotel-photo-overlay{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;display:flex;flex-direction:column;gap:7px;background:rgba(11,45,34,.9);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:19px 21px;box-shadow:0 12px 26px rgba(10,28,22,.16)}
.hotel-photo-overlay span{font:800 10px/1.4 'DM Sans',sans-serif;letter-spacing:.15em;color:#9ee0b9}
.hotel-photo-overlay strong{font:800 clamp(19px,2vw,24px)/1.25 Manrope,sans-serif;letter-spacing:-.04em;color:#fff}
.hotel-room-photo-wrap{height:170px;background:#9cb6a8;position:relative;overflow:hidden;border-top:4px solid white}
.hotel-room-photo-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%;background:#bed2c7}
.hotel-room-photo-wrap span{position:absolute;bottom:10px;right:12px;background:rgba(255,255,255,.94);border-radius:100px;padding:6px 9px;font-size:10px;color:#2b5844;box-shadow:0 5px 16px #173b2f33}
.hotel-feature-body{padding:clamp(24px,3.4vw,47px);min-width:0}
.hotel-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.hotel-badges span{display:inline-block;background:#e9f6ed;color:#267451;padding:7px 10px;border-radius:100px;font:800 10px/1.3 'DM Sans',sans-serif;letter-spacing:.055em}
.hotel-badges span+span{background:#fff3dc;color:#8b621b}
.hotel-feature-body h3{font:800 clamp(28px,3.2vw,41px)/1.12 Manrope,sans-serif;color:#153d31;margin:0 0 9px;letter-spacing:-.05em}
.hotel-place-line{margin:0 0 24px;color:#668071;font-size:14px;line-height:1.6}
.hotel-price-box{background:linear-gradient(125deg,#0b4736 0%,#126e4b 100%);color:#fff;padding:24px 25px;border-radius:20px;box-shadow:0 12px 28px rgba(18,90,58,.12)}
.hotel-price-top{font:800 10px/1.5 'DM Sans',sans-serif;letter-spacing:.135em;color:#c2e8cf}
.hotel-price-main{display:flex;align-items:center;gap:18px;margin:10px 0 6px}
.hotel-price-main strong{font:800 clamp(53px,6vw,80px)/1 Manrope,sans-serif;letter-spacing:-.078em;color:#f2fff5;white-space:nowrap}
.hotel-price-main span{color:#e4f7e9;font:700 clamp(14px,1.6vw,19px)/1.3 Manrope,sans-serif}
.hotel-price-box p{margin:12px 0 0;font-size:12px;line-height:1.65;color:#d3e9db}
.hotel-amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 10px;margin:24px 0 25px}
.hotel-amenities span{font:700 12px/1.4 'DM Sans',sans-serif;color:#426553}
.hotel-actions{display:flex;gap:10px;flex-wrap:wrap}
.hotel-actions .button{flex:1 1 170px;justify-content:center;font-size:13px;text-align:center}
.hotel-map-button{background:#eef6ee;color:#215e43;border:1px solid #d5e7d7}
.hotel-map-button:hover{background:#e0f1e5}
.hotel-bottom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.hotel-detail-card{background:rgba(255,255,255,.95);border:1px solid #dfece3;display:flex;gap:15px;align-items:flex-start;padding:21px 20px;border-radius:18px;box-shadow:0 10px 26px rgba(15,70,42,.035)}
.hotel-detail-icon{flex:0 0 41px;height:41px;border-radius:12px;background:#e5f4e9;color:#1b7852;display:grid;place-items:center;font:800 22px Manrope,sans-serif}
.hotel-detail-card h3{font:800 16px/1.32 Manrope,sans-serif;margin:0 0 7px;color:#1b4835;letter-spacing:-.035em}
.hotel-detail-card p{font-size:12px;color:#597066;line-height:1.75;margin:0;overflow-wrap:anywhere}
.hotel-detail-card a{color:#1c7053;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.hotel-note-card{background:#eff7f0}
@media(max-width:1050px){.hotel-bottom-grid{grid-template-columns:1fr 1fr}.hotel-note-card{grid-column:1/-1}}
@media(max-width:810px){.hotel-heading{align-items:start}.hotel-title-mark{display:none}.hotel-feature{grid-template-columns:1fr}.hotel-feature-media{display:grid;grid-template-columns:1fr 1fr;min-height:280px}.hotel-photo-illustration{min-height:320px}.hotel-room-photo-wrap{height:auto;border-top:0;border-left:4px solid white}.hotel-photo-overlay{left:15px;right:15px;bottom:17px;padding:12px}.hotel-photo-overlay strong{font-size:18px}.hotel-price-main strong{font-size:70px}}
@media(max-width:600px){.hotel-heading{margin-bottom:25px}.hotel-heading h2{font-size:clamp(2.05rem,9vw,3rem)}.hotel-heading p{font-size:14px}.hotel-feature{border-radius:22px}.hotel-feature-media{grid-template-columns:1fr;min-height:0}.hotel-photo-illustration{min-height:260px}.hotel-room-photo-wrap{height:145px;border-top:4px solid #fff;border-left:0}.hotel-photo-overlay strong{font-size:19px}.hotel-feature-body{padding:25px 19px 28px}.hotel-feature-body h3{font-size:30px}.hotel-place-line{font-size:13px}.hotel-price-box{padding:20px 18px}.hotel-price-main{gap:11px}.hotel-price-main strong{font-size:58px}.hotel-price-main span{font-size:14px}.hotel-amenities{gap:9px 7px}.hotel-amenities span{font-size:11px}.hotel-actions{flex-direction:column}.hotel-actions .button{flex:initial;width:100%}.hotel-bottom-grid{grid-template-columns:1fr}.hotel-note-card{grid-column:auto}.hero-hotel-link{font-size:11px}}

.hotel-room-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:25px 28px;background:linear-gradient(115deg,#1f6951,#163a31 68%,#0d4938);color:#fff}
.hotel-room-fallback:after{content:"";position:absolute;width:230px;height:230px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-55px;top:-100px;box-shadow:0 0 0 38px rgba(255,255,255,.055),0 0 0 80px rgba(255,255,255,.035)}
.hotel-room-fallback-location{color:#bedfcc;font-size:10px;letter-spacing:.16em;font-weight:800;position:relative;z-index:1}
.hotel-room-fallback strong{font:800 22px/1.22 Manrope,sans-serif;letter-spacing:-.04em;position:relative;z-index:1}
.hotel-room-fallback-tag{font-size:10px;color:#c3e7d0;position:relative;z-index:1}
.hotel-room-photo-wrap img{position:absolute;inset:0;z-index:1}
.hotel-room-photo-wrap span{z-index:2}
@media(max-width:810px){.hotel-room-fallback{padding:16px}.hotel-room-fallback strong{font-size:18px}}
@media(max-width:600px){.hotel-room-fallback{padding:21px}.hotel-room-fallback strong{font-size:22px}}
.hotel-room-photo.is-unavailable{display:none}

/* Elemento grafico distintivo tricolore, separato dalla fotografia originale.
   Utilizzato solo nelle schede di sindaci senza fascia visibile nello scatto. */
.tricolor-marked .portrait-ring{position:relative;isolation:isolate}
.tricolor-marked .portrait-ring::after{content:"";position:absolute;z-index:3;left:-20%;bottom:12%;width:143%;height:14px;transform:rotate(-27deg);background:linear-gradient(to bottom,#15944b 0 33.3%,#fff 33.3% 66.6%,#d93936 66.6% 100%);box-shadow:0 2px 6px rgba(0,0,0,.16);pointer-events:none;opacity:.95}

/* Fotografia fornita dagli organizzatori: sala dell'assemblea */
.place-photo{margin:0;overflow:hidden;border-radius:24px;background:#f1f0eb;box-shadow:0 24px 55px rgba(16,48,43,.14);border:1px solid #e3e7df}
.place-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;background:#eae8e2}
.place-photo figcaption{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:center;padding:16px 19px;background:#123d3a;color:#fff;font-size:13px}
.place-photo figcaption span{color:#d7e8de;font-size:12px}
@media(max-width:850px){.place-photo{max-width:550px;margin:auto}}

/* Sala dell'assemblea sotto la fotografia di Firenze, nella copertina */
.hero-room-photo{margin:20px 0 0;position:relative;z-index:1;border-radius:22px;overflow:hidden;background:#eae8e2;border:1px solid rgba(225,242,230,.24);box-shadow:0 16px 44px rgba(0,0,0,.22)}
.hero-room-photo img{display:block;width:100%;height:auto;object-fit:contain}
.hero-room-photo figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px 12px;padding:12px 18px;background:#143c39;color:#fff;font-size:13px;font-weight:700}
.hero-room-photo figcaption span{color:#d2e8da;font-size:11px;font-weight:500}
@media(max-width:600px){.hero-room-photo{margin-top:16px;border-radius:16px}.hero-room-photo figcaption{padding:11px 13px}}

/* Consiglio nazionale: responsive organizational diagram */
.organization{background:#f5f7f4;color:#173934;padding-top:92px;padding-bottom:90px}
.organization-wrap{max-width:1110px;margin:0 auto}
.organization-header{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:42px}
.organization-header h2{font-size:clamp(32px,4.4vw,62px);line-height:1.1;letter-spacing:-.045em;margin:0;color:#0f3732}
.organization-header h2 span{color:#628c74}
.organization-header p{max-width:325px;color:#607571;font-size:16px;line-height:1.7;margin:0}
.org-chart{max-width:820px;margin:0 auto}
.org-root{max-width:640px;margin:auto;text-align:center;color:#fff;background:linear-gradient(125deg,#0a4b3e,#08765d);padding:28px;border-radius:20px;box-shadow:0 20px 44px rgba(7,65,57,.14);border-bottom:5px solid #d9ad53}
.org-root-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:#c1ebd8}
.org-root h3{font-size:clamp(25px,4vw,38px);line-height:1.18;letter-spacing:-.035em;margin:12px 0 9px;font-weight:800}
.org-root>span{font-size:12px;letter-spacing:.3em;font-weight:700}
.org-line{height:32px;width:3px;background:#b5c7bb;margin:auto;position:relative}
.org-line:after{content:'▼';position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);font-size:15px;color:#7ca28e}
.org-departments{display:grid;gap:14px;margin-top:10px}
.org-dept{--c:#2a6698;display:flex;align-items:center;gap:24px;background:#fff;border:1px solid #e2e9e5;border-left:7px solid var(--c);border-radius:15px;padding:19px 24px;box-shadow:0 8px 28px rgba(10,42,35,.055);position:relative}
.org-dept:not(:last-child):after{content:'↓';position:absolute;color:#a1afa9;left:50%;bottom:-19px;font-size:17px;z-index:2}
.org-symbol{display:flex;justify-content:center;align-items:center;flex:none;width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--c) 13%,white);color:var(--c);font-size:33px;font-weight:800}
.org-dept .org-index{font-size:11px;letter-spacing:.14em;color:var(--c);font-weight:800}
.org-dept h3{font-size:clamp(17px,2.1vw,23px);line-height:1.28;margin:4px 0 0;font-weight:800;color:#17342e}
.org-green{--c:#288656}.org-amber{--c:#ca9138}.org-red{--c:#bd5156}.org-sky{--c:#3196b0}.org-violet{--c:#8061a4}
.org-note{text-align:center;color:#74827d;font-size:12px;margin-top:24px}
.monogram-portrait{background:linear-gradient(150deg,#d5e9e0,#7bad96);display:flex;justify-content:center;align-items:center;}
.monogram-portrait span{font-family:Manrope,sans-serif;font-size:clamp(32px,4vw,58px);font-weight:800;color:#0e493d}
@media(max-width:700px){.organization{padding-top:65px;padding-bottom:65px}.organization-header{display:block}.organization-header p{margin-top:18px}.org-root{padding:24px 14px}.org-dept{gap:13px;padding:14px 13px}.org-symbol{height:44px;width:44px;font-size:26px}.org-dept h3{font-size:16px}}

/* SVIMAR | Sezioni istituzionali e menu permanente */
.svimar-about{background:#f9faf6;color:#193d37}.svimar-about-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start;margin-bottom:44px}.svimar-about-intro h2,.svimar-history-lead h2,.svimar-networks-header h2{font:800 clamp(2.2rem,4.6vw,3.8rem)/1.12 Manrope, sans-serif;letter-spacing:-.055em;margin:14px 0 0}.svimar-about-intro h2 span,.svimar-history-lead h2 span,.svimar-networks-header h2 span{color:#388261}.svimar-about-intro p{font-size:15px;line-height:1.85;color:#567068;margin:0 0 15px}.svimar-about-intro strong{color:#143e36}.svimar-overline{font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#3d8164}
.svimar-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.svimar-feature{background:white;border:1px solid #dbe7db;border-radius:18px;padding:29px 28px}.svimar-feature-icon{font-size:12px;font-weight:900;letter-spacing:.15em;color:#4a9371}.svimar-feature h3{font-size:19px;margin:23px 0 11px;color:#163c35}.svimar-feature p{color:#61746b;font-size:13px;line-height:1.75;margin:0}
.svimar-history-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;margin-top:96px}.svimar-history-lead p{color:#687c70;font-size:14px;line-height:1.9;max-width:380px;margin-top:20px}.svimar-activity-list{border-top:1px solid #cbdccf}.svimar-activity{border-bottom:1px solid #cbdccf;padding:24px 0}.svimar-activity-kicker{color:#4f936c;letter-spacing:.15em;font-size:10px;font-weight:800}.svimar-activity h3{font-size:21px;margin:8px 0;color:#173b36}.svimar-activity p{font-size:13px;line-height:1.8;color:#62776d;margin:0}
.svimar-networks{background:#eaf2eb;color:#193a33}.svimar-networks-header{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:36px}.svimar-networks-header h2{margin:0;flex:1}.svimar-networks-header p{flex:1;max-width:490px;color:#536f60;font-size:14px;line-height:1.9;margin:0}.svimar-network-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.svimar-network-panel{background:white;border:1px solid #d4e2d3;border-radius:19px;padding:32px}.svimar-network-panel h3{font-size:19px;color:#174638;margin:0 0 19px}.svimar-network-panel ul{padding-left:19px;margin:0;display:grid;gap:11px}.svimar-network-panel li{font-size:13px;line-height:1.65;color:#516c5d}.svimar-network-panel li::marker{color:#258a60}.svimar-recognition{margin-top:22px;border-radius:18px;padding:29px 31px;background:#123e39;color:white;display:flex;align-items:center;gap:30px;justify-content:space-between}.svimar-recognition .svimar-overline{color:#9bc6a9}.svimar-recognition h3{font-size:24px;color:#fff;margin:7px 0 10px}.svimar-recognition p{font-size:13px;line-height:1.85;color:#d0e2d5;margin:0;max-width:740px}.svimar-document-link{color:#153e2f;background:#e6f7e8;border-radius:12px;padding:13px 17px;font-size:12px;line-height:1.4;font-weight:800;white-space:nowrap}.svimar-document-link:hover{background:white}.svimar-source-note{font-size:11px;line-height:1.7;color:#648070;margin:22px 0 0}
.svimar-footer-brand-row{display:flex;align-items:center;gap:24px;border-bottom:1px solid #ffffff24;padding-bottom:28px}.svimar-footer-identity{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:11px;max-width:210px}.svimar-footer-identity img{width:190px;max-height:77px;object-fit:contain}.svimar-footer-brand-row strong{color:#fff;font-size:22px}.svimar-footer-brand-row p{font-size:13px;color:#afcabf;line-height:1.65;margin:6px 0 0}.svimar-footer-nav{display:grid;grid-template-columns:1fr 1.1fr 1fr 1.3fr;gap:35px;padding:45px 0 55px}.svimar-footer-nav>div{min-width:0}.svimar-footer-nav h3{font-size:12px;line-height:1.5;margin:0 0 18px;color:#fff}.svimar-footer-nav a{display:block;margin:0 0 12px;font-size:13px;line-height:1.45;color:#bfd8c9;overflow-wrap:anywhere}.svimar-footer-nav a:hover{color:#fff;text-decoration:underline}.svimar-footer-address,.svimar-footer-note{font-size:11px;line-height:1.7;color:#99b8ac}.svimar-footer-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.svimar-footer-logo-grid img{width:100%;height:68px;object-fit:contain;background:white;padding:7px;border-radius:9px}.svimar-footer-note{margin-top:14px}
.participants-grid .participant-card .monogram-portrait{background:linear-gradient(135deg,#eaf4ed,#d7e8df);display:flex;align-items:center;justify-content:center;color:#176145;font-size:40px;font-weight:800;letter-spacing:-.05em}
@media(max-width:1050px){.svimar-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}}
@media(max-width:800px){.svimar-about-intro,.svimar-history-grid{grid-template-columns:1fr;gap:18px}.svimar-feature-grid{grid-template-columns:1fr}.svimar-history-grid{margin-top:66px}.svimar-networks-header{display:block}.svimar-networks-header p{margin-top:22px}.svimar-network-cols{grid-template-columns:1fr}.svimar-recognition{flex-direction:column;align-items:start}}
@media(max-width:600px){.svimar-about-intro h2,.svimar-history-lead h2,.svimar-networks-header h2{font-size:2.35rem}.svimar-footer-brand-row{flex-direction:column;align-items:start}.svimar-footer-nav{grid-template-columns:1fr 1fr;gap:28px 18px}.svimar-footer-nav h3{font-size:11px}.svimar-footer-nav a{font-size:12px}.svimar-network-panel{padding:23px}.svimar-recognition{padding:22px}.svimar-document-link{white-space:normal}.svimar-footer-logo-grid{grid-template-columns:1fr 1fr}.svimar-footer-logo-grid img{height:64px}}
@media(max-width:380px){.svimar-footer-nav{grid-template-columns:1fr}.svimar-footer-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
