:root{--tn-paper:#f4efe6;--tn-paper-soft:#fffaf2;--tn-ink:#2a241e;--tn-muted:#6e6257;--tn-line:#c8b9a5;--tn-olive:#3f4632;--tn-brown:#8f6b49;--tn-max:1180px}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{margin:0;background:var(--tn-paper);color:var(--tn-ink);font-family:Georgia,"Times New Roman",serif;line-height:1.55;-webkit-font-smoothing:antialiased}
body :where(h1,h2,h3){color:var(--tn-ink);font-family:Georgia,"Times New Roman",serif;text-wrap:balance}
body :where(p,li,figcaption){text-wrap:pretty}
body a:focus-visible{outline:3px solid #b8864d;outline-offset:3px}
body :where(hr){border:0;border-top:1px solid var(--tn-line)}
body ::selection{background:#d9c7aa;color:#201a15}
.tn-fixed-header{position:sticky;top:0;z-index:1000;background:rgba(244,239,230,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(42,36,30,.14);color:#2a241e;font-family:Georgia,"Times New Roman",serif}
.tn-header-inner{max-width:1180px;height:76px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:22px}
.tn-brand{display:flex;align-items:center;min-width:max-content;text-decoration:none;color:inherit}
.tn-brand img{display:block;width:auto;height:54px;max-width:150px;object-fit:contain}
.tn-brand-name{font-size:1rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.tn-main-nav{display:flex;align-items:center;gap:14px;margin-left:auto}
.tn-main-nav a{color:inherit;text-decoration:none;font-size:.84rem;white-space:nowrap}
.tn-main-nav a:hover,.tn-main-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.tn-header-cta{color:inherit;text-decoration:none;border:1px solid #8f6b49;padding:11px 14px;white-space:nowrap;font:600 .72rem/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.tn-menu-btn{display:none;margin-left:auto;border:0;background:transparent;color:inherit;padding:8px;font-size:1.55rem;line-height:1;cursor:pointer}
.tn-fixed-header .tn-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.tn-fixed-header-stack{display:block!important;place-items:initial!important;padding:0!important}
body.tn-fixed-header-stack>.box{margin:48px auto}
@media(max-width:1120px){.tn-main-nav{gap:13px}.tn-main-nav a{font-size:.8rem}.tn-header-cta{padding:10px 11px}}
@media(max-width:920px){.tn-main-nav,.tn-header-cta{display:none}.tn-menu-btn{display:block}.tn-fixed-header.open .tn-header-inner{height:auto;min-height:76px;flex-wrap:wrap;padding-bottom:20px}.tn-fixed-header.open .tn-main-nav{display:flex;order:3;flex:0 0 100%;max-height:calc(100vh - 150px);overflow:auto;flex-direction:column;align-items:flex-start;margin:0;padding:18px 0 4px;border-top:1px solid #c8b9a5}.tn-fixed-header.open .tn-header-cta{display:block;order:4;margin-top:8px}}
@media(max-width:520px){.tn-header-inner{padding:0 16px}.tn-brand img{height:46px;max-width:125px}.tn-brand-name{font-size:.84rem}}
.tn-site-footer{margin-top:72px;background:#262a21;color:#dcd4c8;padding:44px 24px;font-family:Georgia,"Times New Roman",serif}
.tn-footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr);gap:36px;align-items:start}
.tn-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.tn-footer-brand img{display:block;width:auto;height:48px;max-width:150px;object-fit:contain}
.tn-footer-brand p{margin:0;max-width:240px;color:#cfc4b6;font-size:.92rem;line-height:1.5}
.tn-footer-brand span{font:600 .72rem/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.tn-footer-content{display:grid;gap:24px}
.tn-footer-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.tn-footer-email{color:#fff!important;font-size:1.12rem;font-weight:700;text-underline-offset:4px}
.tn-footer-links,.tn-footer-phones,.tn-footer-social{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap}
.tn-site-footer a{color:#f3eadf;text-decoration:none}
.tn-footer-links a:hover,.tn-footer-social a:hover{text-decoration:underline;text-underline-offset:4px}
.tn-footer-label{margin:0 0 10px;color:#d9c39f;font:700 .72rem/1 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.tn-footer-phone{display:flex;flex-direction:column;gap:4px;min-width:210px;padding:14px 16px;border:1px solid rgba(243,234,223,.32)}
.tn-footer-phone strong{color:#fff8ef;font:600 .72rem/1.2 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.tn-footer-phone a{font-size:1.2rem;font-weight:700}
.tn-footer-social a{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border:1px solid rgba(243,234,223,.45);border-radius:4px}
@media(max-width:760px){.tn-footer-inner{grid-template-columns:1fr}.tn-footer-top{align-items:flex-start;flex-direction:column}.tn-footer-phones{align-items:stretch}.tn-footer-phone{flex:1 1 100%}}

/* TN MODULO ENTRA V1 — rifinitura grafica, contenuti e invio invariati */
#entra-journey-form{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:16px;
  row-gap:16px;
  align-items:start;
}
#entra-journey-form>label{margin:0;min-width:0}
#entra-journey-form>label:has(input[name="luogo"]){grid-column:1/-1}
#entra-journey-form input:not([type="hidden"]):not([type="checkbox"]),
#entra-journey-form select{
  width:100%;
  height:58px;
  min-height:58px;
  padding:0 16px;
  border:1px solid rgba(42,36,30,.14);
  background:#fffaf3;
  color:#2f2822;
  border-radius:0;
}
#entra-journey-form textarea{
  width:100%;
  min-height:176px;
  padding:15px 16px;
  border:1px solid rgba(42,36,30,.14);
  background:#fffaf3;
  color:#2f2822;
  border-radius:0;
  resize:vertical;
}
#entra-journey-form .tn-privacy-check-v70{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  margin:10px 0 0!important;
  font-size:.94rem;
  line-height:1.5;
}
#entra-journey-form .tn-privacy-check-v70 input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:3px 0 0!important;
}
#entra-journey-form>.full>.btn{
  display:block;
  width:max-content;
  min-width:245px;
  margin:18px auto 0;
  text-align:center;
}
#entra-journey-form .entra-result{text-align:center}
@media(max-width:620px){
  #entra-journey-form{grid-template-columns:1fr;column-gap:0;row-gap:14px}
  #entra-journey-form>label:has(input[name="luogo"]){grid-column:auto}
  #entra-journey-form>.full>.btn{width:100%;min-width:0}
}
