
@font-face{font-family:"Inter";src:url("/assets/fonts/Inter-100.latin.woff2") format("woff2");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/Inter-400.latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/Inter-800.latin.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/InstrumentSerif-Italic.latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --d-tocco:90ms;         
  --d-breve:180ms;        
  --d-posa:420ms;         
  --d-apre:180ms;         
  --c-posa:cubic-bezier(.20,.70,.25,1);
  --c-esce:cubic-bezier(.45,0,.55,1);

  --premuto-scala:.985;
  --premuto-velo:.10;     
  --premuto-parola:.72;   

  --fuoco-spessore:2px;
  --fuoco-stacco:2px;     
  --fuoco-raggio:var(--raggio,6px);
  --fuoco-colore:currentColor;

  --o-riposo:.70;         
  --o-filo:.50;           
  --o-ai:.72;             

  --t-corpo:17px;         
  --t-gesto:13px;
  --t-micro:12px;         
  --t-nome:clamp(64px, calc(52px + 3.06vw), 96px);
  --tr-micro:.12em;
  --tr-num:.10em;

  --tocco-min:44px;       
  --ancora-stacco:88px;   

  --dom:#8c8074;
  --tetto-carico:3s;      
}

html{
  -webkit-tap-highlight-color:transparent;
  color-scheme:light;
  overscroll-behavior-y:none;
}

::selection{background:var(--ink,#17140F);color:var(--crema,#F1ECE6)}

:where(a,button,summary,label,[tabindex],[role="button"]){touch-action:manipulation}

:where([id]){scroll-margin-block-start:var(--ancora-stacco)}
@media (prefers-reduced-motion:no-preference){
  html:focus-within{scroll-behavior:smooth}
}

.salta{
  position:absolute;left:var(--bordo-sx,22px);top:14px;z-index:99;
  transform:translateY(-200%);
  background:var(--ink,#17140F);color:var(--crema,#F1ECE6);
  padding:12px 16px;border-radius:var(--raggio,6px);
  font-size:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;
  display:inline-flex;align-items:center;min-height:var(--tocco-min);
}
.salta:focus-visible{transform:none;--fuoco-colore:var(--ink,#17140F)}

.premibile{
  display:block;position:relative;
  -webkit-touch-callout:none;        
  user-select:none;
  transition:scale var(--d-breve) var(--c-posa);
}
.premibile:active,
.premibile.e-premuto{
  scale:var(--premuto-scala);
  transition-duration:var(--d-tocco);
}
.premibile::after{
  content:"";position:absolute;inset:0;
  border-radius:inherit;background:var(--ink,#17140F);
  opacity:0;pointer-events:none;
  transition:opacity var(--d-breve) var(--c-esce);
}
.premibile:active::after,
.premibile.e-premuto::after{
  opacity:var(--premuto-velo);
  transition-duration:var(--d-tocco);
}

.gesto{
  position:relative;display:inline-block;
  font-size:var(--t-gesto);font-weight:400;
  letter-spacing:var(--tr-micro);text-transform:uppercase;
  padding-bottom:5px;
  border-bottom:0;                    
  transition:opacity var(--d-breve) var(--c-esce);
}
button.gesto{background:none;border:0;color:inherit;font:inherit;cursor:pointer}
.libro .gesto::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:currentColor;opacity:var(--o-filo);
  transition:opacity var(--d-breve) var(--c-esce);
}
.libro .gesto::before{
  content:"";position:absolute;
  left:-10px;right:-10px;
  top:calc((var(--tocco-min) - 100%) / -2);
  bottom:calc((var(--tocco-min) - 100%) / -2);
  min-height:var(--tocco-min);
}
a.gesto:active,
a.gesto.e-premuto,
button.gesto:active,
button.gesto.e-premuto{
  opacity:var(--premuto-parola);
  transition-duration:var(--d-tocco);
}
.libro a.gesto:active::after,
.libro a.gesto.e-premuto::after{opacity:1;transition-duration:var(--d-tocco)}

.libro span.gesto::after,
.libro p.gesto::after{content:none}
.libro span.gesto,.libro p.gesto{opacity:var(--o-riposo);cursor:default}

:focus:not(:focus-visible){outline:none}

:where(a,button,summary,input,select,textarea,[tabindex],[role="button"]):focus-visible{
  outline:var(--fuoco-spessore) solid var(--fuoco-colore);
  outline-offset:var(--fuoco-stacco);
  border-radius:var(--fuoco-raggio);
  transition:outline-offset var(--d-tocco) var(--c-posa);
}
:where(a,button):focus-visible:active{outline-offset:0}

.su-foto:focus-visible,
.premibile:focus-visible{--fuoco-colore:var(--bianco,#fff)}

.pista .premibile:focus-visible,
.lamina a:focus-visible{
  outline-offset:-5px;
  outline-width:3px;
}
.pista:focus-visible{outline-offset:var(--fuoco-stacco)}

@media (forced-colors:active){
  :where(a,button,summary,[tabindex]):focus-visible{
    outline:3px solid CanvasText;outline-offset:3px;
  }
  .premibile::after{display:none}
}

a.gesto:not(:active):not(.e-premuto):focus-visible{opacity:1}
a.gesto:not(:active):not(.e-premuto):focus-visible::after{opacity:1}
@media (hover:hover) and (pointer:fine){
  a.gesto:not(:active):not(.e-premuto):hover{opacity:1}
  a.gesto:not(:active):not(.e-premuto):hover::after{opacity:1}
  .libro .premibile:hover .didascalia{opacity:1}
  .premibile:not(:active):not(.e-premuto):hover::after{opacity:.04}
}

.posa{
  display:block;position:relative;overflow:hidden;
  border-radius:var(--raggio,6px);
  background-color:var(--dom);
}
.posa img{display:block;width:100%;height:auto;border-radius:0}

@media (prefers-reduced-motion:no-preference){
  html.js .posa img{
    opacity:0;
    animation:ux-rivela 1ms linear var(--tetto-carico) forwards;
  }
  html.js .posa img.e-carica{
    opacity:1;
    transition:opacity var(--d-posa) var(--c-posa);
    animation:none;
  }
  html.js .posa img.e-subito{transition:none}
}
@keyframes ux-rivela{to{opacity:1}}

.posa img.e-rotta{opacity:1;animation:none}

.libro .didascalia{
  display:flex;gap:14px;align-items:baseline;margin-top:13px;
  font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;
  opacity:var(--o-riposo);
  transition:opacity var(--d-breve) var(--c-esce);
}

.copia{
  display:none;
  background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;
  cursor:pointer;
}
html.js .copia{display:inline-block}
.copia[data-fatto="si"]{opacity:1}
.copia[data-fatto="si"]::after{opacity:1}
.copia__eco{
  position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
}
.fuori::before{
  content:"";position:absolute;left:-10px;right:-10px;
  top:calc((var(--tocco-min) - 100%) / -2);bottom:calc((var(--tocco-min) - 100%) / -2);
  min-height:var(--tocco-min);
}
.fuori{position:relative;display:inline-block}
.fuori>span[aria-hidden]{opacity:var(--o-filo);margin-left:.35em;font-size:.85em}

.libro .o-riposo{opacity:var(--o-riposo)}
.libro .tag{font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;font-weight:400;opacity:var(--o-riposo)}
.libro .num{font-size:var(--t-gesto);font-weight:100;letter-spacing:.14em;font-variant-numeric:tabular-nums;opacity:var(--o-riposo)}
.libro .scheda dt{font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;opacity:var(--o-riposo)}
.libro .dove{font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;opacity:var(--o-riposo)}
.libro .corpo{font-size:var(--t-corpo);line-height:1.5}

.libro .ai{
  font-size:var(--t-micro);
  letter-spacing:.01em;
  line-height:1.55;
  opacity:var(--o-ai);
  max-width:52ch;
  text-transform:none;
  font-weight:400;
}
.libro .ai.su-foto{opacity:1;color:var(--bianco,#fff)}

.vuoto{
  display:grid;place-items:center;
  min-height:180px;border-radius:var(--raggio,6px);
  border:1px dashed var(--hair,rgba(23,20,15,.14));
  background:none;
  font-family:"Instrument Serif",serif;font-style:italic;
  font-size:var(--t-corpo);
  opacity:var(--o-riposo);
  text-align:center;padding:24px;
}
.uscite{display:flex;gap:34px;flex-wrap:wrap;align-items:baseline;margin-top:30px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0s !important;
    animation-iteration-count:1 !important;
    transition-duration:0s !important;
    scroll-behavior:auto !important;
  }
  .premibile:active,.premibile.e-premuto{scale:1}
  .premibile:active::after,.premibile.e-premuto::after{opacity:var(--premuto-velo)}
  .posa img{opacity:1 !important;animation:none !important}
  .libro .didascalia{opacity:1}
}

@media (prefers-reduced-motion:no-preference){
  html.js [data-rivela]{opacity:0;translate:0 12px}
  html.js [data-rivela].e-visto{
    opacity:1;translate:none;
    transition:opacity var(--d-posa) var(--c-posa),translate var(--d-posa) var(--c-posa);
  }
  html.js [data-rivela].e-subito{transition:none}
}

body.ky .didascalia{display:block;letter-spacing:normal;text-transform:none}

:root{
  --crema:#F1ECE6;        
  --sale-ky:#F4EFE9;      
  --ink:#17140F;
  --ink-ky:#26231E;
  --bianco:#FFFFFF;
  --nero:#0B0A09;
  --grigio-km:#767676;
  --rosso:#FF3B30;        
  --rosso-tocco:#C8102E;
  --gutter:120px;
  --hair:rgba(23,20,15,.14);
  --raggio:6px;
  --raggio-foglio:18px;   
  --bordo-sx:max(var(--gutter), env(safe-area-inset-left));
  --bordo-dx:max(var(--gutter), env(safe-area-inset-right));
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--crema);
  color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

img,video,figure,picture,
.still,.casella{border-radius:var(--raggio)}
.a-filo{border-radius:0}
.a-filo--basso{border-radius:0 0 var(--raggio) var(--raggio)}

.logo{display:block;height:auto;border-radius:0}
a.logo-casa{display:inline-block;border-radius:0;flex:none;position:relative}
a.logo-casa .wm{font-size:14px}
a.logo-casa::before{
  content:"";position:absolute;left:-10px;right:-10px;
  top:calc((var(--tocco-min) - 100%) / -2);bottom:calc((var(--tocco-min) - 100%) / -2);
  min-height:var(--tocco-min);
}
.wm2{
  font-family:"Inter",system-ui,sans-serif;
  text-transform:uppercase;line-height:1;
  display:inline-block;white-space:nowrap;
}
.wm2 b{font-weight:800;letter-spacing:-.035em}
.wm2 i{
  font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;
  font-size:1.039em;letter-spacing:.01em;margin-left:.045em;
}
.dove{font-weight:400;font-size:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;opacity:.55}
a:focus-visible,
[tabindex]:focus-visible{outline:var(--fuoco-spessore) solid var(--fuoco-colore);outline-offset:var(--fuoco-stacco);border-radius:var(--fuoco-raggio)}

.wm{
  font-family:"Inter",system-ui,sans-serif;
  text-transform:uppercase;
  line-height:.92;
  display:inline-block;
  white-space:nowrap;
}
.wm b{font-weight:800;letter-spacing:-.022em}
.wm i{
  font-weight:100;font-style:normal;
  letter-spacing:.015em;
  margin-left:-.016em;   
  margin-right:-.015em;  
}

.tag{font-weight:400;font-size:12px;letter-spacing:var(--tr-micro);text-transform:uppercase}
.num{font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:var(--tr-num);font-size:13px}
.gesto{
  font-weight:400;font-size:13px;letter-spacing:var(--tr-micro);text-transform:uppercase;
  border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block;
}
.ai{font-weight:400;font-size:var(--t-micro);letter-spacing:.06em}
.firma{font-weight:400;font-size:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase}
.barchetta{
  width:18px;height:auto;
  display:inline-block;vertical-align:-.16em;
  margin-right:.62em;
  border-radius:0;             
  pointer-events:none;
}
.serif{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic}
.su-foto{color:var(--bianco)}

.solo-lettore{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;
}

.scheda{display:grid;grid-template-columns:auto 1fr;column-gap:22px;row-gap:9px;align-items:baseline}
.scheda dt{font-size:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;font-weight:400;opacity:.55}
.scheda dd{font-size:16px;font-weight:400;font-variant-numeric:tabular-nums}

.lingua{
  display:inline-flex;align-items:center;gap:8px;margin:0;
  font-size:13px;font-weight:400;letter-spacing:var(--tr-micro);text-transform:uppercase;line-height:19px;
}
.lingua a,.lingua span[aria-current]{position:relative;display:inline-flex;align-items:center;min-height:19px}
.lingua span[aria-current]{font-weight:800}
.lingua a{opacity:var(--o-riposo);transition:opacity var(--d-breve) var(--c-esce);z-index:1}   
.lingua a::before{
  content:"";position:absolute;left:-16px;right:-16px;
  top:calc((var(--tocco-min) - 100%) / -2);bottom:calc((var(--tocco-min) - 100%) / -2);
  min-height:var(--tocco-min);
}
.lingua__sep{display:inline-block;width:1px;height:12px;background:currentColor;opacity:var(--o-filo);border-radius:0}
.lingua a:focus-visible{opacity:1}   
@media (hover:hover) and (pointer:fine){
  .lingua a:hover{opacity:1}
  .lingua a:hover,
  a:where(:not([class])):hover{
    text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;
    text-decoration-color:currentColor;
  }
}

.coda{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:26px 40px;
  padding:56px var(--bordo-dx) 64px var(--bordo-sx);border-top:1px solid var(--hair);
}
.coda__dopo{display:grid;row-gap:12px;justify-items:start}
.coda__dopo .tag{opacity:var(--o-riposo)}
.coda__nome{font-weight:800;font-size:34px;line-height:1;letter-spacing:-.03em;text-transform:uppercase}
@media (min-width:769px){
  .coda{padding:88px var(--bordo-dx) 96px var(--bordo-sx)}
  .coda__nome{font-size:56px}
}
.richiesta__mail{font-size:var(--t-corpo,16px);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.richiesta__eco{font-size:var(--t-gesto,13px);line-height:1.5;opacity:var(--o-riposo);max-width:44ch}

.piede{
  padding:96px var(--bordo-dx) calc(88px + env(safe-area-inset-bottom)) var(--bordo-sx);
  display:flex;justify-content:space-between;align-items:baseline;gap:32px;
}

a.gesto:focus-visible{opacity:.62}
@media (hover:hover) and (pointer:fine){
  a.gesto:hover{opacity:.62}
}

.ext-richiesta .gesto,
.richiesta .gesto,
.piede a.gesto[href$="/contact/"],
.frammento--parola .verbo{color:var(--rosso-tocco)}

@media (max-width:768px){
  :root{--gutter:22px}
  :root{scroll-padding-bottom:calc(var(--barra,0px) + 12px + env(safe-area-inset-bottom))}
  .gesto{padding-bottom:7px}
  .piede{
    padding:56px var(--bordo-dx) calc(52px + env(safe-area-inset-bottom)) var(--bordo-sx);
    flex-direction:column;gap:18px;
  }
}

img,video{
  -webkit-user-drag:none;user-drag:none;
  -webkit-touch-callout:none;
  -webkit-user-select:none;user-select:none;
}
.premibile::after{pointer-events:auto}   

.ad{row-gap:26px}
.ad .ad__dl{display:grid;grid-template-columns:minmax(0,1fr);column-gap:0;max-width:760px}
.ad .ad__dl>div{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:18px;row-gap:0;
  align-items:baseline;border-top:1px solid var(--hair);padding:10px 0}
.ad .ad__dl dt{font-size:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;
  opacity:var(--o-riposo);border:0;padding:0}
.ad .ad__dl dd{font-size:16px;line-height:1.4;font-variant-numeric:tabular-nums;border:0;padding:0;margin:0}
.ad .ad__st{opacity:var(--o-riposo)}
.ad .ad__sez{margin:0 calc(-1 * var(--bordo-dx)) 0 calc(-1 * var(--bordo-sx));display:grid;row-gap:10px}
.ad .ad__sez img{display:block;width:100%;height:auto;background:#f2f1ec}
.ad .ad__sez figcaption{padding:0 var(--bordo-dx) 0 var(--bordo-sx);font-size:var(--t-micro);
  letter-spacing:var(--tr-micro);text-transform:uppercase;opacity:1}
.ad .ad__metodo{font-weight:400;font-size:16px;line-height:1.5;max-width:46ch}
.ad .gesto{justify-self:start}
.tec-riga.apertura__riga{margin-top:14px}
.bivio__tec{font-size:var(--t-micro);letter-spacing:.01em;line-height:1.55;margin-top:6px;max-width:52ch}
@media (min-width:769px){
  .ad .ad__dl>div{grid-template-columns:220px minmax(0,1fr);column-gap:26px}
  .ad .ad__dl dd{font-size:17px}
  .ad .ad__sez{margin:0;max-width:1320px}
  .ad .ad__sez img{border-radius:var(--raggio)}
  .ad .ad__sez figcaption{padding:0}
  .ad .ad__metodo{font-size:18px}
}
