:root{
  --calce:#f3f1ea;
  --grafite:#111917;
  --ottone:#c9a66b;
  --cemento:#777d78;
  --linea:rgba(17,25,23,.14);
  --carta:#fbfaf6;
  --testo:#3d4541;
  --verde:#193b34;
  --acido:#d8ee62;
  --r:18px;
  --max:1280px;
}

html{scroll-behavior:smooth;background:var(--grafite)}
body{background:var(--calce);overflow-x:hidden}
.w{width:min(var(--max),calc(100% - 72px))}

header{
  background:rgba(243,241,234,.86);
  border-bottom:1px solid rgba(17,25,23,.1);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px)
}
.hd{height:82px}
nav.main{gap:24px}
nav.main a{letter-spacing:.02em}
.lang{border-left-color:rgba(17,25,23,.16)}
.lang-quick{display:none}
.btn{border-radius:999px;background:var(--grafite);border-color:var(--grafite);font-weight:650;letter-spacing:.015em}
.btn:hover{background:var(--verde);border-color:var(--verde);color:#fff;transform:translateY(-2px)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor;opacity:.72}
.btn.ghost:hover{opacity:1;background:rgba(255,255,255,.08)}

.hero{
  min-height:calc(100vh - 82px);
  display:flex;
  align-items:center;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#f8f7f1;
  background:
    radial-gradient(circle at 78% 35%,rgba(216,238,98,.16),transparent 17%),
    radial-gradient(circle at 68% 74%,rgba(201,166,107,.16),transparent 22%),
    linear-gradient(132deg,#101816 0%,#17352f 58%,#0d1513 100%);
}
.hero:before{
  content:"";position:absolute;z-index:-1;inset:-12% -7% -12% 48%;opacity:.72;
  background:
    radial-gradient(circle at 20% 30%,var(--acido) 0 5px,transparent 6px),
    radial-gradient(circle at 69% 18%,var(--ottone) 0 7px,transparent 8px),
    radial-gradient(circle at 78% 67%,var(--acido) 0 5px,transparent 6px),
    radial-gradient(circle at 35% 80%,#fff 0 4px,transparent 5px),
    linear-gradient(28deg,transparent 47.7%,rgba(255,255,255,.24) 48%,rgba(255,255,255,.24) 48.2%,transparent 48.5%),
    linear-gradient(112deg,transparent 49%,rgba(216,238,98,.28) 49.2%,rgba(216,238,98,.28) 49.4%,transparent 49.6%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;transform:rotate(-8deg)
}
.hero:after{
  content:"";position:absolute;z-index:-1;width:420px;height:420px;right:8%;top:50%;transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.14);border-radius:50%;
  box-shadow:0 0 0 76px rgba(255,255,255,.025),0 0 0 152px rgba(255,255,255,.018)
}
.hero .w{padding-top:96px;padding-bottom:72px;position:relative}
.hero .occhiello{color:var(--acido);letter-spacing:.24em}
.hero h1{font-size:clamp(54px,7.3vw,110px);line-height:.91;letter-spacing:-.055em;max-width:900px;margin:24px 0 30px;font-weight:500}
.hero h1 br{display:block}
.hero .intro{color:rgba(255,255,255,.74);font-size:clamp(18px,2vw,24px);max-width:700px;line-height:1.5}
.azioni{margin-top:38px}
.hero .btn{background:var(--acido);border-color:var(--acido);color:var(--grafite)}
.hero .btn:hover{background:#fff;border-color:#fff}
.hero .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.hero .numeri{margin-top:92px;border-top:1px solid rgba(255,255,255,.16);gap:0;background:transparent}
.hero .numeri>div{padding:25px 28px 0 0;border-right:1px solid rgba(255,255,255,.12);background:transparent}
.numeri>div+div{padding-left:28px}
.numeri>div:last-child{border-right:0}
.numeri b{font-size:clamp(28px,3.6vw,48px);color:var(--acido);letter-spacing:-.04em}
.hero .numeri span{color:rgba(255,255,255,.72);max-width:20ch}

main>section:not(.hero){padding:clamp(86px,10vw,146px) 0;position:relative}
main>section:not(.hero) .w{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,2fr);column-gap:clamp(40px,8vw,120px)}
main>section:not(.hero) .occhiello{grid-column:1;color:var(--cemento);padding-top:10px;letter-spacing:.22em}
main>section:not(.hero) h2,main>section:not(.hero) .intro,main>section:not(.hero) .griglia2,main>section:not(.hero) .griglia3,main>section:not(.hero) .membri,main>section:not(.hero) .lavori,main>section:not(.hero) form,main>section:not(.hero) .nota{grid-column:2}
h2{font-size:clamp(40px,5.3vw,74px);line-height:.98;letter-spacing:-.045em;font-weight:500;max-width:15ch;margin-bottom:30px}
.intro{font-size:19px;line-height:1.7;max-width:70ch}

#it-metodo,#en-metodo,#fr-metodo,#de-metodo,#es-metodo{background:#f8f7f2}
#it-metodo:before,#en-metodo:before,#fr-metodo:before,#de-metodo:before,#es-metodo:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:32%;opacity:.45;
  background-image:radial-gradient(rgba(25,59,52,.28) 1px,transparent 1px);background-size:18px 18px;
  mask-image:linear-gradient(to right,#000,transparent)
}
.griglia2,.griglia3{gap:14px;margin-top:55px}
.cella{background:rgba(255,255,255,.64);border:1px solid var(--linea);border-radius:var(--r);padding:34px;transition:transform .25s ease,background .25s ease,border-color .25s ease;position:relative;overflow:hidden}
.cella:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;right:24px;top:24px;background:var(--ottone);box-shadow:0 0 0 6px rgba(201,166,107,.15)}
.cella:hover{transform:translateY(-5px);background:#fff;border-color:rgba(25,59,52,.35)}
.cella .n{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(17,25,23,.18);border-radius:50%;font-size:11px;margin-bottom:50px;color:var(--verde)}
.cella h3{font-size:23px;line-height:1.14;letter-spacing:-.025em;margin-bottom:14px}
.cella p,.cella li{font-size:14.5px;line-height:1.62}
.griglia3 .cella:nth-child(1),.griglia3 .cella:nth-child(5){grid-column:span 2}

#it-servizi,#en-servizi,#fr-servizi,#de-servizi,#es-servizi{background:var(--verde);color:#f8f7f2}
#it-servizi .occhiello,#en-servizi .occhiello,#fr-servizi .occhiello,#de-servizi .occhiello,#es-servizi .occhiello{color:var(--acido)}
#it-servizi .intro,#en-servizi .intro,#fr-servizi .intro,#de-servizi .intro,#es-servizi .intro{color:rgba(255,255,255,.66)}
#it-servizi .cella,#en-servizi .cella,#fr-servizi .cella,#de-servizi .cella,#es-servizi .cella{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.14)}
#it-servizi .cella:hover,#en-servizi .cella:hover,#fr-servizi .cella:hover,#de-servizi .cella:hover,#es-servizi .cella:hover{background:rgba(255,255,255,.1);border-color:rgba(216,238,98,.5)}
#it-servizi .cella .n,#en-servizi .cella .n,#fr-servizi .cella .n,#de-servizi .cella .n,#es-servizi .cella .n{color:var(--acido);border-color:rgba(216,238,98,.4)}
#it-servizi .cella h3,#en-servizi .cella h3,#fr-servizi .cella h3,#de-servizi .cella h3,#es-servizi .cella h3{color:#fff}
#it-servizi .cella p,#it-servizi .cella li,#en-servizi .cella p,#en-servizi .cella li,#fr-servizi .cella p,#fr-servizi .cella li,#de-servizi .cella p,#de-servizi .cella li,#es-servizi .cella p,#es-servizi .cella li{color:rgba(255,255,255,.68)}

.membri{gap:16px;margin-top:55px}
.membro{display:block;border:1px solid var(--linea);border-radius:var(--r);padding:28px;background:#f8f7f2;position:relative;overflow:hidden;transition:.25s}
.membro:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(17,25,23,.1)}
.ritratto{border-radius:50%;width:92px;height:92px;flex:0 0 92px;background:var(--grafite);color:transparent;position:relative}
.membro-visual{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:28px;max-width:none!important}
.membro-visual .ritratto{margin-top:10px}
.foto-membro{display:block;width:100%;aspect-ratio:4/3;min-height:155px;border-radius:14px;border:1px solid rgba(17,25,23,.12);overflow:hidden;background:#e8ebe5}
img.foto-membro{object-fit:cover;object-position:center 25%}
.foto-placeholder{display:flex;align-items:center;justify-content:center;color:rgba(216,238,98,.78);font-size:28px;font-weight:600;letter-spacing:.08em;background:
  radial-gradient(circle at 72% 28%,rgba(216,238,98,.82) 0 4px,transparent 5px),
  linear-gradient(138deg,transparent 49%,rgba(255,255,255,.15) 49.3%,transparent 49.7%),
  linear-gradient(145deg,#183b34,#101816)}
.membro-copy{min-width:0}
.ritratto:before{content:"";position:absolute;inset:13px;border:1px solid rgba(216,238,98,.7);border-radius:50%;background:radial-gradient(circle,var(--acido) 0 4px,transparent 5px)}
.ritratto:after{content:"";position:absolute;left:50%;top:-16px;height:124px;width:1px;background:linear-gradient(transparent,rgba(216,238,98,.55),transparent);transform:rotate(42deg)}
.membro h3{font-size:25px;letter-spacing:-.03em}
.ruolo{color:var(--verde);font-weight:600}
.tag span{border-radius:999px;background:rgba(25,59,52,.07);border:0;padding:7px 11px}
.studio{border-radius:999px;border-color:var(--ottone)}
.membro-contatti{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:18px;color:var(--cemento);font-size:12px;line-height:1.4}
.membro-contatti a{color:var(--grafite);font-weight:700;text-decoration:none}
.membro-contatti a:hover{color:var(--verde)}
.membro-contatti span{flex-basis:100%}
.membro-contatti+.studio{margin-top:14px}

#it-realizzazioni,#en-realizzazioni,#fr-realizzazioni,#de-realizzazioni,#es-realizzazioni{background:#d8ee62;color:var(--grafite)}
.lavori{gap:12px;margin-top:52px}
.opera{overflow:hidden;border-radius:var(--r);background:rgba(255,255,255,.72);border:1px solid rgba(17,25,23,.13);transition:transform .25s ease,box-shadow .25s ease}
.opera:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(17,25,23,.16)}
.opera-img{display:block;width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;background-repeat:no-repeat}
.opera figcaption{padding:22px 22px 24px}
.opera .tit{font-size:20px;font-weight:650;color:var(--grafite)}
.opera .luogo{color:#715a31;margin-top:7px}
.opera .desc{color:var(--testo);font-size:14px}
.opera .credito{color:rgba(17,25,23,.58);border-top-color:rgba(17,25,23,.12)}
.slot{min-height:260px;border:0;border-radius:var(--r);color:rgba(255,255,255,.65);display:flex;align-items:flex-end;padding:24px;background:
  radial-gradient(circle at 72% 28%,rgba(216,238,98,.8) 0 4px,transparent 5px),
  linear-gradient(135deg,transparent 48%,rgba(255,255,255,.16) 48.3%,transparent 48.7%),
  linear-gradient(145deg,#183b34,#101816);transition:.25s}
.slot:hover{transform:scale(.985);color:#fff}
.lavori .slot:nth-child(even){background:
  radial-gradient(circle at 25% 68%,rgba(201,166,107,.9) 0 5px,transparent 6px),
  linear-gradient(35deg,transparent 49%,rgba(255,255,255,.15) 49.2%,transparent 49.6%),
  linear-gradient(145deg,#6c5a3c,#171a18)}

.lavorazioni .cella{background:transparent}
.lavorazioni .cella .n{margin-bottom:36px}

.aziende-partner{background:#eef0e9}
.partner-network{display:grid;grid-template-columns:minmax(230px,.72fr) 74px minmax(0,1.6fr);align-items:stretch;margin-top:52px}
.partner-card,.partner-offers{border:1px solid rgba(17,25,23,.14);border-radius:22px;padding:30px;background:rgba(255,255,255,.68)}
.partner-card{display:flex;min-height:220px;flex-direction:column;justify-content:flex-end;color:var(--grafite);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.partner-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(17,25,23,.11)}
.partner-primary{color:#fff;border-color:rgba(255,255,255,.1);background:
  radial-gradient(circle at 74% 25%,var(--acido) 0 6px,transparent 7px),
  linear-gradient(135deg,transparent 48.5%,rgba(216,238,98,.25) 48.8%,transparent 49.1%),
  linear-gradient(145deg,#183b34,#101816)}
.partner-kicker{display:block;margin-bottom:18px;color:var(--ottone);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.partner-primary .partner-kicker{color:var(--acido)}
.partner-card strong{display:block;font-size:clamp(28px,3.2vw,43px);font-weight:600;letter-spacing:-.04em;line-height:1.05}
.partner-url{margin-top:17px;font-size:13px;opacity:.7}
.partner-connection{position:relative;min-height:220px}
.partner-connection:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(17,25,23,.27)}
.partner-connection span{position:absolute;left:50%;top:50%;width:11px;height:11px;border-radius:50%;background:var(--acido);box-shadow:0 0 0 7px #eef0e9;transform:translate(-50%,-50%)}
.partner-offers{padding:26px}
.partner-offers>.partner-kicker{margin:0 0 18px}
.partner-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.partner-area-list span{padding:14px 16px;border:1px solid rgba(17,25,23,.1);border-radius:13px;background:#fff;color:var(--grafite);font-size:14px;font-weight:700}
.partner-groups{display:grid;gap:12px;margin-top:24px}
.partner-group{overflow:hidden;border:1px solid rgba(17,25,23,.14);border-radius:19px;background:rgba(255,255,255,.72)}
.partner-group summary{display:grid;grid-template-columns:52px minmax(0,1fr) 32px;gap:16px;align-items:center;padding:21px 24px;cursor:pointer;list-style:none}
.partner-group summary::-webkit-details-marker{display:none}
.partner-group summary:after{content:"+";display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(17,25,23,.18);border-radius:50%;font-size:21px;font-weight:400;line-height:1}
.partner-group[open] summary:after{content:"−"}
.partner-index{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--grafite);color:var(--acido);font-size:12px;font-weight:800;letter-spacing:.08em}
.partner-group summary strong{display:block;color:var(--grafite);font-size:20px;line-height:1.15}
.partner-group summary small{display:block;margin-top:5px;color:var(--cemento);font-size:12px;line-height:1.35}
.partner-group-body{padding:0 24px 26px 92px;border-top:1px solid rgba(17,25,23,.1)}
.partner-contact{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:18px 0 20px;color:var(--grafite)}
.partner-contact>span{color:var(--cemento);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.partner-contact strong{font-size:15px}
.partner-contact a{padding:8px 12px;border-radius:999px;background:var(--acido);color:var(--grafite);font-size:13px;font-weight:800;text-decoration:none}
.partner-description{max-width:70ch;margin:0 0 22px;color:var(--testo);font-size:15px;line-height:1.65}
.partner-subgroups{display:grid;gap:28px}
.partner-subgroup h4{margin:0 0 12px;color:var(--ottone);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.partner-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.partner-company-grid a{display:flex;min-height:78px;flex-direction:column;justify-content:space-between;padding:15px 16px;border:1px solid rgba(17,25,23,.11);border-radius:13px;background:#fff;color:var(--grafite);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.partner-company-grid a:hover{border-color:var(--ottone);transform:translateY(-2px)}
.partner-company-grid strong{font-size:14px;line-height:1.25}
.partner-company-grid span{margin-top:10px;color:var(--cemento);font-size:10px;overflow-wrap:anywhere}

.preventivo{background:var(--grafite)!important;color:#fff}
.preventivo .occhiello{color:var(--acido)!important}
.preventivo .intro{color:rgba(255,255,255,.65)}
.preventivo form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:clamp(24px,5vw,58px);margin-top:52px}
.preventivo label{color:rgba(255,255,255,.58)}
.preventivo input,.preventivo select,.preventivo textarea{border-radius:10px;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff;padding:14px}
.preventivo input:focus,.preventivo select:focus,.preventivo textarea:focus{border-color:var(--acido);outline:none}
.invia button{border-radius:999px;background:var(--acido);color:var(--grafite);font-weight:700;padding:16px 28px}

footer{padding-top:76px;background:#0a100f}
.fgrid{gap:60px}

.testo{padding-bottom:90px}
.testo section{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:30px;margin-top:16px}
.testo h1{font-size:clamp(42px,6vw,76px);letter-spacing:-.045em}
.testo section h2{font-size:25px}

@media(max-width:1023px){
  .w{width:min(var(--max),calc(100% - 36px))}
  nav.main{background:rgba(243,241,234,.98)}
  .hd{gap:10px}
  .hd .logo .marchio{width:165px!important}
  .hd>.lang{display:none}
  .lang-quick{
    display:block;
    margin-left:auto;
    width:64px;
    height:42px;
    padding:0 20px 0 12px;
    border:1px solid rgba(17,25,23,.2);
    border-radius:999px;
    background:rgba(255,255,255,.42);
    color:var(--grafite);
    font:700 12px/1 Outfit,Arial,sans-serif;
    letter-spacing:.08em;
    cursor:pointer
  }
  .burger{margin-left:0;flex:0 0 auto}
  .hero{min-height:900px}
  .hero:before{inset:38% -30% -15% 20%}
  .hero:after{right:-180px;top:62%}
  main>section:not(.hero) .w{display:block}
  main>section:not(.hero) .occhiello{margin-bottom:28px}
  .griglia3 .cella:nth-child(1),.griglia3 .cella:nth-child(5){grid-column:auto}
  .partner-network{grid-template-columns:minmax(210px,.7fr) 52px minmax(0,1.5fr)}
  .partner-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .hero{min-height:820px}
  .hero .w{padding-top:80px}
  .hero h1{font-size:50px}
  .hero .numeri{
    margin-top:58px;
    padding:10px;
    gap:8px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:18px;
    background:rgba(4,13,11,.34);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px)
  }
  .hero .numeri>div,.hero .numeri>div+div{
    min-height:126px;
    padding:18px 15px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    background:rgba(255,255,255,.055)
  }
  .hero .numeri b{font-size:34px;line-height:1;color:var(--acido)}
  .hero .numeri span{font-size:12px;line-height:1.4;color:rgba(255,255,255,.78);margin-top:12px}
  .cella{padding:26px}
  .cella .n{margin-bottom:34px}
  .membro{padding:24px}
  .ritratto{width:74px;height:74px;flex-basis:74px}
  .ritratto:after{height:100px}
  .membro-visual{grid-template-columns:74px minmax(0,1fr);gap:14px;margin-bottom:24px}
  .membro-visual .ritratto{margin-top:8px}
  .foto-membro{min-height:120px;border-radius:12px}
  .foto-placeholder{font-size:22px}
  .lavori{grid-template-columns:1fr}
  .opera figcaption{padding:19px}
  .partner-network{grid-template-columns:1fr;gap:16px}
  .partner-card{min-height:190px}
  .partner-connection{display:none}
  .partner-offers{padding:20px}
  .partner-area-list{grid-template-columns:1fr}
  .partner-group summary{grid-template-columns:42px minmax(0,1fr) 28px;gap:11px;padding:17px 15px}
  .partner-index{width:38px;height:38px}
  .partner-group summary:after{width:28px;height:28px;font-size:18px}
  .partner-group summary strong{font-size:17px}
  .partner-group-body{padding:0 15px 20px}
  .partner-contact{align-items:flex-start}
  .partner-contact>span{width:100%}
  .partner-company-grid{grid-template-columns:1fr}
  .partner-company-grid a{min-height:72px}
  .preventivo form{border-radius:20px}
}
