

@font-face{font-family:'Serif';src:url('../fonts/Pagella-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Serif';src:url('../fonts/Pagella-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Serif';src:url('../fonts/Pagella-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Sans';src:url('../fonts/InstrumentSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Sans';src:url('../fonts/InstrumentSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Mono';src:url('../fonts/GeistMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
::selection{background:#1E3A5F;color:#FAF7F2}
body{margin:0;color:#12151C;background:#FAF7F2;font-family:Sans,sans-serif;font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;position:relative}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");opacity:.028;pointer-events:none;z-index:9999;mix-blend-mode:multiply}
h1,h2,h3,h4{margin:0;font-family:Serif,Georgia,serif;font-weight:400;letter-spacing:-.014em;line-height:1.08}
p{margin:0}
a{color:inherit}
img,svg{max-width:100%;display:block}
em{font-family:Serif,Georgia,serif;font-style:italic}

.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
@media(max-width:720px){.wrap{padding:0 22px}}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* eyebrow / indice — il mono è l’unico elemento "tecnico" */
.idx{font-family:Mono,monospace;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#8B8F99}
.idx-a{color:#EAC038}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;background:#FAF7F2;border-bottom:1px solid #DED7CA;z-index:100}
.hdr .row{display:flex;align-items:center;justify-content:space-between;padding:19px 0}
.logo{display:flex;align-items:baseline;gap:11px;text-decoration:none;color:#12151C}
.logo b{font-family:Serif,serif;font-weight:700;font-size:20px;letter-spacing:-.02em;color:#3A3C42}
.logo span{font-family:Mono,monospace;font-size:9.5px;letter-spacing:.2em;color:#8B8F99}
.nav{display:flex;gap:34px;list-style:none;margin:0;padding:0}
.nav a{text-decoration:none;font-size:14px;color:#4E5460;transition:color .16s;position:relative;padding-bottom:2px}
.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-1px;height:1px;background:#1E3A5F;transition:right .22s ease}
.nav a:hover{color:#12151C}
.nav a:hover::after,.nav a.on::after{right:0}
.nav a.on{color:#12151C}
.hdr-cta{font-family:Mono,monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:#12151C;border-bottom:1.5px solid #EAC038;padding-bottom:3px;transition:color .16s}
.hdr-cta:hover{color:#EAC038}
@media(max-width:900px){.nav{display:none}}

/* ---------- sezioni ---------- */
.sec{padding:112px 0;position:relative}
.sec.tight{padding:84px 0}
.sec-paper2{background:#F2EDE4}
.sec-ink{background:#1E3A5F;color:#FAF7F2}
.sec-ink h1,.sec-ink h2,.sec-ink h3{color:#FAF7F2}
.sec-ink .idx{color:#7E838E}
.sec-ink .lede{color:#B2B6BF}
.rule-top{border-top:1px solid #DED7CA}
.sec-ink.rule-top{border-top-color:rgba(250,247,242,.16)}

/* griglia editoriale asimmetrica: marginalia + colonna testo */
.ed{display:grid;grid-template-columns:130px minmax(0,1fr);gap:0 44px;align-items:start}
@media(max-width:860px){.ed{grid-template-columns:1fr;gap:14px}}
.ed .marg{padding-top:9px}
.ed .marg .num{font-family:Serif,serif;font-size:15px;color:#8B8F99}

/* tipografia display */
.d1{font-size:clamp(40px,6.6vw,86px);line-height:1.02;letter-spacing:-.02em;max-width:15ch}
.d2{font-size:clamp(30px,4.4vw,54px);line-height:1.05;letter-spacing:-.018em;max-width:17ch}
.d3{font-size:clamp(22px,2.6vw,30px);line-height:1.12;letter-spacing:-.012em}
.lede{font-size:clamp(16.5px,1.5vw,19px);color:#4E5460;max-width:50ch;line-height:1.66;margin-top:26px}
.lede.wide{max-width:62ch}
.body-col{max-width:60ch;font-size:17px;line-height:1.75;color:#4E5460;display:flex;flex-direction:column;gap:20px}
.body-col strong{color:#12151C;font-weight:400;font-family:Serif,serif}

/* link/azioni — niente pillole, solo regole tipografiche */
.act{display:inline-flex;align-items:baseline;gap:11px;text-decoration:none;font-family:Mono,monospace;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#12151C;padding-bottom:7px;
  border-bottom:1px solid #1E3A5F;transition:all .2s}
.act .ar{transition:transform .2s}
.act:hover{color:#EAC038;border-bottom-color:#EAC038}
.act:hover .ar{transform:translateX(5px)}
.sec-ink .act{color:#FAF7F2;border-bottom-color:rgba(250,247,242,.4)}
.sec-ink .act:hover{color:#fff;border-bottom-color:#FAF7F2}
.acts{display:flex;gap:40px;flex-wrap:wrap;margin-top:44px}

/* ---------- liste editoriali (sostituiscono le card) ---------- */
.rows{margin-top:64px;border-top:1px solid #DED7CA}
.sec-ink .rows{border-top-color:rgba(250,247,242,.16)}
.row-i{display:grid;grid-template-columns:130px minmax(0,1.05fr) minmax(0,1.15fr) 120px;gap:44px;
  padding:28px 0;border-bottom:1px solid #DED7CA;align-items:start;transition:background .2s}
.sec-ink .row-i{border-bottom-color:rgba(250,247,242,.16)}
.row-i:hover{background:rgba(18,21,28,.022)}
.sec-ink .row-i:hover{background:rgba(250,247,242,.03)}
.row-i .lt{font-family:Serif,serif;font-size:40px;line-height:.9;color:var(--c)}
.row-i h3{font-size:23px}
.row-i .t{font-size:15px;color:#4E5460;line-height:1.62}
.sec-ink .row-i .t{color:#A9AEB8}
.row-i .tag{font-family:Mono,monospace;font-size:9.5px;letter-spacing:.16em;color:var(--c);text-align:right;padding-top:7px}
.row-i .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--c);margin-right:7px;vertical-align:middle}
@media(max-width:900px){.row-i{grid-template-columns:60px 1fr;gap:8px 20px}
  .row-i .t{grid-column:2}.row-i .tag{grid-column:2;text-align:left;padding-top:2px}}

/* blocchi affiancati, separati da filetti invece che da bordi */
.cols{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.blk{padding:38px 40px 38px 0;border-top:1px solid #DED7CA}
.blk + .blk{border-left:1px solid #DED7CA;padding-left:40px}
.cols-3 .blk:nth-child(3n+1){border-left:none;padding-left:0}
.cols .blk:nth-child(2n+1){border-left:none;padding-left:0}
.blk h3{font-size:21px;margin-top:12px}
.blk p{font-size:15px;color:#4E5460;margin-top:12px;line-height:1.66}
.blk .mk{font-family:Serif,serif;font-size:13px;color:var(--c,#8B8F99);font-style:italic}
@media(max-width:860px){.cols,.cols-3{grid-template-columns:1fr}
  .blk,.blk + .blk{border-left:none;padding-left:0;padding-right:0}}

/* citazione a piena pagina */
.pull{font-family:Serif,serif;font-size:clamp(28px,4.4vw,52px);line-height:1.2;letter-spacing:-.018em;max-width:20ch}
.pull i{font-style:italic;color:#D8A0BE}
.pull-attr{margin-top:36px;font-family:Mono,monospace;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:#7E838E}
.pull-attr b{color:#FAF7F2;font-weight:400}

/* dati */
.figs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #DED7CA;margin-top:76px}
.figs .f{padding:26px 24px 0 0}
.figs .n{font-family:Serif,serif;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.02em}
.figs .l{font-family:Mono,monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:#8B8F99;margin-top:12px;line-height:1.5}
@media(max-width:760px){.figs{grid-template-columns:1fr 1fr}}

/* footer */
.spettro{display:flex;height:3px}
.spettro i{flex:1}

.ftr { background-color: #FBF9F6 !important; border-top: 1px solid #EAE6DF; color: #5C5E65; padding: 100px 0 60px; }
.ftr .sig, .ftr h4 { color: #3A3C42 !important; }
.ftr .lk a { color: #5C5E65; }
.ftr .lk a:hover { color: #DBAF5A; }

.ftr .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:56px;
  border-bottom:1px solid rgba(250,247,242,.16)}
.ftr h4{font-family:Mono,monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:#7E838E;margin-bottom:20px}
.ftr .lk{display:flex;flex-direction:column;gap:12px;font-size:14.5px}
.ftr a{text-decoration:none;color:#C3C7CE;transition:color .16s}
.ftr a:hover{color:#FAF7F2}
.ftr .sig{font-family:Serif,serif;font-size:26px;letter-spacing:-.02em;line-height:1.2}
.ftr .sig span{display:block;font-family:Mono,monospace;font-size:9.5px;letter-spacing:.2em;
  color:#7E838E;margin-top:14px}
.ftr .btm{display:flex;justify-content:space-between;padding-top:28px;font-family:Mono,monospace;
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#6E727C;flex-wrap:wrap;gap:14px}
@media(max-width:860px){.ftr .top{grid-template-columns:1fr 1fr;gap:36px}}


/* OVERRIDE DARK MODE SOLO PER LA HOME */
body { background-color: #05050A; color: #ECECF1; overflow-x: hidden; }

.ftr { background-color: #020204; border-top: 1px solid rgba(255,255,255,0.05); }
.ftr .sig, .ftr h4 { color: #FFFFFF; }
.ftr .lk a { color: #8A8F9E; }
.ftr .btm { color: #4A4D5E; }
.idx { color: #8A8F9E; border-color: rgba(255,255,255,0.1); }
.idx::before { background: #8A8F9E; }
.rule-top { border-top: 1px solid rgba(255,255,255,0.05); }

/* UTILITÀ GLOW E TEXT GRADIENTS */
.text-gradient-gold {
    background: linear-gradient(135deg, #FFF 0%, #EAC038 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.glass-card {
    background: rgba(255,255,255,0.02);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 20px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.glass-card:hover {
    transform: translateY(-8px);
    background: rgba(255,255,255,0.04);
}
.glow-blob {
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(234,192,56,0.1) 0%, rgba(0,0,0,0) 70%);
    top: -300px;
    left: -300px;
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}
.btn-premium {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(90deg, #EAC038 0%, #DFAA1A 100%);
    color: #05050A;
    padding: 18px 40px;
    border-radius: 99px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: 0 10px 30px rgba(234,192,56,0.3);
    transition: all 0.3s ease;
}
.btn-premium:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(234,192,56,0.5);
}
.btn-ghost {
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: #FFFFFF;
    padding: 18px 40px;
    border-radius: 99px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s ease;
}
.btn-ghost:hover {
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.5);
}


/* OVERRIDE LUSSO MINIMALISTA SOLO PER LA HOME */
body { background-color: #FFFFFF; color: #3A3C42; overflow-x: hidden; font-family: Sans, sans-serif; }

.ftr { background-color: #FBF9F6 !important; border-top: 1px solid #EAE6DF; color: #5C5E65; padding: 100px 0 60px; }
.ftr .sig, .ftr h4 { color: #3A3C42 !important; }
.ftr .lk a { color: #5C5E65; }
.ftr .lk a:hover { color: #DBAF5A; }

.idx { color: #8F8B83; border-color: #EAE6DF; font-weight: bold; font-family: Mono, monospace; font-size: 17px; letter-spacing: 0.1em; text-transform: uppercase; }
.idx::before { background: #8F8B83; }
.rule-top { border-top: 1px solid #EAE6DF; }

/* CLASSI LUXURY */
.btn-gold {
    display: inline-flex;
    align-items: center;
    background: #DBAF5A;
    color: #FFFFFF;
    padding: 16px 42px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: 1px solid #DBAF5A;
}
.btn-gold:hover {
    background: #CF9F44;
    border-color: #CF9F44;
    color: #FFFFFF;
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: #3A3C42;
    padding: 16px 42px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border: 1px solid #EAE6DF;
    transition: all 0.3s ease;
}
.btn-outline:hover {
    border-color: #DBAF5A;
    color: #DBAF5A;
}

.card-luxury {
    background: #FFFFFF;
    border: 1px solid #EAE6DF;
    padding: 50px 40px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.card-luxury:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.04);
}
