@font-face{font-family:'Instrument Serif';src:url(fonts/instrument-serif-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(fonts/instrument-serif-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url(fonts/instrument-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url(fonts/instrument-sans-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}

:root{--sand:#e9dfd0;--clay:#c9a98a;--umber:#2a1d15;--umber2:#4a3324;--cream:#f7f1e8;--ink:#1d1510;--mute:#6f5f51;--rust:#9a4a22;
--serif:'Instrument Serif',Georgia,'Times New Roman',serif;--sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--maxw:1240px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--cream);color:var(--ink);padding:10px 16px;z-index:100}
.skip:focus{left:8px}
.serif{font-family:var(--serif);font-weight:400}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 48px}

/* header */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .35s,box-shadow .35s,color .35s;color:#fff}
.hd .in{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px 48px;transition:padding .35s}
.hd.solid,.hd.stuck{background:#f7f1e8f2;color:var(--ink);backdrop-filter:blur(10px);box-shadow:0 1px 0 #2a1d1514}
.hd.stuck .in{padding-top:14px;padding-bottom:14px}
.logo{font:400 29px/1 var(--serif);letter-spacing:.005em;white-space:nowrap}
.logo small{display:block;font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;opacity:.75;margin-top:6px}
.nav{display:flex;gap:32px;list-style:none;font-size:14px}
.nav a{padding:6px 0;border-bottom:1px solid transparent;transition:border-color .25s}
.nav a:hover,.nav a[aria-current]{border-color:currentColor}
.pill{border:1px solid currentColor;border-radius:40px;padding:10px 20px;font-size:14px;transition:.3s;white-space:nowrap}
.hd .pill:hover{background:var(--cream);color:var(--umber);border-color:var(--cream)}
.hd.solid .pill:hover,.hd.stuck .pill:hover{background:var(--umber);color:var(--cream);border-color:var(--umber)}
.burger{display:none;background:none;border:0;color:inherit;width:44px;height:44px;cursor:pointer}
.burger span{display:block;height:1px;background:currentColor;margin:8px 10px;transition:.3s}
@media(max-width:960px){
  .hd .in{padding:16px 22px}
  .nav,.hd .pill{display:none}
  .burger{display:block}
  .hd.open{background:var(--umber);color:var(--cream)}
  .hd.open .nav{display:flex;flex-direction:column;position:fixed;inset:72px 0 0 0;background:var(--umber);padding:36px 22px;gap:22px;font:400 34px/1.1 var(--serif)}
  .hd.open .nav a{border:0}
  .hd.open .burger span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .hd.open .burger span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#3a281c}
.hero svg{position:absolute;inset:0;width:100%;height:100%}
.hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,#1d120a55 0%,#0000 30%,#1d120ab3 100%)}
.hero .in{position:relative;width:100%;max-width:1400px;margin:0 auto;padding:0 48px 80px}
.hero h1{font:400 clamp(46px,8vw,128px)/.97 var(--serif);letter-spacing:-.02em;max-width:1000px}
.hero h1 i{font-style:italic;color:#f1d9bd}
.hero p{max-width:540px;margin-top:28px;font-size:18px;color:#f3e7d8}
.hero .cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 30px;border-radius:40px;font-weight:500;font-size:15px;transition:.3s;border:1px solid transparent}
.btn.l{background:var(--cream);color:var(--umber)}.btn.l:hover{background:var(--clay)}
.btn.g{border-color:#ffffff99;color:#fff}.btn.g:hover{background:#ffffff22}
.btn.d{background:var(--umber);color:var(--cream)}.btn.d:hover{background:var(--rust)}
.btn.o{border-color:var(--ink)}.btn.o:hover{background:var(--ink);color:var(--cream)}
.beam{animation:beam 7s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes beam{from{opacity:.07}to{opacity:.2}}
@media(prefers-reduced-motion:reduce){.beam{animation:none}html{scroll-behavior:auto}}

/* page hero (sottopagine) */
.ph{background:var(--umber);color:var(--cream);padding:176px 0 88px}
.ph .eb{color:var(--clay)}
.ph h1{font:400 clamp(44px,6vw,92px)/1 var(--serif);letter-spacing:-.02em;max-width:900px}
.ph p{margin-top:24px;max-width:640px;font-size:19px;color:#d8c8b4}
.crumb{font-size:13px;letter-spacing:.08em;margin-bottom:28px;color:#bfae98}
.crumb a:hover{color:#fff}

/* blocchi */
.eb{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--rust);margin-bottom:18px;font-weight:500}
h2.t{font:400 clamp(36px,5vw,70px)/1.03 var(--serif);letter-spacing:-.015em;max-width:900px}
h2.t i{font-style:italic;color:var(--rust)}
.st{max-width:1100px;margin:0 auto;padding:150px 48px 130px}
.st p{font:400 clamp(28px,3.8vw,50px)/1.2 var(--serif);letter-spacing:-.01em}
.st p span{color:var(--mute)}
.sec{padding:120px 0}
.sec.sand{background:var(--sand)}
.sec.dark{background:var(--umber);color:var(--cream)}
.sec.dark .eb{color:var(--clay)}
.sec.dark h2.t i{color:var(--clay)}

/* aree */
.ar{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--umber)}
.ar a{background:var(--umber);color:var(--cream);padding:48px 34px 52px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;transition:background .5s}
.ar a:hover{background:var(--umber2)}
.ar small{font-size:12px;letter-spacing:.2em;color:var(--clay)}
.ar h3{font:400 38px/1.05 var(--serif);margin-bottom:14px}
.ar p{font-size:15px;color:#d8c8b4;line-height:1.6}
.ar .go{display:inline-block;margin-top:22px;font-size:14px;color:var(--clay);border-bottom:1px solid #c9a98a66;padding-bottom:2px}

/* metodo */
.met{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:72px}
.met div{border-top:1px solid var(--ink);padding-top:24px}
.met b{font:500 13px var(--sans);letter-spacing:.2em;color:var(--rust);display:block;margin-bottom:34px}
.met h3{font:400 34px/1.1 var(--serif);margin-bottom:12px}
.met p{color:#4d3f33;font-size:16px}

/* persone: elenco tipografico */
.roster{margin-top:72px;border-top:1px solid #ffffff33}
.rw{display:grid;grid-template-columns:200px 1.1fr 1.4fr;gap:48px;padding:40px 0;border-bottom:1px solid #ffffff33;align-items:baseline}
.rw .loc{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay)}
.rw h3{font:400 clamp(34px,4vw,56px)/1 var(--serif);letter-spacing:-.01em}
.rw .role{display:block;font:400 17px var(--sans);color:var(--clay);margin-top:12px;letter-spacing:0}
.rw p{color:#d8c8b4;max-width:520px}
.rw a.m{display:inline-block;margin-top:14px;color:var(--cream);border-bottom:1px solid #c9a98a88;font-size:15px}
.rw a.m:hover{color:var(--clay)}
@media(max-width:900px){.rw{grid-template-columns:1fr;gap:12px}}

/* sedi */
.cities{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px}
.c{border-top:1px solid var(--ink);padding-top:22px}
.c h3{font:400 56px/1 var(--serif)}
.c address{font-style:normal;margin-top:14px;color:#4d3f33}
.c .t{color:var(--rust);font-size:15px}
.c a.m{display:inline-block;margin-top:14px;font-size:15px;border-bottom:1px solid currentColor}

/* faq */
.faq{margin-top:56px;border-top:1px solid var(--ink);max-width:900px}
.faq details{border-bottom:1px solid #2a1d1533;padding:22px 0}
.faq summary{cursor:pointer;font:400 28px/1.2 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:24px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';font:300 30px/1 var(--sans);color:var(--rust);transition:.3s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq p{margin-top:14px;color:#4d3f33;max-width:720px}

/* contatti */
.ct{background:var(--umber);color:var(--cream);padding:130px 0}
.ct .g{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.ct h2{font:400 clamp(40px,5.4vw,80px)/1 var(--serif);letter-spacing:-.015em}
.ct .lines{margin-top:40px;display:grid;gap:18px;font-size:17px}
.ct .lines small{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay)}
.ct .lines a{border-bottom:1px solid #f7f1e855}
.ct .lines a:hover{border-color:var(--clay)}
form{display:grid;gap:18px}
label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);display:block;margin-bottom:6px}
input,textarea,select{width:100%;background:transparent;border:0;border-bottom:1px solid #f7f1e866;color:var(--cream);font:400 18px var(--sans);padding:10px 0;border-radius:0}
select option{color:#000}
textarea{min-height:120px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--clay)}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#d8c8b4}
.chk input{width:auto;margin-top:5px}
.chk a{border-bottom:1px solid currentColor}
.fnote{font-size:13px;color:#bfae98}
@media(max-width:900px){.ct .g{grid-template-columns:1fr;gap:56px}}

/* contenuti sottopagine */
.pg{display:grid;grid-template-columns:1fr 340px;gap:96px;padding:96px 0 120px}
.prose h2{font:400 clamp(30px,3.4vw,44px)/1.1 var(--serif);margin:56px 0 18px;letter-spacing:-.01em}
.prose h2:first-child{margin-top:0}
.prose p{color:#33271e;margin-bottom:1.1em;font-size:18px}
.prose ul{margin:0 0 1.4em;list-style:none;border-top:1px solid #2a1d1533}
.prose li{padding:15px 0;border-bottom:1px solid #2a1d1533;font-size:18px;display:flex;gap:16px}
.prose li:before{content:'—';color:var(--rust)}
.side{position:sticky;top:110px;align-self:start;border-top:1px solid var(--ink);padding-top:22px}
.side h3{font:400 28px var(--serif);margin-bottom:14px}
.side p{font-size:15px;color:#4d3f33;margin-bottom:18px}
.side ul{list-style:none;margin-bottom:26px}
.side li a{display:block;padding:9px 0;border-bottom:1px solid #2a1d1522;font-size:15px}
.side li a:hover{color:var(--rust)}
.legal h2{font:400 34px var(--serif);margin:44px 0 12px}
.legal p,.legal li{margin-bottom:.8em;max-width:760px}
.legal ul{padding-left:20px}
.todo{background:#fff3d6;padding:1px 6px;border-radius:3px}
@media(max-width:960px){.pg{grid-template-columns:1fr;gap:56px;padding:64px 0 80px}.side{position:static}}

/* footer */
.ft{background:#160f0a;color:#b8a791;padding:64px 0 36px;font-size:15px}
.ft .g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.ft b{display:block;font:400 28px var(--serif);color:var(--cream);margin-bottom:8px}
.ft h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);font-weight:500;margin-bottom:14px}
.ft li{list-style:none;margin-bottom:6px}
.ft a:hover{color:#fff}
.ft .bt{margin-top:48px;padding-top:24px;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
@media(max-width:900px){.ft .g{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ft .g{grid-template-columns:1fr}}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
.no-js .rv{opacity:1;transform:none}

@media(max-width:1000px){.ar{grid-template-columns:1fr 1fr}.met,.cities{grid-template-columns:1fr}.met{gap:40px}}
@media(max-width:700px){.wrap{padding:0 22px}.hero .in{padding:0 22px 56px}.st{padding:90px 22px}.sec{padding:80px 0}.ar{grid-template-columns:1fr}.ar a{min-height:260px}.ph{padding:130px 0 64px}.ct{padding:80px 0}}
