.elementor-2 .elementor-element.elementor-element-54927675{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-d05c67c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-2 .elementor-element.elementor-element-d05c67c{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-8918d1b */:root {
    --bg: #faf8f4;
    --surface: #f3f0ea;
    --white: #ffffff;
    --border: #e0dbd0;
    --border-dark: #c8c1b0;
    --navy: #1a2340;
    --navy-light: #2a3558;
    --gold: #9a7c3c;
    --gold-light: #b8964a;
    --gold-pale: #f0e8d4;
    --text: #2a2520;
    --muted: #6b6258;
    --muted-lite: #9e968c;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { background:var(--bg); color:var(--text); font-family:'Jost',sans-serif; font-weight:300; line-height:1.6; }

  /* NAV */
  nav {
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:0.65rem 4rem;
    background:rgba(250,248,244,0.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav-logo { padding:0.5rem 1.1rem; display:inline-flex; align-items:center; }
  .nav-logo img { height:120px; display:block; }
  .nav-links { display:flex; gap:2rem; list-style:none; align-items:center; }
  .nav-links a { color:var(--muted); text-decoration:none; font-size:0.82rem; letter-spacing:0.1em; text-transform:uppercase; transition:color 0.2s; }
  .nav-links a:hover { color:var(--navy); }
  .nav-cta { background:var(--navy) !important; color:#fff !important; padding:0.48rem 1.4rem !important; font-weight:500 !important; }
  .nav-cta:hover { background:var(--navy-light) !important; }

  /* HERO */
  .hero {
    min-height:100vh; display:grid; grid-template-columns:1fr 1fr;
    align-items:center; padding:9rem 4rem 6rem; gap:5rem;
    position:relative; overflow:hidden; border-bottom:1px solid var(--border);
  }
  .hero::before { content:''; position:absolute; top:0; right:0; width:50%; height:100%; background:var(--surface); z-index:0; }
  .hero-left { position:relative; z-index:1; }
  .hero-right { position:relative; z-index:1; display:flex; flex-direction:column; gap:2rem; }

  .badge {
    display:inline-flex; align-items:center;
    font-size:0.74rem; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--gold); border:1px solid var(--gold); padding:0.33rem 0.9rem;
    width:fit-content; margin-bottom:2rem;
    opacity:0; animation:fadeUp 0.7s ease forwards 0.2s;
  }
  .hero-title {
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2.8rem,6vw,5.2rem); font-weight:600;
    line-height:1.04; letter-spacing:-0.02em; color:var(--navy);
    margin-bottom:1.5rem; opacity:0; animation:fadeUp 0.8s ease forwards 0.35s;
  }
  .hero-title em { font-style:italic; font-weight:400; color:var(--gold); }
  .hero-sub { font-size:1rem; color:var(--muted); line-height:1.82; max-width:480px; margin-bottom:2.5rem; opacity:0; animation:fadeUp 0.8s ease forwards 0.5s; }
  .hero-actions { display:flex; gap:1rem; flex-wrap:wrap; opacity:0; animation:fadeUp 0.8s ease forwards 0.65s; }

  .btn-primary { background:var(--navy); color:#fff; padding:0.85rem 2rem; font-family:'Jost',sans-serif; font-size:0.85rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; border:none; cursor:pointer; text-decoration:none; display:inline-block; transition:background 0.2s,transform 0.15s; }
  .btn-primary:hover { background:var(--navy-light); transform:translateY(-1px); }
  .btn-outline { border:1px solid var(--navy); color:var(--navy); padding:0.85rem 2rem; font-family:'Jost',sans-serif; font-size:0.85rem; font-weight:400; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; display:inline-block; transition:background 0.2s,color 0.2s; }
  .btn-outline:hover { background:var(--navy); color:#fff; }

  .intro-card { background:var(--white); border:1px solid var(--border); padding:2rem 2.2rem; opacity:0; animation:fadeUp 0.8s ease forwards 0.5s; }
  .card-label { font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:0.9rem; }
  .intro-card p { font-size:0.95rem; color:var(--muted); line-height:1.82; }
  .intro-card p strong { color:var(--navy); font-weight:900; }

  .hero-pills { display:flex; flex-wrap:wrap; gap:0.5rem; opacity:0; animation:fadeUp 0.8s ease forwards 0.7s; }
  .pill { font-size:0.8rem; color:var(--muted); border:1px solid var(--border-dark); padding:0.3rem 0.9rem; background:var(--white); }

  /* SECTIONS */
  section { padding:7rem 4rem; }
  .sec-label { font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
  .sec-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.1rem); font-weight:600; line-height:1.1; color:var(--navy); letter-spacing:-0.01em; margin-bottom:1.2rem; }
  .sec-title em { font-style:italic; font-weight:400; color:var(--gold); }
  .sec-body { font-size:0.96rem; color:var(--muted); line-height:1.82; }

  /* CONTESTO */
  .contesto { background:var(--white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
  .contesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; margin-top:4rem; }
  .stat-blocks { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); }
  .stat-block { background:var(--bg); padding:1.8rem; }
  .stat-block .num { font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:700; color:var(--navy); line-height:1; margin-bottom:0.4rem; }
  .stat-block .lbl { font-size:0.83rem; color:var(--muted); line-height:1.5; }

  .point-list { display:flex; flex-direction:column; gap:0.8rem; margin-top:2.5rem; }
  .point { display:flex; gap:1.2rem; padding:1.2rem 1.4rem; background:var(--bg); border:1px solid var(--border); border-left:3px solid var(--gold); }
  .point h4 { font-size:0.93rem; font-weight:700; color:var(--navy); margin-bottom:0.25rem; }
  .point p { font-size:0.86rem; color:var(--muted); line-height:1.7; }
  .point-icon { color:var(--gold); flex-shrink:0; padding-top:0.12rem; }

  /* PROPOSTA */
  .proposta { background:var(--navy); color:#fff; }
  .proposta .sec-label { color:rgba(255,255,255,0.38); }
  .proposta .sec-title { color:#fff; }
  .proposta .sec-title em { color:var(--gold-light); }
  .prop-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; margin-top:4rem; }
  .prop-body { font-size:0.96rem; color:rgba(255,255,255,0.55); line-height:1.82; margin-bottom:1.2rem; }
  .prop-list { display:flex; flex-direction:column; }
  .prop-item { display:flex; gap:1.5rem; align-items:flex-start; padding:1.6rem 0; border-bottom:1px solid rgba(255,255,255,0.08); }
  .prop-item:first-child { padding-top:0; }
  .prop-n { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:700; color:var(--gold-light); line-height:1; flex-shrink:0; width:2.4rem; text-align:right; }
  .prop-item h4 { font-size:0.93rem; font-weight:700; color:#fff; margin-bottom:0.3rem; }
  .prop-item p { font-size:0.85rem; color:rgba(255,255,255,0.5); line-height:1.65; }

  /* PERCORSO */
  .percorso { background:var(--bg); }
  .moduli-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-top:4rem; }
  .modulo { background:var(--white); padding:2.4rem; position:relative; transition:background 0.25s; }
  .modulo:hover { background:var(--surface); }
  .modulo::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--border); transition:background 0.25s; }
  .modulo:hover::before { background:var(--gold); }
  .mod-n { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:700; color:var(--border); line-height:1; margin-bottom:1.2rem; transition:color 0.25s; }
  .modulo:hover .mod-n { color:var(--gold-pale); }
  .mod-tag { font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:0.6rem; }
  .modulo h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:600; color:var(--navy); margin-bottom:0.8rem; line-height:1.25; }
  .modulo > p { font-size:0.9rem; color:var(--muted); line-height:1.78; margin-bottom:1.4rem; }
  .topics { display:flex; flex-direction:column; gap:0.5rem; }
  .topic { font-size:0.84rem; color:var(--muted-lite); display:flex; gap:0.5rem; align-items:baseline; }
  .topic::before { content:'–'; color:var(--gold); flex-shrink:0; }

  /* MODALITÀ */
  .modalita { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
  .mod-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; margin-bottom:4rem; }
  .steps { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
  .steps::before { content:''; position:absolute; top:1.8rem; left:12%; right:12%; height:1px; background:var(--border-dark); }
  .step { padding:0 1.2rem; text-align:center; }
  .step-n { width:38px; height:38px; border:1px solid var(--navy); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:700; color:var(--navy); margin:0 auto 1.2rem; background:var(--surface); position:relative; z-index:1; }
  .step h4 { font-size:0.9rem; font-weight:500; color:var(--navy); margin-bottom:0.4rem; }
  .step p { font-size:0.84rem; color:var(--muted); line-height:1.65; }

  /* STUDIO */
  .studio { background:var(--bg); border-top:1px solid var(--border); }
  .studio-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:4rem; align-items:start; }
  .studio-logobox {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.75rem 1.5rem;
    margin-bottom: 1.8rem;
  }
  .studio-logobox a {
    display: flex;
    align-items: center;
  }
  .studio-logobox img {
    height: 80px;
    width: auto;
    display: block;
  }
  .studio-desc { font-size:0.96rem; color:var(--muted); line-height:1.82; margin-bottom:1.6rem; }
  .contacts { display:flex; flex-direction:column; gap:1rem; }
  .crow { display:flex; gap:0.8rem; align-items:flex-start; }
  .cicon { font-size:0.9rem; flex-shrink:0; margin-top:0.1rem; color:var(--gold); }
  .crow p { font-size:0.9rem; color:var(--muted); }
  .crow p strong { display:block; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted-lite); font-weight:400; margin-bottom:0.1rem; }
  .crow a { color:var(--navy); text-decoration:none; }
  .crow a:hover { color:var(--gold); }

  .studio-panel { background:var(--navy); padding:2.5rem; color:#fff; }
  .studio-panel blockquote { font-family:'Cormorant Garamond',serif; font-size:1.45rem; font-style:italic; line-height:1.5; color:rgba(255,255,255,0.9); border-left:3px solid var(--gold-light); padding-left:1.5rem; margin-bottom:2rem; }
  .creds { display:flex; flex-direction:column; gap:1rem; }
  .cred { display:flex; gap:0.8rem; align-items:flex-start; }
  .cdot { width:5px; height:5px; background:var(--gold-light); border-radius:50%; margin-top:0.55rem; flex-shrink:0; }
  .cred p { font-size:0.86rem; color:rgba(255,255,255,0.5); line-height:1.65; }
  .cred p strong { color:rgba(255,255,255,0.85); font-weight:500; }

  /* CTA */
  .cta { background:var(--surface); border-top:1px solid var(--border); text-align:center; }
  .cta-wrap { max-width:620px; margin:0 auto; }
  .cta-form { display:flex; max-width:460px; margin:0 auto 0.8rem; }
  .cta-input { flex:1; border:1px solid var(--border-dark); border-right:none; background:var(--white); color:var(--text); padding:0.85rem 1.2rem; font-family:'Jost',sans-serif; font-size:0.92rem; outline:none; transition:border-color 0.2s; }
  .cta-input::placeholder { color:var(--muted-lite); }
  .cta-input:focus { border-color:var(--navy); }
  .cta-note { font-size:0.8rem; color:var(--muted-lite); }

  /* STRIPS */
  .strips {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--border);
    background: var(--border);
    gap: 1px;
    margin-top: 3rem;
  }
  .strip {
    padding: 1.5rem 1.8rem;
    text-align: center;
    background: var(--white);
  }
  .strip-lbl { font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted-lite); margin-bottom:0.3rem; }
  .strip-val { font-size:0.88rem; color:var(--navy); }
  .strip-val a { color:var(--navy); text-decoration:none; }
  .strip-val a:hover { color:var(--gold); }

 

  /* ANIMATIONS */
  @keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
  .reveal { opacity:0; transform:translateY(22px); transition:opacity 0.65s ease,transform 0.65s ease; }
  .reveal.visible { opacity:1; transform:translateY(0); }

  /* RESPONSIVE */
  @media (max-width:900px) {
    nav { padding:0.8rem 1.5rem; }
    .nav-links { display:none; }
    section,.hero { padding:5rem 1.5rem; }
    .hero { grid-template-columns:1fr; }
    .hero::before { display:none; }
    .contesto-grid,.prop-grid,.mod-intro,.studio-grid { grid-template-columns:1fr; }
    .moduli-grid { grid-template-columns:1fr; }
    .steps { grid-template-columns:1fr 1fr; gap:2rem; }
    .steps::before { display:none; }
    .stat-blocks { grid-template-columns:1fr 1fr; }
    .cta-form { flex-direction:column; }
    .cta-input { border-right:1px solid var(--border-dark); border-bottom:none; }
    .strips { grid-template-columns:1fr; }
    .strip { border-bottom:1px solid var(--border); }
    .strip:last-child { border-bottom:none; }
  }/* End custom CSS */