/* Spazio Dor – stile del sito (dal sito originale, font locali) */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/barlow-condensed-400-normal.woff2") format('woff2')}@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/barlow-condensed-600-normal.woff2") format('woff2')}@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/barlow-condensed-700-normal.woff2") format('woff2')}@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/lora-400-normal.woff2") format('woff2')}@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/lora-600-normal.woff2") format('woff2')}@font-face{font-family:'Lora';font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/lora-400-italic.woff2") format('woff2')}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#784890;
  --gold:#F2BF00;
  --red:#CC2200;
  --violet:#6B3FA0;
  --black:#0D0D0D;
  --white:#FFFFFF;
  --off:#F7F6F3;
  --muted:#777;
  --light:#E5E5E5;
}
html{scroll-behavior:smooth}
body{font-family:'Lora',Georgia,serif;background:var(--off);color:var(--black);overflow-x:hidden}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem 3rem;
  background:rgba(247,246,243,0.95);
  backdrop-filter:blur(8px);
  border-bottom:2px solid var(--gold);
}
.nav-logo img{height:32px;display:block}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.8rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--navy);text-decoration:none;
  transition:color .2s;
}
.nav-links a:hover{color:var(--gold)}

/* ── HERO ── */
.hero{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  padding-top:70px;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:5rem 3rem 5rem 4rem;
  border-right:1px solid var(--light);
  background:var(--off);
}
.hero-eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.7rem;font-weight:600;letter-spacing:.25em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:1.5rem;
}
.hero-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(3.5rem,7vw,6.5rem);
  font-weight:700;line-height:.95;
  letter-spacing:-.02em;
  color:var(--navy);
  margin-bottom:1.5rem;
}
.hero-title span{color:var(--gold)}
.hero-sub{
  font-size:1.05rem;font-weight:400;
  color:var(--muted);line-height:1.75;
  max-width:36ch;margin-bottom:2.5rem;
}
.hero-cta{
  display:inline-flex;align-items:center;gap:.75rem;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.75rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--white);
  background:var(--navy);padding:.9rem 2rem;
  text-decoration:none;
  transition:background .2s,gap .2s;
}
.hero-cta:hover{background:var(--gold);gap:1.25rem}
.hero-right{
  position:relative;overflow:hidden;
  background:var(--navy);
}
.hero-right img{
  width:100%;height:100%;object-fit:cover;
  opacity:.85;mix-blend-mode:luminosity;
  transition:transform .8s ease;
}
.hero-right:hover img{transform:scale(1.03)}
.hero-right-label{
  position:absolute;bottom:2rem;left:2rem;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.65rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);
}

/* ── MANIFESTO ── */
.manifesto{
  background:var(--navy);color:var(--white);
  padding:5rem 4rem;
  display:grid;grid-template-columns:auto 1fr;gap:4rem;align-items:center;
}
.manifesto-bar{width:4px;background:var(--gold);align-self:stretch}
.manifesto-text{
  font-size:clamp(1.4rem,2.5vw,2.1rem);
  font-weight:400;line-height:1.5;
  font-style:italic;
}
.manifesto-text strong{font-style:normal;color:var(--gold)}

/* ── SECTIONS COMMON ── */
section{padding:6rem 4rem}
.section-header{
  display:flex;align-items:baseline;gap:1.5rem;
  margin-bottom:3.5rem;
  border-bottom:3px solid var(--gold);
  padding-bottom:1rem;
}
.section-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.65rem;font-weight:700;letter-spacing:.2em;
  color:var(--gold);text-transform:uppercase;
}
.section-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:2.2rem;font-weight:700;
  color:var(--navy);letter-spacing:-.01em;
}

/* ── WORK GRID ── */
#work{background:var(--off)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.project-card{
  position:relative;overflow:hidden;
  background:var(--black);
  cursor:pointer;
}
.project-card img{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  opacity:.7;transition:opacity .4s,transform .5s;
  display:block;
}
.project-card:hover img{opacity:.3;transform:scale(1.05)}
.project-card-wide{grid-column:span 2}
.project-card-wide img{aspect-ratio:16/7}
.project-info{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.5rem;
  background:linear-gradient(transparent,rgba(11,27,52,.9));
  transform:translateY(20px);opacity:0;
  transition:transform .3s,opacity .3s;
}
.project-card:hover .project-info{transform:translateY(0);opacity:1}
.project-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.6rem;font-weight:700;letter-spacing:.2em;
  color:var(--gold);text-transform:uppercase;margin-bottom:.3rem;
}
.project-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.4rem;font-weight:700;color:var(--white);
  margin-bottom:.3rem;
}
.project-tags{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.65rem;letter-spacing:.1em;
  color:rgba(255,255,255,.6);text-transform:uppercase;
}
.project-always{
  position:absolute;top:1rem;left:1rem;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.6rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--white);
  background:var(--navy);padding:.25rem .6rem;
  opacity:.9;
}

/* ── SERVICES ── */
#services{background:var(--white)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--light)}
.service-card{
  padding:2.5rem 2rem;
  border-right:1px solid var(--light);
  transition:background .3s;
}
.service-card:last-child{border-right:none}
.service-card:hover{background:var(--off)}
.service-icon{
  width:40px;height:4px;background:var(--gold);
  margin-bottom:1.5rem;
}
.service-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.5rem;font-weight:700;color:var(--navy);
  margin-bottom:.75rem;
}
.service-desc{font-size:.9rem;color:var(--muted);line-height:1.75;margin-bottom:1.25rem}
.service-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}
.service-list li{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.7rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:.5rem;
}
.service-list li::before{content:'→';color:var(--gold)}

/* ── STUDIO ── */
#studio{background:var(--navy);color:var(--white);padding:0}
.studio-inner{display:grid;grid-template-columns:1fr 1fr}
.studio-left{padding:6rem 4rem;border-right:1px solid rgba(255,255,255,.1)}
.studio-right{padding:6rem 4rem;background:rgba(0,0,0,.2)}
.studio-eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.65rem;font-weight:700;letter-spacing:.25em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;
}
.studio-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2rem,4vw,3.5rem);font-weight:700;
  line-height:1.05;color:var(--white);margin-bottom:1.5rem;
}
.studio-text{font-size:.95rem;color:rgba(255,255,255,.7);line-height:1.85;margin-bottom:1.25rem}
.team-card{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}
.team-card:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.team-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.4rem;font-weight:700;color:var(--gold);margin-bottom:.25rem;
}
.team-role{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:.75rem;
}
.team-bio{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.8}

/* ── CONTACT ── */
#contact{background:var(--red);color:var(--white);text-align:center;padding:7rem 4rem}
.contact-eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.65rem;font-weight:700;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(255,255,255,.6);
  margin-bottom:1.5rem;
}
.contact-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.5rem,6vw,5rem);font-weight:700;
  line-height:1;color:var(--white);margin-bottom:1rem;
}
.contact-sub{
  font-size:1rem;color:rgba(255,255,255,.75);
  max-width:42ch;margin:0 auto 2.5rem;line-height:1.7;
}
.contact-email{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.1rem;font-weight:700;letter-spacing:.1em;
  color:var(--white);text-decoration:none;
  border-bottom:2px solid rgba(255,255,255,.4);
  padding-bottom:.25rem;transition:border-color .2s;
  display:inline-block;margin-bottom:2rem;
}
.contact-email:hover{border-color:var(--white)}

/* ── FORM ── */
.contact-form{
  max-width:640px;margin:2.5rem auto 0;
  text-align:left;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.form-group label{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.65rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(255,255,255,.7);
}
.form-group input,
.form-group select,
.form-group textarea{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  color:var(--white);
  font-family:'Lora',Georgia,serif;font-size:.9rem;
  padding:.75rem 1rem;outline:none;
  transition:border-color .2s,background .2s;
  width:100%;
}
.form-group input::placeholder,
.form-group textarea::placeholder{color:rgba(255,255,255,.4)}
.form-group select option{background:var(--red);color:var(--white)}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:var(--white);
  background:rgba(255,255,255,.18);
}
.form-group textarea{resize:vertical;min-height:120px}
.form-submit{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.8rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;
  background:var(--white);color:var(--red);
  border:none;padding:1rem 2.5rem;
  cursor:pointer;transition:background .2s,color .2s;
  width:100%;margin-top:.5rem;
}
.form-submit:hover{background:var(--navy);color:var(--white)}
.form-success{
  display:none;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3);
  padding:1.5rem;text-align:center;
  font-size:.95rem;color:var(--white);line-height:1.7;
}

/* ── FOOTER ── */
footer{
  background:var(--black);color:rgba(255,255,255,.4);
  padding:2rem 4rem;
  display:flex;justify-content:space-between;align-items:center;
}
footer img{height:22px;opacity:.5}
footer span{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.hero-eyebrow{animation:fadeUp .5s ease both .1s}
.hero-title{animation:fadeUp .6s ease both .25s}
.hero-sub{animation:fadeUp .6s ease both .4s}
.hero-cta{animation:fadeUp .6s ease both .55s}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:1rem 1.5rem}
  .nav-links{display:none}
  .hero{grid-template-columns:1fr}
  .hero-right{display:none}
  .work-grid{grid-template-columns:1fr}
  .project-card-wide{grid-column:span 1}
  .project-card-wide img{aspect-ratio:4/3}
  .services-grid{grid-template-columns:1fr}
  .service-card{border-right:none;border-bottom:1px solid var(--light)}
  .studio-inner{grid-template-columns:1fr}
  section{padding:4rem 1.5rem}
  .manifesto{grid-template-columns:1fr;gap:1.5rem;padding:4rem 1.5rem}
  footer{flex-direction:column;gap:.75rem;text-align:center;padding:2rem 1.5rem}
  .form-row{grid-template-columns:1fr}
}

.nav-right{display:flex;align-items:center;gap:2.5rem}
.lang-switch{display:flex;gap:.55rem;align-items:center;font-family:'Barlow Condensed',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.12em}
.lang-switch a{color:var(--navy);text-decoration:none}
.lang-switch a:hover{color:var(--gold)}
.lang-switch a.on{color:var(--gold)}
.lang-switch .sep{color:var(--light)}
@media(max-width:900px){.nav-right{gap:1rem}}

.footer-links{display:block;margin-top:.4rem}
.footer-links a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.footer-links a:hover{border-color:currentColor;color:var(--gold)}
.legal{max-width:820px;margin:0 auto}
.legal-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.legal-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,6vw,4rem);font-weight:700;line-height:1;color:var(--navy);margin-bottom:2.5rem}
.legal-body{font-family:'Lora',Georgia,serif;color:#222;line-height:1.7}
.legal-muted{font-family:'Barlow Condensed',sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.legal-body h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.45rem;color:var(--navy);margin:2rem 0 .5rem}
.legal-body p{margin:0 0 1rem}.legal-body ul{margin:0 0 1rem 1.1rem}.legal-body li{margin:.35rem 0}
.legal-body a{color:var(--navy);text-decoration:underline}
.legal-back{font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:3px;font-size:.85rem}
.project-link{display:block;text-decoration:none;color:inherit}
.project-card-wide{grid-row:span 2}
.redtile{position:relative;width:100%;height:100%;min-height:clamp(300px,40vh,460px);background:var(--gtred,#CD2128);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:1.1rem}
.redtile-tag{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.04;color:#fff;font-size:clamp(1.5rem,3.4vw,2.8rem);max-width:18ch}
.redtile-go{font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:rgba(255,255,255,.88)}
.project-link:hover .redtile{filter:brightness(1.07)}
.hero-redtile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#CD2128;text-decoration:none;padding:2.5rem;gap:1.3rem}
.hr-tag{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.02;color:#fff;font-size:clamp(2rem,4.6vw,3.8rem);max-width:16ch}
.hero-redtile .hero-right-label{position:static;color:rgba(255,255,255,.92)}
.team-photo{margin:0 0 2rem}
.team-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.team-photo figcaption{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.6rem}
@media(max-width:900px){.hero-redtile{display:flex;min-height:46vh}.project-card-wide{grid-row:span 1}}
@media(max-width:640px){}

/* ---------- aggiunte versione Astro ---------- */
.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:.6rem 1rem;z-index:300}
.skip-link:focus{left:1rem;top:1rem}
.footer-gruppo a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.project-card img{display:block}
.nav-logo img,footer img{width:auto}
.form-privacy{font-size:.85rem;line-height:1.5;color:rgba(255,255,255,.8);margin:.2rem 0 1.2rem}
.form-privacy a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.studio-gruppo a{color:inherit;text-decoration:underline;text-underline-offset:3px}
