/* Base theme */
:root { --color-primary:#650B7C; --color-text:#1A0A1E; --color-bg:#FDFDFD; --max-w:1000px; }
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:'Geist',-apple-system,system-ui,Segoe UI,Inter,Roboto}

/* Typography hierarchy - h1 stays as is, cascade from h2 */
h1{font-size:clamp(2em,2.8em,3.2em);line-height:1.2;margin:0 0 0.5em 0;font-weight:700}
h2{font-size:clamp(1.5em,2em,2.4em);line-height:1.3;margin:0 0 0.6em 0;font-weight:700}
h3{font-size:clamp(1.25em,1.5em,1.75em);line-height:1.3;margin:0 0 0.5em 0;font-weight:600}
h4{font-size:clamp(1.1em,1.25em,1.4em);line-height:1.4;margin:0 0 0.4em 0;font-weight:600}
h5{font-size:clamp(1em,1.1em,1.2em);line-height:1.4;margin:0 0 0.4em 0;font-weight:600}
h6{font-size:clamp(0.9em,1em,1.1em);line-height:1.4;margin:0 0 0.4em 0;font-weight:600}
p{font-size:1.1em;line-height:1.5;margin:0 0 1em 0}
li,span{font-size:1.1em;line-height:1.5}

a{color:inherit;text-decoration:none;transition:opacity .2s}
a:hover{opacity:.8}
.container{max-width:var(--max-w);margin:0 auto;padding:24px}
.nav{position:sticky;top:0;background:rgba(253,253,253,.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #eee;z-index:10}
.nav-container{max-width:var(--max-w);margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo{font-size:24px;font-weight:800;color:#650B7C;text-decoration:none;white-space:nowrap}
.nav-menu{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nav-menu a{color:var(--color-text);text-decoration:none;font-size:1em;white-space:nowrap;transition:opacity .2s}
.nav-menu a:hover{opacity:.8}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:#650B7C;border:none;cursor:pointer;padding:8px;z-index:1003;border-radius:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;transition:all .3s;border-radius:2px}
.nav-toggle-active span:nth-child(1){transform:rotate(45deg) translate(6px,6px);background:#fff}
.nav-toggle-active span:nth-child(2){opacity:0;background:#fff}
.nav-toggle-active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px);background:#fff}
.btn{background:var(--color-primary);color:#fff!important;padding:12px 18px;border-radius:8px;display:inline-block}
.nav-menu .btn{background:var(--color-primary)!important;color:#fff!important}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{border:1px solid #eee;border-radius:10px;background:#fff;padding:16px}
.cta-sticky{position:fixed;bottom:16px;right:16px;background:var(--color-primary);color:#fff;padding:12px 16px;border-radius:999px;box-shadow:0 6px 24px rgba(0,0,0,.12)}
@media(min-width:768px){.cta-sticky{display:none}}

/* From index inline CSS (without @import) */
/* General */
body{background:#FDFDFD;color:#1A0A1E}
.container{width:90%;max-width:1200px;margin:0 auto;text-align:center}
.post-main{max-width:var(--max-w)!important;text-align:left}
.blog-main{max-width:var(--max-w)!important;text-align:left}

/* Post Layout with Sidebar */
.post-wrapper{max-width:var(--max-w);margin:0 auto;padding:24px;display:flex;gap:32px;align-items:flex-start}
.post-content{flex:1;min-width:0;text-align:left}
.post-sidebar{width:320px;flex-shrink:0;display:none;align-self:flex-start;display:flex;flex-direction:column;min-height:100vh}
.sidebar-spacer{flex:1;min-height:0}
.sidebar-widget{background:#fff;border:1px solid #eee;border-radius:10px;padding:20px;margin-bottom:24px;position:relative}
.sidebar-widget h3{font-size:1.2em;margin:0 0 16px 0;color:var(--color-primary);font-weight:700}
.sidebar-cta{background:linear-gradient(135deg,#650B7C,#8C2DBA)!important;background-color:#650B7C!important;color:#fff!important;border:none!important;position:sticky;top:80px;opacity:1!important;flex-shrink:0;z-index:10!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important}
.sidebar-cta *{opacity:1!important}
.sidebar-cta h3{color:#fff!important;margin-bottom:12px;opacity:1!important}
.sidebar-cta a{opacity:1!important}
.sidebar-cta .btn{background:#fff!important;color:#650B7C!important;width:100%;text-align:center;font-weight:700;opacity:1!important;border:none!important}
.sidebar-cta .btn:hover{opacity:1!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2);color:#650B7C!important;background:#fff!important}
.sidebar-cta a.btn{color:#650B7C!important;opacity:1!important}
.sidebar-cta a.btn:hover{color:#650B7C!important;opacity:1!important}
.btn-full{display:block;width:100%}
.sidebar-posts{list-style:none;padding:0;margin:0}
.sidebar-posts li{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #eee}
.sidebar-posts li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.sidebar-posts a{color:var(--color-text);text-decoration:none;font-size:0.95em;line-height:1.4;display:block;transition:color .2s}
.sidebar-posts a:hover{color:var(--color-primary)}
.sidebar-bio{text-align:center}
.sidebar-bio img{border-radius:50%;margin:0 auto 12px;display:block}
.sidebar-bio h3{font-size:1.1em;margin-bottom:8px}
.sidebar-bio p{font-size:0.9em;line-height:1.5;margin-bottom:12px;color:#666}
.sidebar-link{color:var(--color-primary);text-decoration:none;font-size:0.9em;font-weight:600}
.sidebar-link:hover{text-decoration:underline}
.sidebar-faq .accordion details{background:#F5F5F5;border:1px solid #e0e0e0;border-radius:5px;margin-bottom:8px;padding:12px}
.sidebar-faq .accordion details[open]{background:#fff}
.sidebar-faq .accordion summary{font-size:0.9em;line-height:1.4;font-weight:600;cursor:pointer;outline:none;list-style:none;position:relative;padding-left:20px}
.sidebar-faq .accordion summary::-webkit-details-marker{display:none}
.sidebar-faq .accordion p{margin:8px 0 0;padding-left:20px;font-size:0.85em;line-height:1.5;text-align:left;color:#666}
.sidebar-faq .accordion summary:before{content:"+";position:absolute;left:0;top:0;color:#650B7C;font-weight:700;font-size:1.1em}
.sidebar-faq .accordion details[open] summary:before{content:"-"}
@media(min-width:1024px){.post-sidebar{display:block}}

/* Hero */
.hero{background:linear-gradient(135deg,#650B7C,#8C2DBA);color:#FDFDFD;padding:100px 20px}
.hero h1{font-size:2.8em;line-height:1.2;margin-bottom:20px;color:#fff}
.hero h2{font-size:2em;line-height:1.3;margin-bottom:16px;color:#fff}
.hero p{font-size:1.1em;line-height:1.5;margin-bottom:30px}
.btn-primary{background:#650B7C;padding:12px 25px;color:#FDFDFD;text-decoration:none;font-weight:700;border-radius:5px;transition:background .3s}
.btn-primary:hover{background:#541064}
.dynamic-text-wrapper{min-height:80px}
#dynamic-text{font-size:1.1em;line-height:1.5;border-right:2px solid #650B7C;display:inline-block;white-space:nowrap;overflow:hidden;animation:blink .75s step-end infinite}
@keyframes blink{from,to{border-color:transparent}50%{border-color:#650B7C}}

/* About section */
.about{background:#F5F5F5;padding:80px 20px}
.about h2{font-size:2em;line-height:1.3;margin-bottom:20px}
.about h3{font-size:1.5em;line-height:1.3;margin-bottom:12px}
.about p{font-size:1.1em;line-height:1.5;max-width:800px;margin:0 auto 1em}
.about img{margin:0 auto 20px;display:block}

/* Services simple */
.services{background:#F5F5F5;padding:80px 20px}
.services h2{font-size:2em;line-height:1.3;margin-bottom:40px}
.service-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}
.service{background:#FFF;padding:25px;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);flex:1;min-width:280px;max-width:350px;transition:transform .3s}
.service:hover{transform:translateY(-5px)}
.service h3{font-size:1.5em;line-height:1.3;margin-bottom:15px;color:#650B7C}
.service p{font-size:1.1em;line-height:1.5}

/* Expanded services */
.expanded-services{padding:80px 0;background:#F5F5F5;color:#1A0A1E}
#progetti.expanded-services{background:#FFF}
.expanded-services h2{text-align:center;font-size:2em;line-height:1.3;margin-bottom:50px}
.expanded-services h5{font-size:1.1em;line-height:1.4;margin-bottom:12px;font-weight:600}
.services-container{display:flex;justify-content:center;gap:25px;flex-wrap:wrap}
.services-container .service-card{background:#FFF;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.1);padding:25px;width:320px;margin-bottom:20px;transition:transform .3s}
.service-card:hover{transform:translateY(-5px)}
.service-card h3{font-size:1.5em;line-height:1.3;margin-bottom:15px;color:#650B7C}
.service-card p{font-size:1.1em;line-height:1.5;margin-bottom:15px}
.service-card h5{font-size:1.1em;line-height:1.4;margin-bottom:12px;font-weight:600}
.service-icon{font-size:2em;margin-bottom:15px}

/* CTA */
.cta{background:#650B7C;color:#FDFDFD;padding:80px 20px}
.cta h2{font-size:2em;line-height:1.3;margin-bottom:20px;color:#fff}
.cta p{font-size:1.1em;line-height:1.5;margin-bottom:15px;max-width:800px;margin-left:auto;margin-right:auto}
.btn-secondary{background:#FFF;padding:12px 25px;color:#650B7C;text-decoration:none;font-weight:700;border-radius:5px;border:2px solid #FDFDFD;transition:background .3s,color .3s;display:inline-block;margin-top:20px}
.btn-secondary:hover{background:rgba(255,255,255,.2);color:#FFF}

/* Contact */
.contact{background:linear-gradient(135deg,#650B7C,#8C2DBA);color:#fff;padding:80px 20px}
.contact h2{font-size:2em;line-height:1.3;color:#fff;margin-bottom:20px}
.contact p{font-size:1.1em;line-height:1.5;margin-bottom:30px}

/* Services immobiliare */
.services-immobiliare{background:#fff;padding:80px 0}
.services-immobiliare h2{font-size:2em;line-height:1.3;margin-bottom:20px}
.services-immobiliare h3{font-size:1.5em;line-height:1.3;margin-bottom:12px}
.services-immobiliare p{margin-bottom:30px;font-size:1.1em;line-height:1.5;max-width:800px;margin-left:auto;margin-right:auto}
.services-immobiliare ul{list-style:none;padding:0;margin:0 auto;max-width:800px;text-align:left}
.services-immobiliare li{font-size:1.1em;margin-bottom:20px;padding-left:32px;position:relative;line-height:1.5}
.services-immobiliare li:before{content:"✓";color:#650B7C;position:absolute;left:0;font-size:1.2em;font-weight:700}
.services-immobiliare li strong{color:#650B7C;font-weight:700}

/* Servizi AI Section - Improved list styling */
.servizi-ai{background-color:#fff;padding:80px 0}
.servizi-ai h2{font-size:2em;line-height:1.3;margin-bottom:40px}
.servizi-ai h3{font-size:1.5em;line-height:1.3;margin-bottom:12px}
.servizi-ai ul{list-style:none;padding:0;margin:0 auto;max-width:900px;text-align:left}
.servizi-ai li{font-size:1.1em;margin-bottom:24px;line-height:1.5;padding:20px 20px 20px 50px;position:relative;background:#f9f9f9;border-radius:8px;border-left:4px solid #650B7C;transition:background .2s,transform .2s}
.servizi-ai li:hover{background:#f5f5f5;transform:translateX(4px)}
.servizi-ai li:before{content:"→";color:#650B7C;position:absolute;left:18px;font-size:1.3em;font-weight:700}
.servizi-ai li strong{color:#650B7C;font-weight:700;display:block;margin-bottom:6px;font-size:1.1em;line-height:1.3}

/* Testimonials */
.testimonials{background:#FDFDFD;padding:80px 0;color:#1A0A1E}
.testimonials h2{font-size:2em;line-height:1.3;margin-bottom:40px}
.carousel{position:relative;max-width:800px;margin:0 auto;overflow:hidden}
.carousel input[type="radio"]{display:none}
.carousel-slides{position:relative;width:100%;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}
.carousel-slides .slide{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;transition:opacity .5s;padding:20px;box-sizing:border-box;text-align:center;display:flex;align-items:center;justify-content:center;min-height:250px}
.carousel input#t-1:checked ~ .carousel-slides .slide:nth-child(1),
.carousel input#t-2:checked ~ .carousel-slides .slide:nth-child(2),
.carousel input#t-3:checked ~ .carousel-slides .slide:nth-child(3),
.carousel input#t-4:checked ~ .carousel-slides .slide:nth-child(4),
.carousel input#re-t-1:checked ~ .carousel-slides .slide:nth-child(1),
.carousel input#re-t-2:checked ~ .carousel-slides .slide:nth-child(2){opacity:1;visibility:visible;position:relative}
.carousel-slides .slide p{font-size:1.1em;line-height:1.5;max-width:90%;word-wrap:break-word;overflow-wrap:break-word}
.carousel-nav{text-align:center;margin-top:20px}
.carousel-nav .nav-dot{display:inline-block;width:12px;height:12px;background:#CCC;border-radius:50%;margin:0 5px;cursor:pointer;transition:background-color .3s}
.carousel input#t-1:checked ~ .carousel-nav .nav-dot:nth-child(1),
.carousel input#t-2:checked ~ .carousel-nav .nav-dot:nth-child(2),
.carousel input#t-3:checked ~ .carousel-nav .nav-dot:nth-child(3),
.carousel input#t-4:checked ~ .carousel-nav .nav-dot:nth-child(4),
.carousel input#re-t-1:checked ~ .carousel-nav .nav-dot:nth-child(1),
.carousel input#re-t-2:checked ~ .carousel-nav .nav-dot:nth-child(2){background:#650B7C}
.carousel-nav .nav-dot:hover{background:#650B7C}

/* FAQ */
.faq{background:#FDFDFD;padding:80px 0;color:#1A0A1E}
.faq .container{max-width:800px;margin:0 auto;padding:0 20px}
.faq h2{text-align:center;font-size:2em;line-height:1.3;margin-bottom:40px}
.accordion details{background:#F5F5F5;border:1px solid #e0e0e0;border-radius:5px;margin-bottom:10px;padding:15px;transition:background .3s}
.accordion details[open]{background:#fff}
.accordion summary{font-size:1.1em;line-height:1.5;font-weight:700;cursor:pointer;outline:none;list-style:none;position:relative;padding-left:25px;text-align:left}
.accordion summary::-webkit-details-marker{display:none}
.accordion p{margin:10px 0 0;padding-left:25px;font-size:1.1em;line-height:1.5;text-align:left}
.accordion summary:before{content:"+";position:absolute;left:0;top:0;color:#650B7C;font-weight:700;transition:transform .3s}
.accordion details[open] summary:before{content:"-"}

/* General list improvements */
ul:not(.carousel-slides):not(.carousel-nav):not(.cc-actions):not(.ei-actions){list-style:none;padding:0}
li{font-size:1.1em;line-height:1.5}

/* About section lists */
.about ul{list-style:none;padding:0;margin:20px auto;max-width:800px;text-align:left}
.about li{font-size:1.1em;margin-bottom:12px;padding-left:24px;position:relative;line-height:1.5}
.about li:before{content:"•";color:#650B7C;position:absolute;left:8px;font-size:1.2em}

/* Mobile */
@media (max-width:768px){
  .nav-container{padding:12px 16px;position:relative;z-index:1003}
  .nav-logo{font-size:24px}
  .nav-toggle{display:flex;position:relative;z-index:1003}
  .nav-menu{position:fixed;top:0;right:-100%;width:280px;max-width:85vw;height:100vh;background:#fff!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:80px 24px 24px;box-shadow:-4px 0 20px rgba(0,0,0,.1);transition:right .3s ease;overflow-y:auto;z-index:1002}
  .nav-menu-open{right:0}
  .nav-menu a{width:100%;padding:12px 0;border-bottom:1px solid #eee;font-size:1.1em;color:#1A0A1E!important}
  .nav-menu .btn{width:100%;text-align:center;margin-top:16px;background:#650B7C!important;color:#fff!important}
  h1{font-size:clamp(1.8em,2.2em,2.6em);line-height:1.2}
  h2{font-size:clamp(1.4em,1.7em,2em);line-height:1.3}
  h3{font-size:clamp(1.2em,1.4em,1.6em);line-height:1.3}
  h4{font-size:clamp(1.05em,1.15em,1.3em);line-height:1.4}
  h5{font-size:clamp(0.95em,1.05em,1.15em);line-height:1.4}
  h6{font-size:clamp(0.9em,0.95em,1.05em);line-height:1.4}
  p,li,span{font-size:1.1em;line-height:1.5}
  .dynamic-text-wrapper{min-height:120px}
  #dynamic-text{white-space:normal;word-wrap:break-word;max-width:100%}
  .carousel-slides .slide{min-height:300px}
  .service{min-width:100%}
  .servizi-ai li{padding:16px 16px 16px 40px;font-size:1.1em;line-height:1.5}
  .servizi-ai li:before{left:12px}
  .hero{padding:60px 20px}
  .hero h1{font-size:clamp(1.8em,2.2em,2.6em)}
  .hero p{font-size:1.1em;line-height:1.5}
  .about{padding:60px 20px}
  .services{padding:60px 20px}
  .expanded-services{padding:60px 0}
  .cta{padding:60px 20px}
  .contact{padding:60px 20px}
  .testimonials{padding:60px 0}
  .faq{padding:60px 0}
  .services-immobiliare{padding:60px 0}
  .servizi-ai{padding:60px 0}
  .ei-modal h2{font-size:clamp(1.5em,1.8em,2em)}
  .ei-modal{padding:22px}
}

/* Cookie consent */
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#ffffff;box-shadow:0 -6px 18px rgba(0,0,0,.08);border-top:1px solid #eee}
.cc-banner.cc-dark{background:#0b0b0c;color:#fff;border-top:0}
.cc-container{position:relative;max-width:1000px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:18px}
.cc-title{font-weight:700;color:#fff;font-size:1.1em;line-height:1.3}
.cc-text{font-size:10px;line-height:1.5;text-align:left;color:#e6e6e6}
.cc-text a{color:#9ec2ff;text-decoration:underline}
.cc-close{position:absolute;top:14px;right:14px;background:transparent;border:0;color:#bdbdbd;font-size:20px;cursor:pointer}
.cc-actions{display:flex;gap:10px;flex-wrap:wrap}
.cc-btn{border:none;border-radius:12px;padding:12px 18px;cursor:pointer;font-weight:600}
.cc-btn-accept{background:#0b5fff;color:#fff}
.cc-btn-accept:hover{background:#094dd1}
.cc-btn-reject{background:#273142;color:#fff}
.cc-btn-reject:hover{background:#1e2633}
.cc-btn-ghost{background:transparent;color:#fff;border:1px solid #5d5d5d}
.cc-btn-ghost:hover{border-color:#8a8a8a}
.cc-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:10000}
.cc-modal-content{background:#fff;border-radius:12px;max-width:520px;width:92%;padding:20px}
.cc-modal-content h3{color:#1A0A1E;margin:0 0 16px 0;font-size:1.5em;line-height:1.3}
.cc-modal-content p{font-size:1.1em;line-height:1.5;color:#1A0A1E}
.cc-switch{display:flex;align-items:center;gap:8px;margin:10px 0;color:#1A0A1E}
.cc-switch span{color:#1A0A1E;font-size:1.1em;line-height:1.5}
.cc-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}

/* Exit-intent modal */
.ei-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.ei-modal{background:#fff;border-radius:16px;max-width:720px;width:100%;padding:28px 28px 22px;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.25);max-height:90vh;overflow-y:auto}
.ei-modal h2{margin:0 0 12px 0;font-size:2em;line-height:1.3}
.ei-modal h3{font-size:1.5em;line-height:1.3;margin:0 0 8px 0}
.ei-modal p{font-size:1.1em;line-height:1.5;margin:0 0 10px 0}
.ei-modal ul{margin:8px 0 18px 18px}
.ei-modal li{font-size:1.1em;line-height:1.5}
.ei-actions{display:flex;gap:12px;flex-wrap:wrap}
.ei-primary{background:#650B7C;color:#fff;padding:12px 16px;border-radius:10px;text-decoration:none;display:inline-block}
.ei-secondary{background:#f1f1f1;color:#1A0A1E;border:1px solid #e5e5e5;padding:12px 16px;border-radius:10px;cursor:pointer}
.ei-close{position:absolute;top:10px;right:12px;background:transparent;border:0;font-size:22px;color:#777;cursor:pointer}
@media (max-width:768px){
  .ei-overlay{padding:12px;align-items:flex-start;padding-top:20px}
  .ei-modal{max-width:100%;width:calc(100% - 24px);padding:20px 18px;border-radius:12px;max-height:calc(100vh - 40px);margin:0 auto}
  .ei-modal h2{font-size:clamp(1.3em,1.6em,1.8em);line-height:1.3;margin:0 0 10px 0}
  .ei-modal h3{font-size:clamp(1.1em,1.3em,1.5em);line-height:1.3;margin:0 0 6px 0}
  .ei-modal p{font-size:1em;line-height:1.5;margin:0 0 8px 0}
  .ei-modal ul{margin:6px 0 14px 16px;padding-left:0}
  .ei-modal li{font-size:1em;line-height:1.5;margin-bottom:6px}
  .ei-actions{flex-direction:column;gap:10px;width:100%}
  .ei-primary{width:100%;text-align:center;padding:14px 16px;font-size:1em}
  .ei-secondary{width:100%;text-align:center;padding:14px 16px;font-size:1em}
  .ei-close{top:8px;right:8px;font-size:20px;padding:4px}
}

