/* ─── RESET ───────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto;font-size:16px}

/* ─── TOKENS ──────────────────────────────────────────── */
:root{
  --gold:#a88d66;
  --cream:#e6e1d4;
  --muted:#9a938a;
  --dim:#6b6459;
  --px:77px;
}

body{
  background:#000;
  color:var(--cream);
  font-family:'Inter',sans-serif;
  overflow-x:hidden;
}

/* ─── MASK HELPERS ────────────────────────────────────── */
.m-wrap{overflow:hidden;display:block}
.m-inner{display:block}

/* ─── SHARED ──────────────────────────────────────────── */
.sec-title,.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:42px;
  line-height:1.08;
  font-weight:400;
}
.sec-title em,.section-title em{color:var(--gold);font-style:italic}

/* ══════════════════════════════════════════════════════ */
/* HERO                                                   */
/* ══════════════════════════════════════════════════════ */
#hero{
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:50px var(--px);
  overflow:hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: 100% center;
  background-repeat: no-repeat;
  filter: grayscale(100%) brightness(0.45) contrast(1.3);
  z-index: 0;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(
    ellipse 50% 55% at 68% 58%,
    transparent          0%,
    rgba(0,0,0,0.55)    45%,
    rgba(0,0,0,0.92)    70%,
    #000                100%
  );
  mix-blend-mode: hard-light;
}
.hero-content,.hero-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:21px;
}
.hero-h1,.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:60px;
  line-height:1.08;
  font-weight:400;
}
.hero-title em{color:var(--gold);font-style:italic}
.hero-h1 em{color:var(--gold);font-style:italic}
.hero-sub{
  font-size:14px;
  line-height:1.85;
  color:var(--muted);
  max-width:550px;
}
.hero-ctas{display:flex;gap:25px;align-items:center}
.btn-access{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border:none;
  border-bottom:1px solid var(--gold);
  font-size:10px;
  letter-spacing:3.8px;
  color:var(--gold);
  text-transform:uppercase;
  text-decoration:none;
  background:transparent;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  transition:opacity .3s;
  width:fit-content;
}
.btn-access:hover{opacity:.6}

/* ══════════════════════════════════════════════════════ */
/* FOCUS AREAS                                            */
/* ══════════════════════════════════════════════════════ */
#focus-areas{
  background:#000;
  padding:100px var(--px);
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}
#focus-areas>.vpg-shell{
  display:flex;
  flex-direction:column;
  height:100%;
  flex:1;
}
.focus-title-block{line-height:0;flex-shrink:0}
.focus-title-block .sec-title{display:block;line-height:1.08}
#focus-areas .section-title span,
#focus-areas .section-title em{display:block;line-height:1.08}
.focus-cards,.focus-grid{
  position:relative;
  flex:1;
}
.focus-card{
  position:absolute;
  bottom:60px;
  left:0;
  width:340px;
  display:flex;
  flex-direction:column;
  gap:0;
}
.card-num{
  font-family:'Cormorant Garamond',serif;
  font-size:14px;
  color:var(--gold);
  line-height:1.02;
  margin-bottom:25px;
}
.card-title{
  font-family:'Cormorant Garamond',serif;
  font-size:24px;
  line-height:1.08;
  color:var(--cream);
  margin-bottom:25px;
}
.card-body{
  font-size:14px;
  line-height:1.85;
  color:var(--muted);
}

/* ══════════════════════════════════════════════════════ */
/* APPROACH                                               */
/* ══════════════════════════════════════════════════════ */
#approach{
  position:relative;
  min-height:100vh;
  background:#000;
  padding:0;
  overflow:hidden;
}
#approach>.vpg-shell{
  max-width:none;
  width:100%;
  min-height:100vh;
  padding:0;
}
.approach-panel{
  position:relative;
  min-height:100vh;
  overflow:hidden;
}
.approach-media{
  position:absolute;
  inset:0;
}
.approach-visual{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#111;
}
.approach-visual img,
.approach-placeholder{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.approach-visual img{
  object-fit:cover;
  filter:grayscale(100%) brightness(0.45) contrast(1.3);
}
.approach-placeholder{
  background:
    radial-gradient(circle at 30% 30%, rgba(168,141,102,.16), transparent 45%),
    linear-gradient(135deg, #171717 0%, #0d0d0d 100%);
}
.approach-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to bottom,
      #000 0%,
      transparent 26%,
      transparent 74%,
      #000 100%
    ),
    linear-gradient(
      to right,
      #000 0%,
      transparent 26%,
      transparent 74%,
      #000 100%
    ),
    radial-gradient(
      ellipse 82% 72% at 50% 50%,
      transparent 38%,
      rgba(0,0,0,0.42) 62%,
      rgba(0,0,0,0.82) 82%,
      #000 100%
    );
  pointer-events:none;
}
.approach-copy{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  padding:100px var(--px);
}
.approach-clip{
  position:relative;
  z-index:1;
  opacity:1;
}
.approach-text{
  font-family:'Cormorant Garamond',serif;
  font-size:42px;
  line-height:1.45;
  font-weight:400;
  text-align:center;
  max-width:600px;
  color:var(--cream);
  margin:0 auto;
  padding:30px 0;
}
/* ══════════════════════════════════════════════════════ */
/* ENVIRONMENTS – filmstrip                               */
/* ══════════════════════════════════════════════════════ */
#environments{background:#000;padding:100px 0;overflow:visible;display:block}
.env-header{padding:0 var(--px) 50px;text-align:center}
.filmstrip-vp{overflow:visible;position:static;flex:none}
.filmstrip-track{display:grid;grid-template-columns:1fr 1fr;gap:50px 25px;padding:0 var(--px);width:100%;height:auto}
.film-item{width:100%;flex-shrink:unset;padding:0;display:flex;flex-direction:column;gap:16px;height:auto}
.film-num{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--gold);clip-path:inset(0 0 100% 0)}
.film-img-wrap{height:500px;overflow:hidden;position:relative;background:#111;clip-path:inset(0 0 0 100%)}
.film-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:filter .6s ease}
.film-img-wrap:hover img{filter:grayscale(0%)}
.film-caption{font-size:13px;line-height:1.85;color:var(--muted);clip-path:inset(100% 0 0 0)}

/* ══════════════════════════════════════════════════════ */
/* SELECTED PRACTICE                                      */
/* ══════════════════════════════════════════════════════ */
#engagement{position:relative;overflow:hidden;padding:120px 0 0;background:#000}
.engage-text{text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;z-index:2;padding:0 var(--px)}
.engage-body{font-size:14px;line-height:1.85;color:var(--muted);max-width:520px;text-align:center;clip-path:inset(0 0 100% 0)}
.engage-globe-wrap{position:relative;width:100%;height:calc(100vw * 0.35);margin-top:-80px;z-index:1;overflow:hidden}
.engage-globe-video{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.engage-globe-fade{
  position:absolute;inset:0;
  background:
    linear-gradient(to bottom,#000 0%,transparent 25%,transparent 65%,#000 100%),
    linear-gradient(to right,#000 0%,transparent 20%,transparent 80%,#000 100%);
  pointer-events:none
}

/* ══════════════════════════════════════════════════════ */
/* FORM                                                   */
/* ══════════════════════════════════════════════════════ */
/* Spacing audit:
   - #form-section gap 50px rimosso: era inerte perché la section ha un solo child (.vpg-shell).
   - headline -> form allineato a 50px come il pattern titolo -> contenuto delle altre sezioni.
   - headline -> form-intro impostato a 25px per dare al testo introduttivo un ritmo coerente.
   - form-intro -> form impostato a 25px, così con intro presente il passaggio resta sulla stessa scala.
   - .form-row gap normalizzato da 30px a 32px per eliminare un valore fuori scala. */
#form-section{
  background:#000;
  padding:100px var(--px);
}
#form-section>.vpg-shell{
  display:flex;
  flex-direction:column;
}
.form-headline{
  font-family:'Cormorant Garamond',serif;
  font-size:42px;
  line-height:1.08;
  font-weight:400;
  max-width:400px;
  clip-path:inset(0 0 100% 0);
}
.form-headline em{color:var(--gold);font-style:italic;display:block}
.form-headline + .form-intro{margin-top:25px}
.form-headline + .vpg-form{margin-top:50px}
.form-intro + .vpg-form{margin-top:25px}
.form-intro{font-size:14px;line-height:1.85;color:var(--muted);max-width:520px;margin:0}
.form-grid{
  display:flex;
  gap:100px;
  align-items:flex-start;
}
.form-col-left{flex:1;display:flex;flex-direction:column}
.field-label{
  font-size:14px;
  font-weight:500;
  color:var(--cream);
  line-height:1.85;
  display:block;
}
.field-optional{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:10px;
  letter-spacing:.9px;
  color:var(--muted);
  font-weight:400;
}
.req-opt{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:18px 10px 18px 0;
  border-bottom:1px solid rgba(230,225,212,.15);
  cursor:pointer;
  clip-path:inset(100% 0 0 0);
  transition:border-color .3s;
}
.req-opt.active{border-bottom-color:var(--gold)}
.req-dot{
  font-size:10px;
  letter-spacing:3.8px;
  line-height:1.6;
  color:var(--muted);
  flex-shrink:0;
  margin-top:1px;
}
.req-opt.active .req-dot{color:var(--gold)}
.req-title{
  font-size:12px;
  line-height:1.6;
  color:var(--cream);
}
.req-opt.active .req-title{color:var(--gold)}
.req-desc{
  font-size:10px;
  line-height:1.85;
  color:var(--dim);
  margin-top:8px;
}
.req-opt.active .req-desc{color:rgba(201,169,110,.6)}
.form-col-right{flex:1}
.form-col-right label{font-size:14px;font-weight:500;color:var(--cream);line-height:1.85;display:block}
.form-right-fields{
  display:flex;
  flex-direction:column;
  gap:32px;
  clip-path:inset(100% 0 0 0);
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:10px;
}
#form-section input[type="text"],#form-section input[type="email"],#form-section textarea,#form-section select,.form-input,.form-textarea,.form-select{
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(230,225,212,.2);
  padding:10px 10px 10px 0;
  color:var(--cream);
  font-family:'Inter',sans-serif;
  font-size:12px;
  outline:none;
  resize:none;
  width:100%;
  transition:border-color .3s,color .3s;
}
#form-section input::placeholder,#form-section textarea::placeholder{color:var(--dim)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--dim)}
#form-section input[type="text"]:focus,#form-section input[type="email"]:focus,#form-section textarea:focus,#form-section select:focus,.form-input:focus,.form-textarea:focus,.form-select:focus{border-bottom-color:var(--gold)}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-bottom-color:var(--gold)}
#form-section textarea{height:98px}
.form-textarea{height:98px}
.form-select-wrap{
  position:relative;
}
.form-select-wrap::after{
  content:'';
  position:absolute;
  right:0;
  top:50%;
  width:9px;
  height:9px;
  border-right:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
  opacity:.8;
}
#form-section select,.form-select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  cursor:pointer;
  padding-right:28px;
}
#form-section select option,.form-select option{
  background:#0b0b0b;
  color:var(--cream);
}
#form-section input:-webkit-autofill,
#form-section input:-webkit-autofill:hover,
#form-section input:-webkit-autofill:focus,
#form-section textarea:-webkit-autofill,
#form-section textarea:-webkit-autofill:hover,
#form-section textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--cream);
  caret-color:var(--cream);
  -webkit-box-shadow:0 0 0 1000px #050505 inset;
  box-shadow:0 0 0 1000px #050505 inset;
  border-bottom:1px solid rgba(230,225,212,.2);
  transition:background-color 9999s ease-out 0s;
}
.form-row{display:flex;gap:32px}
.form-row .form-field{flex:1}
.checkbox-wrap{
  display:flex;
  gap:6px;
  align-items:center;
  cursor:pointer;
}
#priv-box{width:auto;height:auto;border:none;display:flex;gap:6px;align-items:center;cursor:pointer}
#priv-box input[type="checkbox"]{width:10px;height:10px;accent-color:var(--gold);flex-shrink:0;cursor:pointer}
#priv-box span{font-size:12px;color:var(--cream);line-height:1.5}
#priv-box a{color:var(--gold);text-decoration:none;transition:opacity .2s}
#priv-box a:hover{opacity:.7}
#priv-box .vpg-policy-link,
.footer-legal .vpg-policy-link{
  display:inline;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  font:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
  line-height:inherit !important;
  text-transform:none !important;
  text-decoration:none !important;
  white-space:normal;
  vertical-align:baseline;
  -webkit-appearance:none;
  appearance:none;
  -webkit-text-size-adjust:100%;
  -webkit-text-fill-color:currentColor;
}
#priv-box .vpg-policy-link{
  color:var(--gold) !important;
}
#priv-box .vpg-policy-link:hover,
#priv-box .vpg-policy-link:focus-visible{
  opacity:.7;
}
.checkbox-label{font-size:12px;color:var(--cream)}
.form-actions{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.btn-submit,.submit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 20px;
  border:1px solid var(--gold);
  font-size:10px;
  letter-spacing:3.8px;
  color:var(--gold);
  text-transform:uppercase;
  background:transparent;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  transition:background .3s,color .3s;
  width:fit-content;
}
.btn-submit:hover{background:var(--gold);color:#000}
.req-mark{
  color:var(--gold);
  margin-left:2px;
  font-size:.9em;
}
.form-status{
  opacity:0;
  font-size:12px;
  line-height:1.85;
  color:var(--muted);
  margin-top:20px;
  transition:opacity .4s;
}
.form-status:not(:empty){opacity:1}
.form-status.is-success{
  color:var(--cream);
  border-left:1px solid var(--gold);
  padding-left:16px;
}
.form-status.is-error{
  color:#c98a8a;
  border-left:1px solid #c98a8a;
  padding-left:16px;
}
.form-status-note{
  display:block;
  margin-top:8px;
  font-size:10px;
  letter-spacing:.5px;
  color:var(--dim);
  font-style:italic;
  font-family:'Cormorant Garamond',serif;
}
#form-section input.is-invalid,
#form-section select.is-invalid{
  border-bottom-color:#c98a8a;
}

/* ══════════════════════════════════════════════════════ */
/* FOOTER                                                 */
/* ══════════════════════════════════════════════════════ */
footer{
  background:#000;
  position:relative;
  padding:100px var(--px) 20px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:50px;
}
.footer-bg{
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 55% 75% at 50% 50%, rgba(201,169,110,.07) 0%, transparent 68%);
  pointer-events:none;
}
.footer-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:1;
  clip-path:inset(0 0 100% 0);
}
.site-footer-inner{
  display:flex;flex-direction:column;align-items:center;gap:50px;width:100%
}
.footer-logo{display:block}
.footer-logo img{height:48px;width:auto;display:block;object-fit:contain}
.footer-logo-fallback{font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--gold)}
.footer-brand,.footer-brand-name{
  font-size:10px;
  letter-spacing:1px;
  font-weight:300;
  text-align:center;
  color:var(--cream);
}
.footer-brand-name{
  font-size:13px;
  color:var(--gold);
}
.footer-tagline{
  font-size:15px;
  letter-spacing:1.5px;
  font-weight:300;
  text-align:center;
  color:var(--cream);
  line-height:1.5;
}
.footer-tagline-separator{display:none}
.footer-tagline em{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:17px;
  display:block;
}
.footer-note{
  font-size:10px;
  letter-spacing:1px;
  font-weight:300;
  color:var(--muted);
  text-align:center;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  width:100%;
  font-size:10px;
  letter-spacing:1px;
  font-weight:300;
  color:var(--muted);
  position:relative;
  z-index:1;
}

/* ── MOBILE ────────────────────────────────────────────── */
.footer-legal{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.footer-legal a{color:inherit;text-decoration:none}
.footer-legal .vpg-policy-link{
  color:inherit !important;
}
.footer-legal .vpg-policy-link:hover,
.footer-legal .vpg-policy-link:focus-visible{
  color:var(--cream) !important;
}
@media(max-width:768px){
  :root{--px:24px}
  #hero{padding:40px var(--px) 50px;min-height:100svh}
  .hero-h1{font-size:36px}
  .hero-title{font-size:36px}
  .hero-copy,.hero-content{gap:16px}
  .hero-sub{max-width:100%}
  .hero-ctas{flex-direction:column;gap:14px}
  .hero-ctas .hero-cta,.hero-ctas .btn-access{width:100%;justify-content:center;text-align:center}
  .sec-title,.form-headline{font-size:26px}
  #focus-areas{height:100dvh;min-height:100svh;padding:64px var(--px) 32px}
  #focus-areas>.vpg-shell{gap:18px;height:100%;min-height:0}
  .focus-cards{flex-direction:column;gap:40px}
  .focus-grid{position:relative;flex:1;min-height:0;overflow:hidden}
  #focus-areas .focus-card{position:absolute;width:100%;max-width:100%;bottom:0;left:0}
  .card-num{margin-bottom:18px}
  .card-title{font-size:22px;margin-bottom:18px}
  .card-body{font-size:13px;line-height:1.7}
  #approach{min-height:auto}
  #approach>.vpg-shell{min-height:auto}
  .approach-panel{grid-template-columns:1fr;min-height:auto}
  .approach-media,.approach-visual{min-height:40vh;height:40vh}
  .approach-visual::after{
    background:
      linear-gradient(
        to bottom,
        #000 0%,
        transparent 24%,
        transparent 72%,
        #000 100%
      ),
      linear-gradient(
        to right,
        #000 0%,
        transparent 18%,
        transparent 82%,
        #000 100%
      ),
      radial-gradient(
        ellipse 88% 78% at 50% 46%,
        transparent 34%,
        rgba(0,0,0,0.4) 60%,
        rgba(0,0,0,0.78) 82%,
        #000 100%
      );
  }
  .approach-copy{padding:48px var(--px) 64px;min-height:auto}
  .approach-text{font-size:26px;max-width:100%;padding:20px 0}
  #environments{padding:80px 0}
  .form-grid{flex-direction:column;gap:40px}
  .form-col-left,.form-col-right,.form-right-fields{width:100%;max-width:100%}
  .form-col-right,.form-right-fields,.form-field,.form-select-wrap{min-width:0}
  #form-section select,.form-select{max-width:100%;min-width:0}
  .form-intro{font-size:13px;margin-top:18px;margin-bottom:0}
  .vpg-form{margin-top:32px}
  .field-label{margin-bottom:16px}
  .form-row{flex-direction:column;gap:16px}
  .form-field,.form-row .form-field{width:100%}
  .submit-btn{width:100%}
  .filmstrip-track{grid-template-columns:1fr;gap:40px}
  .film-img-wrap{height:60vw}
  #engagement{padding:60px 0 24px;overflow:visible}
  .engage-text{gap:18px}
  .engage-body{
    max-width:100%;
    clip-path:none !important;
  }
  .engage-globe-wrap{width:85vw;height:82vw;margin:0 auto;overflow:hidden}
  .engage-globe-fade{
    background:
      radial-gradient(circle at 50% 54%, transparent 0%, transparent 62%, rgba(0,0,0,.2) 76%, rgba(0,0,0,.9) 100%),
      linear-gradient(to bottom,#000 0%, rgba(0,0,0,.28) 10%, transparent 22%, transparent 74%, rgba(0,0,0,.72) 90%, #000 100%),
      linear-gradient(to right,#000 0%, rgba(0,0,0,.78) 6%, transparent 18%, transparent 82%, rgba(0,0,0,.78) 94%, #000 100%);
  }
  .form-headline + .form-intro{margin-top:18px}
  .form-headline + .vpg-form{margin-top:32px}
  .form-intro + .vpg-form{margin-top:18px}
  footer{padding:60px var(--px) 20px;gap:32px}
  .footer-center{gap:8px}
  .footer-bottom{flex-direction:column;gap:10px;align-items:center;text-align:center}
  .footer-legal{justify-content:center;gap:10px 16px}
}

.gold { color: #c9a96e; }
em.gold { color: #c9a96e; font-style: italic; }
span.gold { color: #c9a96e; }

#site-header { position:fixed; top:0; left:0; right:0; z-index:100; padding:20px 77px; display:flex; align-items:center; justify-content:space-between; background:transparent; transition:background .4s ease, backdrop-filter .4s ease; }
#site-header.scrolled { background:rgba(0,0,0,.95); backdrop-filter:blur(8px); }
.header-logo img { height:40px; width:auto; display:block; }
.header-logo-text { font-family:'Cormorant Garamond',serif; font-size:22px; color:#e6e1d4; text-decoration:none; }
.header-right { display:flex; align-items:center; gap:32px; }
.header-cta,.hero-cta { display:inline-flex; align-items:center; justify-content:center; padding:8px 16px; border-bottom:1px solid #c9a96e; font-size:10px; letter-spacing:3.8px; color:#c9a96e; text-transform:uppercase; text-decoration:none; font-family:'Inter',sans-serif; transition:opacity .3s; }
.header-cta:hover,.hero-cta:hover { opacity:.6; }
.hero-cta--muted{color:var(--muted);border-bottom-color:var(--muted)}
.hero-cta--muted:hover{opacity:.6}
.site-header .header-cta,#site-header .header-cta{opacity:0;pointer-events:none;transition:opacity .4s ease}
.site-header.scrolled .header-cta,#site-header.scrolled .header-cta{opacity:1;pointer-events:auto}
.lang-switcher { display:flex; gap:12px; }
.lang-switcher a { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:#6b6459; text-decoration:none; transition:color .2s; }
.lang-switcher a:hover, .lang-switcher a.current-lang { color:#c9a96e; }
.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}
.header-actions{display:flex;align-items:center;gap:32px}
.header-languages{list-style:none;margin:0;padding:0}
.header-languages ul{list-style:none;margin:0;padding:0;display:flex;gap:12px}
.header-languages li{display:inline}
.header-languages a{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .2s}
.header-languages a:hover,.header-languages .current-lang{color:var(--gold)}
.header-languages .gtranslate_wrapper{display:inline-flex;align-items:center}
.header-languages select.gt_selector{
  background:transparent;
  border:none;
  color:var(--dim);
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  cursor:pointer;
  outline:none;
  padding:0;
  margin:0;
  appearance:none;
  -webkit-appearance:none;
  transition:color .2s;
}
.header-languages select.gt_selector:hover{color:var(--gold)}
.header-languages select.gt_selector option{
  background:#0b0b0b;
  color:var(--cream);
  text-transform:none;
  letter-spacing:normal;
}
.header-languages img.gt_selector,
.header-languages .gt_selector img,
.header-languages .gtranslate_wrapper img{display:none !important}
#environments .section-heading{text-align:center;padding:0 var(--px) 50px;width:100%}
#environments .section-title{display:inline-block;text-align:center}
#environments .section-title span,
#environments .section-title em{display:block;line-height:1.08}

.page-content { padding:160px 77px 100px; min-height:80vh; }
.page-privacy .entry-content { max-width:720px; font-size:14px; line-height:2; color:#9a938a; }
.page-privacy .entry-content h1, .page-privacy .entry-content h2 { font-family:'Cormorant Garamond',serif; font-weight:400; color:#e6e1d4; margin-bottom:1rem; }

@media(max-width:768px) {
  #site-header { padding:12px 20px; }
  .header-logo img{height:30px}
  .header-actions{gap:12px}
  .header-cta{
    padding:5px 0 4px;
    font-size:8px;
    letter-spacing:1.8px;
    line-height:1;
    white-space:nowrap;
  }
  .header-languages ul{
    gap:8px;
    align-items:center;
  }
  .header-languages a{
    font-family:'Inter',sans-serif;
    font-size:7px;
    letter-spacing:1.4px;
    line-height:1;
    color:var(--dim);
    text-transform:uppercase;
  }
  .header-languages a:hover,.header-languages .current-lang{color:var(--gold)}
  .header-languages select.gt_selector{
    font-size:8px;
    letter-spacing:1.4px;
    text-align:right;
    text-align-last:right;
    margin-left:auto;
    width:72px;
  }
  .page-content { padding:120px 24px 60px; }
}

/* anti flash hero: stato iniziale identico a gsap.set({y:'-110%'}).
   Attivo solo con JS; senza JS la hero resta visibile (fallback). */
html.js #hero-l1,
html.js #hero-l2,
html.js #hero-sub {
  transform: translateY(-110%);
}

/* fallback: se le animazioni non partono (no-anim), mostra gli elementi
   altrimenti nascosti via clip-path in attesa del reveal GSAP. */
html.no-anim .film-num,
html.no-anim .film-img-wrap,
html.no-anim .film-caption,
html.no-anim .engage-body,
html.no-anim .form-headline,
html.no-anim .req-opt,
html.no-anim .form-right-fields,
html.no-anim .footer-center {
  clip-path: none !important;
}

/* fallback focus card: senza animazioni le card si impilano in colonna.
   Nel caso normale (GSAP attivo) niente cambia. */
html.no-anim #focus-areas {
  height: auto;
  min-height: auto;
  overflow: visible;
  justify-content: flex-start;
}
html.no-anim #focus-areas > .vpg-shell {
  height: auto;
}
html.no-anim .focus-grid {
  position: static;
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-height: 0;
  overflow: visible;
}
html.no-anim #focus-areas .focus-card {
  position: static;
  bottom: auto;
  left: auto;
  width: 100%;
  max-width: 340px;
  transform: none !important;
  opacity: 1 !important;
}

@media(min-width:769px){
  #focus-areas .section-heading{ margin-bottom: 48px; }
}
