/* Page-specific styles extracted from HTML */
*{margin:0;padding:0;box-sizing:border-box}

html{font-size:16px;scroll-behavior:smooth}
body{background:var(--color-bg-light);font-family:'Barlow',sans-serif;font-weight:300;font-size:1rem;-webkit-font-smoothing:antialiased}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3.5rem;background:var(--color-nav-bg);backdrop-filter:blur(10px)}
.logo-full{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:28px;height:28px}
.logo-wordmark{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:1rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-primary)}
.nav-right{display:flex;align-items:center;gap:1.25rem;position:relative}
.burger-wrap{position:relative}
.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;padding:6px;border:1px solid transparent;transition:border-color 0.2s}
.burger:hover{border-color:var(--color-line)}
.burger span{display:block;height:1px;background:var(--color-text-primary)}
.burger span:nth-child(2){width:70%}
.dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg-light);border:1px solid var(--color-line);min-width:200px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity 0.2s ease,transform 0.2s ease;z-index:200}
.burger-wrap .dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}
.dropdown a,
.has-sub>span{display:block;font-size:1.02rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-secondary);text-decoration:none;padding:0.9rem 1.25rem;border-bottom:1px solid var(--color-line);transition:color 0.2s,background 0.2s;font-weight:400}
.dropdown a:last-child{border-bottom:none}
.dropdown a:hover,
.has-sub>span:hover{color:var(--color-text-primary);background:rgba(184,151,90,0.08)}
.has-sub>span{display:flex;align-items:center;justify-content:space-between;color:var(--color-accent-gold);font-weight:500;cursor:pointer;user-select:none}
.has-sub>span::after{content:'›';font-size:0.9rem;opacity:0.55;transition:transform 0.2s}
.has-sub.sub-open>span::after{transform:rotate(90deg)}
.submenu{display:none;background:rgba(30,45,48,0.04);border-bottom:1px solid var(--color-line)}
.has-sub.sub-open .submenu{display:block}
.submenu a{display:block;font-size:1.02rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-secondary);font-weight:400;text-decoration:none;padding:0.65rem 1.25rem 0.65rem 1.75rem;border-bottom:1px solid rgba(30,45,48,0.06);transition:color 0.2s,background 0.2s}
.submenu a:last-child{border-bottom:none}
.submenu a:hover{color:var(--color-text-primary);background:rgba(184,151,90,0.08)}
.nav-cta{font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;border:1px solid var(--color-text-primary);padding:0.5rem 1.4rem;text-decoration:none;color:var(--color-text-primary);transition:background 0.25s,color 0.25s;font-weight:400}
.nav-cta:hover{background:var(--color-text-primary);color:var(--color-bg-light)}

/* F1 — HERO (Enterprise: dark) */
.f1{
  background:var(--color-text-primary);
  padding:8rem 3.5rem 4rem;
  min-height:55vh;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
  border-bottom:1px solid rgba(253,253,252,0.08);
}
.f1-grid{position:absolute;inset:0;pointer-events:none;z-index:0}
.f1-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;gap:3rem}
.f1-top{display:flex;justify-content:space-between;align-items:flex-start}
.f1-back{font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(253,253,252,0.35);text-decoration:none;transition:color 0.2s}
.f1-back:hover{color:var(--color-accent-gold)}
.f1-num{font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--color-accent-gold);font-weight:500}
.f1-bottom{}
.f1-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.5rem,4vw,4.5rem);font-weight:700;line-height:1.05;letter-spacing:-0.03em;color:var(--color-bg-light);margin-bottom:1.5rem}
.tags{display:flex;flex-wrap:wrap;gap:0.5rem}
.tag{font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;border:1px solid rgba(253,253,252,0.18);padding:0.3rem 0.85rem;color:rgba(253,253,252,0.5);transition:border-color 0.2s,color 0.2s}
.tag:hover{border-color:var(--color-accent-gold);color:var(--color-accent-gold)}


/* F2+MAP combined */
.f2-map{
  display:grid;grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--color-line);
  align-items:center;
}
.f2-map-left {
  padding: 4rem 3.5rem;
  border-right: 1px solid var(--color-line);
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 4rem;
  align-items: start;
}
.f2-map-right {
  background: var(--color-bg-light);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;          /* rimuove il padding che crea i gap laterali */
  min-height: 380px;
  overflow: hidden;
}
.f2-map-right svg {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;    /* rimuove il cap a 360px */
  display: block;
}

/* F2 — DESCRIPTION */
.f2{
  padding:4rem 3.5rem;
  display:grid;grid-template-columns:200px 1fr;
  gap:4rem;align-items:start;
  border-bottom:1px solid var(--color-line);
}
.f2-label{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--color-text-secondary);padding-top:0.3rem}
.f2-body{font-size:1.05rem;line-height:1.95;color:var(--color-text-secondary);font-weight:300;max-width:64ch}

/* F3 — INFOGRAPHIC (Enterprise: dark) */
.f3{
  background:var(--color-text-primary);
  min-height:380px;position:relative;overflow:hidden;
  border-top:1px solid rgba(253,253,252,0.06);
  border-bottom:1px solid rgba(253,253,252,0.06);
}
.f3-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.f3-ph-label{font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(253,253,252,0.15);border:1px dashed rgba(253,253,252,0.08);padding:1rem 2rem}

/* F4 — STRENGTHS */
.f4{background:var(--color-bg-light-soft);border-bottom:1px solid var(--color-line)}
.f4-header{padding:1.25rem 3.5rem;border-bottom:1px solid var(--color-line);font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--color-text-secondary)}
.f4-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.f4-item{padding:2.5rem 3.5rem;border-right:1px solid var(--color-line)}
.f4-item:last-child{border-right:none}
.f4-dot{width:5px;height:5px;border-radius:50%;background:var(--color-accent-gold);margin-bottom:1rem}
.f4-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.95rem;font-weight:700;color:var(--color-text-primary);margin-bottom:0.6rem;letter-spacing:-0.01em}
.f4-text{font-size:0.82rem;line-height:1.8;color:var(--color-text-secondary)}

/* F5 — CTA */
.f5{background:var(--color-text-primary);display:flex;align-items:center;justify-content:space-between;padding:2.5rem 3.5rem;border-bottom:1px solid rgba(253,253,252,0.08)}
.f5-text{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:700;color:var(--color-bg-light);letter-spacing:-0.01em}
.f5-btn{font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;background:var(--color-accent-blue);color:var(--color-bg-light);padding:0.8rem 2rem;border:none;cursor:pointer;font-family:'Barlow',sans-serif;font-weight:400;transition:opacity 0.2s}
.f5-btn:hover{opacity:0.8}

/* FOOTER */
footer{padding:2rem 3.5rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--color-line-strong)}
.footer-right{display:flex;gap:2rem;align-items:center}
.footer-links{display:flex;gap:2rem}
.footer-links a{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--color-text-secondary);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--color-text-primary)}.footer-copy{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-secondary)}
/* Logo: arrow paths use var(--color-bg-light) to stay visible on light bg */
footer .logo-full svg ellipse{fill:var(--color-text-primary)}
/* POPUP */
.popup-overlay{display:none;position:fixed;inset:0;background:rgba(12,11,9,0.6);z-index:500;align-items:center;justify-content:center}
.popup-overlay.open{display:flex}
.popup{background:var(--color-bg-light);padding:3rem;max-width:480px;width:90%;position:relative}
.popup-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:-0.01em;margin-bottom:0.5rem}
.popup-sub{font-size:0.82rem;color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.7}
.popup-form{display:flex;flex-direction:column;gap:1rem}
.popup-input{font-family:'Barlow',sans-serif;font-size:0.85rem;font-weight:300;border:none;border-bottom:1px solid var(--color-line-strong);background:transparent;padding:0.6rem 0;color:var(--color-text-primary);outline:none;transition:border-color 0.2s}
.popup-input:focus{border-color:var(--color-accent-gold)}
.popup-input::placeholder{color:var(--color-text-secondary)}
.popup-textarea{resize:none;min-height:80px}
.popup-actions{display:flex;align-items:center;justify-content:space-between;margin-top:0.5rem}
.btn-send{font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;background:var(--color-text-primary);color:var(--color-bg-light);padding:0.7rem 1.75rem;cursor:pointer;border:none;transition:opacity 0.2s;font-family:'Barlow',sans-serif}
.btn-send:hover{opacity:0.72}
.btn-close-popup{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;transition:color 0.2s;font-family:'Barlow',sans-serif}
.btn-close-popup:hover{color:var(--color-text-primary)}

/* ═══════════════════════════════════════════════
   MOBILE — @media max-width: 768px
   ═══════════════════════════════════════════════ */
@media(max-width:768px){
  nav{padding:1rem 1.25rem}
  .nav-cta{display:none}

  /* F1 HERO */
  .f1{padding:6rem 1.25rem 3rem}
  .f1-title{font-size:clamp(2rem,8vw,3rem)}

  /* F2 DESCRIPTION */
  .f2{grid-template-columns:1fr;gap:1rem;padding:2.5rem 1.25rem}
  .f2-body{font-size:0.95rem}

  /* F3 INFOGRAPHIC */
  .f3{min-height:auto;padding:2rem 1.25rem !important;overflow-x:auto}
  .f3 svg{min-width:600px}

  /* F4 STRENGTHS */
  .f4-header{padding:1rem 1.25rem}
  .f4-grid{grid-template-columns:1fr}
  .f4-item{border-right:none;border-bottom:1px solid var(--color-line);padding:2rem 1.25rem}
  .f4-item:last-child{border-bottom:none}

  /* F5 CTA */
  .f5{flex-direction:column;align-items:flex-start;gap:1.5rem;padding:2rem 1.25rem}

  /* FOOTER */
  footer{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 1.25rem}
  .footer-right{flex-direction:column;align-items:flex-start;gap:0.75rem}
  .footer-links{flex-wrap:wrap;gap:1rem}

  /* POPUP */
  .popup{padding:2rem 1.25rem}
}

/* ent-02 specific: f2-map two-column layout */
@media(max-width:768px){
  .f2-map{grid-template-columns:1fr;display:block}
  .f2-map-left{padding:2.5rem 1.25rem;grid-template-columns:1fr;gap:1rem;border-right:none;border-bottom:1px solid var(--color-line)}
  .f2-map-right{min-height:220px}
}
