@charset "UTF-8";
:root{
  --paper:#f4ecdd;--paper-2:#e8dbc4;--ink:#201b17;--muted:#756b61;
  --black:#11100e;--red:#7f2d39;--gold:#ad8a57;--stone:#8c8275;
  --line:rgba(47,38,30,.17);--shadow:0 28px 80px rgba(12,10,8,.16);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);color:var(--ink)}
body{margin:0;font-family:var(--sans);background:var(--paper);line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}.container{width:min(1240px,calc(100% - 48px));margin:auto}
.eyebrow{font:600 .72rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.display{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.92}
.section{padding:120px 0;border-top:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:end;margin-bottom:64px}
.section-head h2{font-size:clamp(3rem,7vw,7rem);margin:8px 0 0}.section-head p{max-width:620px;color:var(--muted);font-size:1.08rem;margin:0 0 8px}
.header{position:fixed;z-index:80;top:0;left:0;right:0;height:76px;display:flex;align-items:center;transition:.35s;background:linear-gradient(to bottom,rgba(10,9,8,.75),transparent);color:#fff}
.header.scrolled{background:rgba(244,236,221,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);color:var(--ink)}
.nav{width:min(1400px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:28px}
.brand{font:500 1.18rem/1 var(--serif);letter-spacing:.05em;margin-right:auto}.brand small{display:block;font:500 .59rem/1.6 var(--mono);letter-spacing:.15em;text-transform:uppercase;opacity:.72;margin-top:5px}
.navlinks{display:flex;gap:22px;align-items:center;font-size:.86rem}.navlinks a{opacity:.82}.navlinks a:hover{opacity:1}
.nav-cta{border:1px solid currentColor;padding:9px 15px;border-radius:999px;font:600 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.menu-btn{display:none;background:none;border:0;color:inherit;font-size:1.4rem}
.hero{min-height:100svh;position:relative;background:#11100e;color:#f7f1e5;display:grid;align-items:end;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 50%,transparent 0 18%,rgba(10,9,7,.68) 46%,rgba(10,9,7,.96) 82%),linear-gradient(100deg,#0d0c0a 0%,rgba(13,12,10,.58) 55%,#0d0c0a 100%);z-index:2}
.hero-paper{position:absolute;right:4vw;top:5vh;width:min(54vw,760px);height:90vh;background:url('images/01-albenzio-cortone.webp') center 52%/cover no-repeat;filter:sepia(.35) contrast(1.08) brightness(.74);transform:rotate(2.2deg);box-shadow:0 0 120px rgba(192,145,83,.13)}
.hero-seal{position:absolute;right:13vw;top:24vh;width:min(32vw,470px);aspect-ratio:1;background:url('images/seal-1.webp') center/cover;border-radius:50%;mix-blend-mode:screen;filter:grayscale(1) sepia(.3) contrast(1.4);opacity:.64;animation:sealBreath 8s ease-in-out infinite;z-index:3}
@keyframes sealBreath{50%{transform:scale(1.025) rotate(.6deg);opacity:.78}}
.hero-content{position:relative;z-index:4;padding:160px 0 72px}.hero-kicker{font:600 .75rem/1.2 var(--mono);letter-spacing:.17em;text-transform:uppercase;color:#d0b184}.hero h1.hero-title{font-size:clamp(1.1rem,2.2vw,1.9rem)!important;max-width:560px;margin:18px 0 22px;line-height:1.02;letter-spacing:-.02em;text-wrap:balance}.hero-title span{display:block;white-space:nowrap}.hero-lead{font-family:var(--serif);font-size:clamp(1.25rem,2.3vw,2rem);max-width:720px;color:#e6dac8}.hero-actions{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border:1px solid var(--line);border-radius:999px;font:600 .75rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;transition:.25s}.btn.primary{background:var(--red);color:#fff;border-color:var(--red)}.btn.ghost{border-color:rgba(255,255,255,.45)}.btn:hover{transform:translateY(-2px)}
.hero-meta{display:flex;gap:30px;margin-top:76px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font:500 .7rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#cdbfae}
.thesis-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.thesis-quote{font-size:clamp(3.2rem,7vw,7rem);margin:0}.thesis-copy{max-width:650px}.thesis-copy p{font:400 clamp(1.25rem,2.1vw,1.7rem)/1.45 var(--serif);color:#4d433a}.rule{height:1px;background:var(--line);margin:35px 0}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.fact strong{font:400 2.8rem/1 var(--serif)}.fact span{display:block;font:.68rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:8px}
.archive{height:360vh;background:var(--black);color:var(--paper);position:relative}.archive-sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}.archive-stage{width:min(1280px,92vw);height:78vh;position:relative;border:1px solid rgba(255,255,255,.13);background:#17130f;box-shadow:0 30px 100px #000}
.archive-doc{position:absolute;inset:0;background:url('images/01-albenzio-cortone.webp') center 52%/cover no-repeat;filter:grayscale(1) sepia(.3) brightness(.56) contrast(1.22);transform:scale(calc(1 + var(--archive-p,0)*.13));opacity:calc(.35 + var(--archive-p,0)*.38)}
.archive-light{position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 20%,rgba(248,229,189,.28) 44%,rgba(255,247,223,.6) 50%,transparent 58%);transform:translateX(calc(-70% + var(--archive-p,0)*145%)) rotate(-4deg);mix-blend-mode:screen}
.archive-seal{position:absolute;width:min(40vw,560px);aspect-ratio:1;right:9%;top:13%;background:url('images/seal-1.webp') center/cover;border-radius:50%;filter:grayscale(1) sepia(.25) contrast(1.45);opacity:clamp(0,calc((var(--archive-p,0) - .14)*1.7),.9);transform:scale(calc(.72 + var(--archive-p,0)*.36)) rotate(calc(-9deg + var(--archive-p,0)*15deg));mix-blend-mode:screen}
.archive-text{position:absolute;left:5%;bottom:8%;z-index:4;max-width:570px}.archive-text h2{font-size:clamp(3rem,7vw,7.5rem);margin:8px 0 15px}.archive-text p{font-family:var(--serif);font-size:1.2rem;color:#d7c9b7;max-width:520px}.archive-progress{position:absolute;right:26px;bottom:28px;z-index:6;font:600 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#d0b184}.archive-progress::before{content:"";display:block;width:160px;height:1px;background:rgba(255,255,255,.2);margin-bottom:12px}.archive-progress i{display:block;height:2px;width:calc(var(--archive-p,0)*160px);background:#d0b184;margin-top:-14px;margin-bottom:12px}
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journey-card{min-height:350px;border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.18);transition:.3s}.journey-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.journey-card .num{font:600 .68rem/1 var(--mono);letter-spacing:.14em;color:var(--red)}.journey-card h3{font:400 2.15rem/1.04 var(--serif);margin:0}.journey-card p{color:var(--muted);margin:0}.journey-card:nth-child(2),.journey-card:nth-child(5){margin-top:46px}
.featured{background:var(--paper-2)}.seal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.seal-card{position:relative;background:var(--paper);border:1px solid rgba(50,40,30,.14);min-height:560px;overflow:hidden;cursor:pointer;transition:.3s}.seal-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.seal-card img{width:100%;height:385px;object-fit:cover;object-position:center 52%;filter:sepia(.18) contrast(1.04);transition:.5s}.seal-card:hover img{transform:scale(1.025)}.seal-info{padding:24px}.seal-id{font:600 .66rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.seal-card h3{font:400 2rem/1.05 var(--serif);margin:11px 0}.seal-meta{display:flex;justify-content:space-between;color:var(--muted);font:.71rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em}
.anatomy-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.anatomy-visual{position:relative;min-height:640px;background:#e7dbc7;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.anatomy-visual img{width:78%;max-height:560px;object-fit:contain;filter:grayscale(1) sepia(.35) contrast(1.22);mix-blend-mode:multiply}.hotspot{position:absolute;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;border:4px solid rgba(255,255,255,.68);display:grid;place-items:center;font:700 .72rem/1 var(--mono);cursor:pointer;box-shadow:0 4px 22px rgba(85,20,31,.35)}.hotspot[data-i="1"]{left:46%;top:18%}.hotspot[data-i="2"]{left:32%;top:41%}.hotspot[data-i="3"]{left:57%;top:50%}.hotspot[data-i="4"]{left:50%;top:70%}
.anatomy-list{display:grid;gap:8px}.anatomy-item{border-top:1px solid var(--line);padding:18px 0}.anatomy-item button{width:100%;display:flex;justify-content:space-between;background:none;border:0;padding:0;text-align:left;font:400 1.38rem/1.2 var(--serif);color:var(--ink);cursor:pointer}.anatomy-item p{display:none;color:var(--muted);max-width:520px}.anatomy-item.active p{display:block}.anatomy-item.active button{color:var(--red)}

.timeline-section{background:#171512;color:var(--paper);overflow:hidden}
.timeline-section .section-head{align-items:end;margin-bottom:40px}
.timeline-shell{position:relative;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));box-shadow:0 30px 100px rgba(0,0,0,.24);padding:26px 26px 12px;overflow:hidden}
.timeline-shell::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(208,177,132,.08),transparent 26%),radial-gradient(circle at 84% 74%,rgba(208,177,132,.06),transparent 22%);pointer-events:none}
.timeline-shell-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:8px}
.timeline-hint{font:600 .66rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d0b184}
.timeline-progress-ui{display:flex;align-items:center;gap:12px;font:600 .65rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#cbb89c;white-space:nowrap}
.timeline-progress-ui em{display:block;position:relative;width:180px;height:2px;background:rgba(255,255,255,.14);border-radius:999px;font-style:normal;overflow:hidden}
.timeline-progress-ui i{display:block;position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,#c99f65,#f0d8ab);border-radius:999px;box-shadow:0 0 18px rgba(208,177,132,.35)}
.timeline-tree-track{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#9c7c4c rgba(255,255,255,.08);padding:18px 0 34px;cursor:grab}
.timeline-tree-track::-webkit-scrollbar{height:12px}
.timeline-tree-track::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px}
.timeline-tree-track::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#8d6d42,#d0b184);border-radius:999px;border:2px solid rgba(23,21,18,.55)}
.timeline-tree-track.is-dragging{cursor:grabbing}
.timeline-tree{--timeline-progress:0;position:relative;display:flex;gap:26px;min-width:max-content;padding:118px 42px 132px}
.timeline-tree::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;transform:translateY(-50%);background:linear-gradient(90deg,rgba(121,97,68,.28),rgba(155,126,90,.88),rgba(121,97,68,.32));border-radius:999px;box-shadow:0 0 0 1px rgba(255,255,255,.03)}
.timeline-tree::after{content:"";position:absolute;left:0;top:50%;height:3px;width:calc(var(--timeline-progress) * 100%);transform:translateY(-50%);background:linear-gradient(90deg,#d0b184,#f1ddb7);border-radius:999px;box-shadow:0 0 22px rgba(208,177,132,.28)}
.time-item{--offset:-82px;flex:0 0 312px;position:relative;z-index:1;padding:24px 24px 22px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(180deg,rgba(244,236,221,.08),rgba(244,236,221,.02));backdrop-filter:blur(7px);box-shadow:0 24px 70px rgba(0,0,0,.16);scroll-snap-align:start;opacity:.18;transform:translateY(calc(var(--offset) + 16px)) scale(.96);transform-origin:center;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .45s ease,border-color .35s ease,box-shadow .35s ease}
.time-item:nth-child(even){--offset:82px}
.time-item.is-visible{opacity:1;transform:translateY(var(--offset)) scale(1)}
.time-item:hover{border-color:rgba(208,177,132,.42);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.time-item::before{content:"";position:absolute;left:44px;width:64px;height:82px;opacity:.9}
.time-item:nth-child(odd)::before{bottom:-82px;border-left:2px solid rgba(151,125,91,.92);border-bottom:2px solid rgba(151,125,91,.92);border-bottom-left-radius:46px}
.time-item:nth-child(even)::before{top:-82px;border-left:2px solid rgba(151,125,91,.92);border-top:2px solid rgba(151,125,91,.92);border-top-left-radius:46px}
.time-item::after{content:"";position:absolute;left:106px;width:14px;height:14px;border-radius:50%;background:#d0b184;box-shadow:0 0 0 8px rgba(208,177,132,.08),0 0 18px rgba(208,177,132,.18)}
.time-item:nth-child(odd)::after{bottom:-89px}
.time-item:nth-child(even)::after{top:-89px}
.time-year{display:block;font:600 .68rem/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#d0b184}
.time-item h3{font:400 2.2rem/1.02 var(--serif);margin:12px 0 10px}
.time-item p{color:#b9aa98;min-height:46px;margin:0 0 12px}
.time-item a{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font:600 .66rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#ecd5b1}
.time-item a::after{content:"";width:18px;height:1px;background:currentColor;opacity:.8}
@media(max-width:1000px){
  .timeline-shell-head{flex-direction:column;align-items:flex-start}
  .timeline-progress-ui em{width:140px}
  .timeline-tree{gap:18px;padding:92px 26px 108px}
  .time-item{flex-basis:278px;padding:22px 20px}
  .time-item h3{font-size:1.9rem}
  .time-item::before{left:34px;width:52px;height:66px}
  .time-item:nth-child(odd)::before{bottom:-66px}
  .time-item:nth-child(even)::before{top:-66px}
  .time-item::after{left:84px}
  .time-item:nth-child(odd)::after{bottom:-73px}
  .time-item:nth-child(even)::after{top:-73px}
}
@media(max-width:680px){
  .timeline-shell{padding:18px 16px 10px}
  .timeline-tree-track{padding-bottom:26px}
  .timeline-tree{gap:14px;padding:76px 18px 94px}
  .time-item{flex-basis:244px;border-radius:22px;--offset:-54px}
  .time-item:nth-child(even){--offset:54px}
  .time-item h3{font-size:1.65rem}
  .time-item p{min-height:auto}
  .time-item::before{left:28px;width:40px;height:44px}
  .time-item:nth-child(odd)::before{bottom:-44px}
  .time-item:nth-child(even)::before{top:-44px}
  .time-item::after{left:66px;width:12px;height:12px}
  .time-item:nth-child(odd)::after{bottom:-50px}
  .time-item:nth-child(even)::after{top:-50px}
}

.immersive{background:#0f0e0c;color:#f3eadb}.immersive-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}.immersive-media{position:relative;min-height:620px;overflow:hidden}.immersive-media img{width:100%;height:620px;object-fit:cover;filter:saturate(.7) contrast(1.06) brightness(.75)}.immersive-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0f0e0c)}.sensory-list{display:grid;gap:22px}.sensory{border-top:1px solid rgba(255,255,255,.18);padding-top:18px}.sensory span{font:600 .66rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#d0b184}.sensory h3{font:400 1.8rem/1 var(--serif);margin:8px 0}.sensory p{color:#b7a997;margin:0}
.schools{display:grid;grid-template-columns:1fr 1fr;gap:50px}.school-panel{padding:44px;border:1px solid var(--line);background:#fff7eb}.school-panel.dark{background:var(--red);color:#fff;border-color:var(--red)}.school-panel h3{font:400 3rem/1 var(--serif);margin:18px 0}.school-steps{counter-reset:step;display:grid;gap:14px;margin-top:32px}.school-steps div{display:flex;gap:15px;border-top:1px solid currentColor;padding-top:13px;opacity:.9}.school-steps div::before{counter-increment:step;content:"0" counter(step);font:600 .65rem/1.6 var(--mono)}
.visit{background:var(--paper-2)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.date-card{background:var(--black);color:var(--paper);padding:45px;min-height:450px;display:flex;flex-direction:column;justify-content:space-between}.date-card .big-date{font:400 clamp(5rem,12vw,10rem)/.8 var(--serif)}.date-card .month{font:600 .75rem/1 var(--mono);text-transform:uppercase;letter-spacing:.15em;color:#d0b184}.info-list{border-top:1px solid var(--line)}.info-row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.info-row span{font:600 .66rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.newsletter{background:var(--red);color:#fff;padding:95px 0}.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.newsletter h2{font-size:clamp(3.5rem,8vw,7.5rem);margin:10px 0}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.55);padding:15px 3px;font:400 1rem var(--sans);outline:none}.field::placeholder{color:rgba(255,255,255,.65)}.field.wide{grid-column:1/-1}.check{grid-column:1/-1;font-size:.75rem;color:rgba(255,255,255,.78);display:flex;gap:10px}.form .btn{justify-content:center;background:#fff;color:var(--red);border-color:#fff;grid-column:1/-1;margin-top:10px}
.footer{background:#0d0c0a;color:#cfc2b2;padding:55px 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer h4{font:400 1.45rem var(--serif);color:#fff;margin:0 0 15px}.footer a{display:block;color:#b8aa99;margin:8px 0;font-size:.86rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:42px;padding-top:22px;font:.65rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between}
.page-hero{padding:170px 0 85px;background:#171512;color:var(--paper)}.page-hero h1{font-size:clamp(4.2rem,10vw,10rem);margin:10px 0 28px}.page-hero p{font:400 1.35rem/1.45 var(--serif);max-width:760px;color:#cfc2b2}
.filterbar{position:sticky;top:76px;z-index:30;background:rgba(244,236,221,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:15px 0}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search{flex:1;min-width:250px;padding:12px 14px;border:1px solid var(--line);background:#fff7eb}.chip{border:1px solid var(--line);padding:9px 12px;border-radius:999px;background:none;cursor:pointer;font:600 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.chip.active{background:var(--red);color:#fff;border-color:var(--red)}
.catalogue{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:70px 0 120px}.catalogue .seal-card{min-height:460px}.catalogue .seal-card img{height:290px}.catalogue .seal-card h3{font-size:1.55rem}
.modal{position:fixed;inset:0;z-index:100;background:rgba(10,9,8,.82);display:none;place-items:center;padding:30px}.modal.open{display:grid}.modal-card{width:min(1120px,96vw);max-height:90vh;overflow:auto;background:var(--paper);box-shadow:0 40px 120px #000;position:relative}.modal-close{position:sticky;float:right;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:var(--black);color:#fff;z-index:2;cursor:pointer}.modal-grid{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.modal-image{background:#ddd1bc;padding:40px;display:grid;place-items:center}.modal-image img{max-width:100%;max-height:650px;object-fit:contain;mix-blend-mode:multiply}.modal-copy{padding:60px}.modal-copy h2{font-size:clamp(2.5rem,5vw,5rem);margin:10px 0}.modal-copy h3{font:400 1.6rem var(--serif);margin:30px 0 8px}.modal-copy p{color:#5f544b}.status{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e8dbc4;font:600 .62rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.visit-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:80px 0}.visit-box{border:1px solid var(--line);padding:38px;min-height:280px}.visit-box h2{font:400 2.4rem/1 var(--serif);margin:0 0 18px}.map-placeholder{min-height:500px;background:radial-gradient(circle at 40% 40%,rgba(173,138,87,.25),transparent 30%),linear-gradient(145deg,#ded0b9,#bba98f);position:relative;display:grid;place-items:center}.map-placeholder::before{content:"Montevergine";font:400 5rem/1 var(--serif);color:rgba(38,30,24,.35);transform:rotate(-8deg)}
@media(max-width:1000px){.navlinks{display:none}.menu-btn{display:block}.nav.open .navlinks{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--paper);color:var(--ink);padding:24px;flex-direction:column}.section-head,.thesis-grid,.anatomy-grid,.immersive-grid,.schools,.visit-grid,.newsletter-grid,.modal-grid{grid-template-columns:1fr}.journey,.seal-grid{grid-template-columns:1fr 1fr}.catalogue{grid-template-columns:repeat(3,1fr)}.section-head{align-items:start}.hero-paper{width:80vw;right:-20vw}.hero-seal{width:55vw;right:-2vw}.footer-grid{grid-template-columns:1fr 1fr}.immersive-media::after{background:linear-gradient(0deg,#0f0e0c,transparent 50%)}}
@media(max-width:680px){.container{width:min(100% - 28px,1240px)}.section{padding:85px 0}.hero h1.hero-title{font-size:clamp(0.95rem,5.1vw,1.35rem)!important;letter-spacing:-.02em;line-height:1.02}.hero-content{padding-bottom:40px}.hero-meta{flex-direction:column;gap:8px}.fact-row,.journey,.seal-grid,.catalogue,.footer-grid,.visit-page-grid{grid-template-columns:1fr}.journey-card:nth-child(2),.journey-card:nth-child(5){margin-top:0}.catalogue .seal-card img{height:350px}.archive-stage{height:82vh}.archive-seal{width:78vw;right:-8%;top:18%}.archive-text{left:7%;right:7%}.archive-text h2{font-size:3.5rem}.archive-progress{display:none}.anatomy-visual{min-height:460px}.anatomy-visual img{width:100%}.immersive-media,.immersive-media img{height:450px;min-height:450px}.form{grid-template-columns:1fr}.field,.field.wide,.check,.form .btn{grid-column:1}.modal{padding:8px}.modal-copy{padding:32px}.modal-image{padding:20px}.modal-grid{min-height:auto}.footer-bottom{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.archive{height:auto}.archive-sticky{position:relative;height:90vh}.archive-light{display:none}}

.seal-meta span:first-child{max-width:76%}.seal-meta span:last-child{white-space:nowrap}

/* === MONTEVERGINE HEADER FINAL LAYOUT === */

/* Header sempre giallino, anche prima dello scroll */
.header,
.header.scrolled{
  background:rgba(244,236,221,.92) !important;
}

/* Header più alto e più arioso */
.header .nav{
  min-height:104px !important;
  height:104px !important;
  display:flex !important;
  align-items:center !important;
  width:min(100% - 48px, 1440px) !important;
  max-width:1440px !important;
  margin:0 auto !important;
  padding:0 !important;
  gap:0 !important;
}

/* Logo più grande e SEMPRE visibile */
.header .nav .brand.brand-logo-link,
.header.scrolled .nav .brand.brand-logo-link{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 238px !important;
  width:238px !important;
  max-width:238px !important;
  height:82px !important;
  max-height:82px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
  position:relative !important;
  inset:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}

.header .nav .brand.brand-logo-link .brand-logo,
.header.scrolled .nav .brand.brand-logo-link .brand-logo{
  display:block !important;
  position:static !important;
  width:228px !important;
  height:76px !important;
  max-width:228px !important;
  max-height:76px !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}

/* Tutta la navigazione principale viene spinta a destra */
.header .nav .navlinks{
  margin-left:auto !important;
  margin-right:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:34px !important;
}

/* Link dell'header sempre neri */
.header .nav .navlinks a,
.header.scrolled .nav .navlinks a{
  color:#111 !important;
  opacity:1 !important;
}

/* Più respiro anche tra navigazione e CTA finale */
.header .nav .nav-cta{
  margin-left:34px !important;
  color:#111 !important;
}

/* Se la CTA ha bordo/fondo ereditato, manteniamo il testo nero */
.header.scrolled .nav .nav-cta{
  color:#111 !important;
}

/* Tablet */
@media (max-width:1100px){
  .header .nav{
    width:min(100% - 36px, 1200px) !important;
  }

  .header .nav .brand.brand-logo-link,
  .header.scrolled .nav .brand.brand-logo-link{
    flex-basis:210px !important;
    width:210px !important;
    max-width:210px !important;
  }

  .header .nav .brand.brand-logo-link .brand-logo,
  .header.scrolled .nav .brand.brand-logo-link .brand-logo{
    width:200px !important;
    max-width:200px !important;
  }

  .header .nav .navlinks{
    gap:24px !important;
  }

  .header .nav .nav-cta{
    margin-left:24px !important;
  }
}

/* Mobile: manteniamo il logo presente e lasciamo lavorare il menu hamburger */
@media (max-width:900px){
  .header .nav{
    min-height:88px !important;
    height:88px !important;
    width:min(100% - 28px, 100%) !important;
  }

  .header .nav .brand.brand-logo-link,
  .header.scrolled .nav .brand.brand-logo-link{
    flex-basis:186px !important;
    width:186px !important;
    max-width:186px !important;
    height:68px !important;
    max-height:68px !important;
  }

  .header .nav .brand.brand-logo-link .brand-logo,
  .header.scrolled .nav .brand.brand-logo-link .brand-logo{
    width:178px !important;
    height:62px !important;
    max-width:178px !important;
    max-height:62px !important;
  }
}

@media (max-width:680px){
  .header .nav{
    min-height:80px !important;
    height:80px !important;
  }

  .header .nav .brand.brand-logo-link,
  .header.scrolled .nav .brand.brand-logo-link{
    flex-basis:164px !important;
    width:164px !important;
    max-width:164px !important;
    height:60px !important;
    max-height:60px !important;
  }

  .header .nav .brand.brand-logo-link .brand-logo,
  .header.scrolled .nav .brand.brand-logo-link .brand-logo{
    width:156px !important;
    height:54px !important;
    max-width:156px !important;
    max-height:54px !important;
  }
}

/* === SCHOOLS SINGLE PANEL LAYOUT === */
.schools.schools-single{
  grid-template-columns:1fr !important;
  justify-items:center;
}

.schools.schools-single .school-panel{
  width:min(100%, 980px);
  margin:0 auto;
}

@media(max-width:680px){
  .schools.schools-single .school-panel{
    width:100%;
  }
}

/* === SCHOOLS RICH IMAGE START === */
.schools.schools-rich{
  grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr) !important;
  gap:28px;
  align-items:stretch;
  justify-items:stretch;
}

.schools.schools-rich .school-panel{
  width:auto !important;
  margin:0 !important;
  min-height:620px;
  padding:52px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 100% 0,rgba(173,138,87,.10),transparent 34%),
    #fff7eb;
}

.schools.schools-rich .school-panel::before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-92px;
  top:-92px;
  border:1px solid rgba(127,45,57,.15);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(173,138,87,.04),0 0 0 56px rgba(173,138,87,.025);
  pointer-events:none;
}

.schools.schools-rich .school-panel h3{
  font-size:clamp(2.6rem,4.6vw,4.7rem);
  max-width:720px;
}

.schools.schools-rich .school-panel p{
  max-width:680px;
  font-size:1.04rem;
}

.schools.schools-rich .school-steps{
  margin-top:38px;
}

.school-visual{
  position:relative;
  min-height:620px;
  margin:0;
  padding:18px;
  border:1px solid rgba(50,40,30,.16);
  background:#ded0b9;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.school-visual::before,
.school-visual::after{
  content:"";
  position:absolute;
  z-index:3;
  width:54px;
  height:54px;
  pointer-events:none;
}

.school-visual::before{
  left:10px;
  top:10px;
  border-left:1px solid rgba(173,138,87,.85);
  border-top:1px solid rgba(173,138,87,.85);
}

.school-visual::after{
  right:10px;
  bottom:10px;
  border-right:1px solid rgba(173,138,87,.85);
  border-bottom:1px solid rgba(173,138,87,.85);
}

.school-visual-frame{
position:absolute;
  inset:18px;
  overflow:hidden;
  background:#cfc0a7;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}

.school-visual-frame::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 70px rgba(42,31,20,.12);
  pointer-events:none;
}

.school-visual img{
width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:saturate(.88) contrast(1.025);
  transform:scale(.965);
  transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .45s ease;
}

.school-visual:hover img{
transform:scale(.985);
  filter:saturate(.98) contrast(1.04);
}

.school-visual figcaption{
position:absolute;
  z-index:4;
  left:38px;
  right:38px;
  bottom:38px;
  padding:10px 14px 9px;
  background:rgba(17,16,14,.86);
  color:var(--paper);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.14);
}

.school-visual figcaption span{
display:block;
  font:600 .55rem/1.15 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#d0b184;
  margin-bottom:3px;
}

.school-visual figcaption strong{
display:block;
  font:400 1.28rem/1 var(--serif);
}

@media(max-width:1000px){
  .schools.schools-rich{
    grid-template-columns:1fr !important;
  }

  .schools.schools-rich .school-panel,
  .school-visual{
    min-height:auto;
  }

  .school-visual{
    aspect-ratio:4/5;
    max-width:760px;
    width:100%;
    justify-self:center;
  }
}

@media(max-width:680px){
  .schools.schools-rich .school-panel{
    padding:34px 26px;
  }

  .school-visual{
    padding:10px;
    aspect-ratio:3/4;
  }

  .school-visual-frame{
    inset:10px;
    padding:8px;
  }

  .school-visual figcaption{
    left:22px;
    right:22px;
    bottom:22px;
    padding:8px 11px 7px;
  }
}
/* === SCHOOLS RICH IMAGE END === */

/* === SCHOOL FLIPBOOK START === */
.school-flipbook-cta{width:min(1240px,calc(100% - 48px));margin:34px auto 0;display:flex;justify-content:center}
.school-flipbook-button{appearance:none;border:1px solid rgba(127,45,57,.28);background:linear-gradient(120deg,rgba(255,255,255,.16),transparent 38%),var(--red);color:#fff;min-width:min(430px,100%);padding:17px 22px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"kicker arrow" "title arrow";column-gap:28px;text-align:left;cursor:pointer;box-shadow:0 18px 45px rgba(73,25,34,.16);transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.school-flipbook-button:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(73,25,34,.24);background:linear-gradient(120deg,rgba(255,255,255,.20),transparent 38%),#8e3340}
.school-flipbook-button-kicker{grid-area:kicker;font:600 .61rem/1.2 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#e4cda9;margin-bottom:7px}
.school-flipbook-button-title{grid-area:title;font:400 1.55rem/1 var(--serif)}
.school-flipbook-button-arrow{grid-area:arrow;align-self:center;font:400 1.55rem/1 var(--serif);transition:transform .28s ease}
.school-flipbook-button:hover .school-flipbook-button-arrow{transform:translateX(5px)}

.school-flipbook-modal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.school-flipbook-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.school-flipbook-backdrop{position:absolute;inset:0;background:rgba(10,9,8,.91);backdrop-filter:blur(13px)}
.school-flipbook-dialog{position:relative;z-index:2;width:min(1260px,97vw);height:min(920px,94vh);background:#171512;color:var(--paper);border:1px solid rgba(255,255,255,.13);box-shadow:0 35px 110px rgba(0,0,0,.58);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.school-flipbook-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.12)}
.school-flipbook-heading{min-width:0}.school-flipbook-heading span{display:block;font:600 .59rem/1.2 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#d0b184;margin-bottom:5px}.school-flipbook-heading strong{display:block;font:400 1.18rem/1.15 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.school-flipbook-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.school-flipbook-pdf{border:1px solid rgba(255,255,255,.22);padding:9px 12px;font:600 .61rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#d9c7aa}.school-flipbook-close{width:40px;height:40px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}

.school-flipbook-stage{min-height:0;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:16px;align-items:center;padding:20px 24px;background:radial-gradient(circle at 50% 48%,rgba(208,177,132,.115),transparent 35%),linear-gradient(180deg,#12110f,#0d0c0a)}
.school-real-book-shell{position:relative;min-width:0;min-height:0;width:100%;height:100%;display:grid;place-items:center;overflow:visible}
.school-real-book{width:100%;height:100%;display:grid;place-items:center}
.school-real-book .stf__parent{margin:auto!important}
.school-real-book canvas{filter:drop-shadow(0 28px 34px rgba(0,0,0,.42))}
.school-real-book-loading,.school-real-book-error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;color:#cbbba4;font:600 .63rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.school-real-book-loading::before{content:"";width:28px;height:28px;margin:0 auto 7px;border-radius:50%;border:2px solid rgba(208,177,132,.22);border-top-color:#d0b184;animation:realBookLoader .8s linear infinite}.school-real-book-loading.is-hidden{display:none}.school-real-book-error strong{font:400 1.25rem/1.2 var(--serif);letter-spacing:0;text-transform:none;color:#f1e4d1}.school-real-book-error span{color:#a99b88}@keyframes realBookLoader{to{transform:rotate(360deg)}}

.school-flipbook-nav{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.05);color:#e6d0ad;font-size:1.35rem;cursor:pointer;transition:.25s}.school-flipbook-nav:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff;transform:scale(1.05)}.school-flipbook-nav:disabled{opacity:.22;cursor:default}
.school-flipbook-footer{display:grid;grid-template-columns:auto minmax(120px,320px) auto;gap:18px;align-items:center;padding:14px 22px;border-top:1px solid rgba(255,255,255,.12);font:600 .60rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#c7b59c}.school-flipbook-progress{height:2px;background:rgba(255,255,255,.12);overflow:hidden}.school-flipbook-progress i{display:block;width:6.666%;height:100%;background:#d0b184;transition:width .35s ease}.school-flipbook-tip{text-align:right;color:#8f8170}
body.flipbook-open{overflow:hidden}

@media(max-width:760px){.school-flipbook-cta{width:min(100% - 28px,1240px);margin-top:24px}.school-flipbook-button{min-width:100%}.school-flipbook-modal{padding:0}.school-flipbook-dialog{width:100vw;height:100svh;border:0}.school-flipbook-toolbar{padding:13px 14px}.school-flipbook-heading strong{font-size:.92rem;max-width:58vw}.school-flipbook-pdf{display:none}.school-flipbook-stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:5px;padding:10px 6px}.school-flipbook-nav{width:36px;height:36px;font-size:1.05rem}.school-flipbook-footer{grid-template-columns:auto 1fr;padding:11px 14px}.school-flipbook-tip{display:none}}
@media(prefers-reduced-motion:reduce){.school-real-book-loading::before{animation:none}}
/* === SCHOOL FLIPBOOK END === */

/* Nasconde il messaggio di fallback quando il flipbook è operativo */
.school-real-book-error[hidden]{display:none!important}

/* Titolo principale hero Montevergine */
.mv-hero-title{
  margin: 0 0 18px;
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: 0.98;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-align: center;
}

/* Titolo HERO aggiunto sopra al sottotitolo */
.mv-hero-title-force{
  display:block !important;
  width:100% !important;
  margin:0 0 22px 0 !important;
  font-size:clamp(3rem, 7vw, 6.8rem) !important;
  line-height:0.95 !important;
  font-weight:700 !important;
  letter-spacing:-0.035em !important;
  text-align:center !important;
  color:inherit !important;
}

/* Titolo principale homepage Montevergine */
.mv-home-hero-main-title{
  display:block !important;
  width:min(96vw, 1800px) !important;
  max-width:none !important;
  margin:0 auto 34px !important;
  font-size:clamp(6rem, 13.5vw, 13rem) !important;
  line-height:0.82 !important;
  font-weight:700 !important;
  letter-spacing:-0.055em !important;
  text-align:center !important;
  text-wrap:balance;
}

@media (max-width: 900px){
  .mv-home-hero-main-title{
    width:94vw !important;
    font-size:clamp(4.2rem, 15vw, 8.5rem) !important;
    line-height:0.86 !important;
  }
}

@media (max-width: 600px){
  .mv-home-hero-main-title{
    width:92vw !important;
    font-size:clamp(3.4rem, 16.5vw, 6rem) !important;
    line-height:0.88 !important;
    margin-bottom:24px !important;
  }
}

/* === MONTEVERGINE HERO TITLE XL START === */
#montevergine-hero-title-xl{
  display:block !important;
  width:100% !important;
  max-width:820px !important;
  margin:0 0 26px 0 !important;
  font-size:clamp(48px,5.2vw,82px) !important;
  line-height:.92 !important;
  font-weight:700 !important;
  letter-spacing:-0.035em !important;
  text-align:left !important;
}

#montevergine-hero-title-xl .mv-hero-line{
  display:block !important;
  white-space:nowrap !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}

@media (max-width: 1100px){
  #montevergine-hero-title-xl{
    max-width:700px !important;
    font-size:clamp(42px,5vw,66px) !important;
  }
}

@media (max-width: 700px){
  #montevergine-hero-title-xl{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(24px,7.5vw,42px) !important;
    line-height:.94 !important;
    margin-bottom:20px !important;
  }
}
/* === MONTEVERGINE HERO TITLE XL END === */

/* === HERO LEFT SPACE EXPANSION START === */

/*
  Allarghiamo titolo e sottotitolo verso SINISTRA.
  La larghezza aumenta della stessa misura dello spostamento,
  quindi il bordo destro resta praticamente nella posizione attuale
  e non invade la grafica del sigillo.
*/
#montevergine-hero-title-xl{
  width:calc(100% + 120px) !important;
  max-width:940px !important;
  transform:translateX(-120px) !important;
}

.mv-home-hero-subtitle-wide{
  display:block !important;
  width:calc(100% + 120px) !important;
  max-width:940px !important;
  transform:translateX(-120px) !important;
}

/* Manteniamo il comportamento normale quando lo spazio laterale diminuisce */
@media (max-width: 1200px){
  #montevergine-hero-title-xl,
  .mv-home-hero-subtitle-wide{
    width:calc(100% + 70px) !important;
    max-width:860px !important;
    transform:translateX(-70px) !important;
  }
}

@media (max-width: 850px){
  #montevergine-hero-title-xl,
  .mv-home-hero-subtitle-wide{
    width:100% !important;
    max-width:none !important;
    transform:none !important;
  }
}

/* === HERO LEFT SPACE EXPANSION END === */

/* === HERO ARCHIVIO BACKGROUND START === */

/* Background applicato DIRETTAMENTE alla hero, con priorità massima */
section.hero.hero-archivio-bg {
  background-image:
    linear-gradient(rgba(246, 240, 228, 0.76), rgba(246, 240, 228, 0.76)),
    url("assets/images/hero-archivio-montevergine.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Disattiva il vecchio strato grafico che copriva il nuovo background */
section.hero.hero-archivio-bg .hero-paper {
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Manteniamo il sigillo decorativo ma molto leggero */
section.hero.hero-archivio-bg .hero-seal {
  opacity: 0.08 !important;
}

/* Testi sempre in primo piano */
section.hero.hero-archivio-bg .hero-content {
  position: relative !important;
  z-index: 5 !important;
}

/* Un po' più di velatura su tablet/mobile */
@media (max-width: 900px) {
  section.hero.hero-archivio-bg {
    background-image:
      linear-gradient(rgba(246, 240, 228, 0.84), rgba(246, 240, 228, 0.84)),
      url("assets/images/hero-archivio-montevergine.jpg") !important;
    background-position: center center !important;
  }
}

/* === HERO ARCHIVIO BACKGROUND END === */

/* === HERO AUX ALIGNMENT START === */

/* Allinea kicker e bottoni allo stesso asse usato da titolo e sottotitolo */
.mv-hero-align-left{
  transform:translateX(-120px) !important;
  width:calc(100% + 120px) !important;
  max-width:940px !important;
}

.hero-actions.mv-hero-align-left{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
}

@media (max-width: 1200px){
  .mv-hero-align-left{
    transform:translateX(-70px) !important;
    width:calc(100% + 70px) !important;
    max-width:860px !important;
  }
}

@media (max-width: 850px){
  .mv-hero-align-left{
    transform:none !important;
    width:100% !important;
    max-width:none !important;
  }
}

/* === HERO AUX ALIGNMENT END === */

/* === MONTEVERGINE TYPOGRAPHY START === */

:root{
  --font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --font-body: "Montserrat", Arial, Helvetica, sans-serif;
}

/* Testi generali */
html,
body,
p,
li,
a,
button,
input,
textarea,
select,
label,
.hero-kicker,
.hero-lead,
.eyebrow,
.nav,
.navlinks,
.nav-cta,
.btn,
.seal-id,
.seal-meta,
.fact,
.time-year,
.status,
.info-row,
.footer,
.form{
  font-family: var(--font-body) !important;
}

/* Titoli e titolazioni principali */
h1,
h2,
h3,
.display,
.hero-title,
#montevergine-hero-title-xl,
.mv-home-hero-main-title{
  font-family: var(--font-display) !important;
}

/* Mantiene Iowan Old Style anche negli span interni del titolo hero */
#montevergine-hero-title-xl *,
.hero-title *,
.display *{
  font-family: inherit !important;
}

/* Peso Montserrat più controllato per la UI */
.nav,
.navlinks,
.nav-cta,
.btn,
.eyebrow,
.hero-kicker{
  font-weight: 600;
}

.hero-lead,
p{
  font-weight: 400;
}

strong,
b{
  font-family: var(--font-body);
  font-weight: 700;
}

/* === MONTEVERGINE TYPOGRAPHY END === */

/* === MV HOMEPAGE BLUE STEMMA START === */

/* Homepage hero: nuovo sfondo con stemma e fondo blu istituzionale */
.mv-homepage-blue-stemma-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #042a43 !important;
}

.mv-homepage-blue-stemma-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("./ui/homepage-stemma-bg.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: min(82vw, 1100px);
  opacity: 0.23;
  filter: none;
}

.mv-homepage-blue-stemma-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(4,42,67,0.94) 0%,
      rgba(4,42,67,0.82) 36%,
      rgba(4,42,67,0.74) 62%,
      rgba(4,42,67,0.84) 100%);
}

.mv-homepage-blue-stemma-hero > * {
  position: relative;
  z-index: 1;
}

/* Se nella hero è presente la precedente immagine laterale del sigillo, la nascondiamo */
.mv-homepage-blue-stemma-hero .hero-art,
.mv-homepage-blue-stemma-hero .hero-figure,
.mv-homepage-blue-stemma-hero .hero-media,
.mv-homepage-blue-stemma-hero .hero-image,
.mv-homepage-blue-stemma-hero .hero-visual,
.mv-homepage-blue-stemma-hero .seal-visual,
.mv-homepage-blue-stemma-hero .seal-graphic,
.mv-homepage-blue-stemma-hero .hero-side-art {
  display: none !important;
}

/* Manteniamo titoli, sottotitoli e pulsanti, migliorando solo la leggibilità sul blu */
.mv-homepage-blue-stemma-hero h1,
.mv-homepage-blue-stemma-hero h2,
.mv-homepage-blue-stemma-hero h3,
.mv-homepage-blue-stemma-hero .hero-title,
.mv-homepage-blue-stemma-hero #montevergine-hero-title-xl {
  color: #f4ead8 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.24);
}

.mv-homepage-blue-stemma-hero p,
.mv-homepage-blue-stemma-hero .hero-lead,
.mv-homepage-blue-stemma-hero .hero-kicker,
.mv-homepage-blue-stemma-hero .eyebrow {
  color: #efe4d1 !important;
  text-shadow: 0 1px 10px rgba(0,0,0,0.18);
}

.mv-homepage-blue-stemma-hero .btn,
.mv-homepage-blue-stemma-hero button {
  position: relative;
  z-index: 2;
}

@media (max-width: 900px) {
  .mv-homepage-blue-stemma-hero::before {
    background-size: 92vw;
    background-position: center 42%;
    opacity: 0.18;
  }
}

@media (max-width: 640px) {
  .mv-homepage-blue-stemma-hero::before {
    background-size: 105vw;
    background-position: center 38%;
    opacity: 0.14;
  }
}

/* === MV HOMEPAGE BLUE STEMMA END === */

/* === MV HERO BLUE FINAL START === */

section.hero.mv-homepage-blue-stemma-hero{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  box-sizing:border-box !important;

  background:#042a43 !important;
  background-image:none !important;

  min-height:calc(100svh - 90px) !important;
  height:auto !important;

  display:flex !important;
  align-items:flex-start !important;

  /* Più spazio sotto l'header, senza toccare l'allineamento orizzontale */
  padding-top:178px !important;
  padding-bottom:68px !important;
}

section.hero.mv-homepage-blue-stemma-hero .hero-paper,
section.hero.mv-homepage-blue-stemma-hero .hero-seal{
  display:none !important;
}

/* Sigillo più piccolo, più in basso e confinato sulla destra */
section.hero.mv-homepage-blue-stemma-hero .mv-homepage-seal-watermark{
  display:block !important;
  position:absolute !important;
  z-index:1 !important;

  width:min(34vw,560px) !important;
  max-width:none !important;
  height:auto !important;

  right:3vw !important;
  top:66% !important;
  transform:translateY(-50%) !important;
  transform-origin:center center !important;

  opacity:.98 !important;
  mix-blend-mode:normal !important;

  filter:
    brightness(1.48)
    contrast(1.22)
    saturate(1.08)
    drop-shadow(0 0 1px rgba(255,242,214,.95))
    drop-shadow(0 0 16px rgba(224,190,135,.20))
    drop-shadow(0 12px 24px rgba(0,0,0,.34))
    drop-shadow(2px 2px 0 rgba(255,235,200,.14))
    drop-shadow(-1px -1px 0 rgba(0,0,0,.18)) !important;

  pointer-events:none !important;
  user-select:none !important;
}

/*
  Nessuna modifica alla posizione orizzontale del blocco testi:
  mantiene l'allineamento precedente sotto il logo dell'header.
*/
section.hero.mv-homepage-blue-stemma-hero .hero-content{
  position:relative !important;
  z-index:3 !important;

  margin-top:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;

  align-self:flex-start !important;
}

section.hero.mv-homepage-blue-stemma-hero .hero-kicker,
section.hero.mv-homepage-blue-stemma-hero .hero-lead,
section.hero.mv-homepage-blue-stemma-hero #montevergine-hero-title-xl,
section.hero.mv-homepage-blue-stemma-hero .hero-title,
section.hero.mv-homepage-blue-stemma-hero .hero-actions{
  position:relative !important;
  z-index:4 !important;
}

section.hero.mv-homepage-blue-stemma-hero #montevergine-hero-title-xl,
section.hero.mv-homepage-blue-stemma-hero .hero-title{
  color:#f4ead8 !important;
}

section.hero.mv-homepage-blue-stemma-hero .hero-kicker,
section.hero.mv-homepage-blue-stemma-hero .hero-lead{
  color:#efe4d1 !important;
}

/* Tablet */
@media (max-width:1100px){
  section.hero.mv-homepage-blue-stemma-hero{
    min-height:auto !important;
    padding-top:150px !important;
    padding-bottom:54px !important;
  }

  section.hero.mv-homepage-blue-stemma-hero .mv-homepage-seal-watermark{
    width:min(38vw,430px) !important;
    right:2vw !important;
    top:68% !important;
    opacity:.94 !important;
  }
}

/* Mobile */
@media (max-width:700px){
  section.hero.mv-homepage-blue-stemma-hero{
    min-height:auto !important;
    padding-top:120px !important;
    padding-bottom:44px !important;
  }

  section.hero.mv-homepage-blue-stemma-hero .mv-homepage-seal-watermark{
    width:68vw !important;
    right:-24vw !important;
    top:73% !important;
    opacity:.22 !important;
  }
}

/* === MV HERO BLUE FINAL END === */

/* === MV HERO TEXT SPACING START === */

/*
  Aumenta SOLO lo spazio verticale tra:
  titolo -> sottotitolo -> pulsanti.
  Non modifica posizione, larghezza, allineamento o sigillo.
*/
section.hero.mv-homepage-blue-stemma-hero #montevergine-hero-title-xl,
section.hero.mv-homepage-blue-stemma-hero .hero-title{
  margin-bottom: 38px !important;
}

section.hero.mv-homepage-blue-stemma-hero .hero-lead{
  margin-bottom: 44px !important;
}

section.hero.mv-homepage-blue-stemma-hero .hero-actions{
  margin-top: 0 !important;
}

/* Responsive: spazi leggermente più compatti su mobile */
@media (max-width: 700px){
  section.hero.mv-homepage-blue-stemma-hero #montevergine-hero-title-xl,
  section.hero.mv-homepage-blue-stemma-hero .hero-title{
    margin-bottom: 28px !important;
  }

  section.hero.mv-homepage-blue-stemma-hero .hero-lead{
    margin-bottom: 34px !important;
  }
}

/* === MV HERO TEXT SPACING END === */

/* === MV HERO CONTENT DOWN 20 START === */

/*
  Sposta verso il basso SOLO il blocco contenuti della hero
  (titolo, sottotitolo, kicker e pulsanti) del 20% della sua altezza.
  Non modifica sigillo, dimensioni, allineamenti orizzontali o spaziature interne.
*/
section.hero.mv-homepage-blue-stemma-hero .hero-content{
  transform: translateY(20%) !important;
}

/* Su mobile riduciamo leggermente lo spostamento per evitare eccessivo spazio verticale */
@media (max-width: 700px){
  section.hero.mv-homepage-blue-stemma-hero .hero-content{
    transform: translateY(12%) !important;
  }
}

/* === MV HERO CONTENT DOWN 20 END === */

/* === MV HERO BLUE BOTTOM FIX START === */

/*
  Estende solamente il fondo blu della hero verso il basso,
  per coprire la fascia bianca rimasta dopo lo spostamento dei contenuti.
  Nessuna modifica a testi, sigillo, allineamenti o dimensioni.
*/
section.hero.mv-homepage-blue-stemma-hero{
  min-height: 100svh !important;
  padding-bottom: 120px !important;
  background-color: #042a43 !important;
}

/* Tablet */
@media (max-width: 1100px){
  section.hero.mv-homepage-blue-stemma-hero{
    padding-bottom: 90px !important;
  }
}

/* Mobile */
@media (max-width: 700px){
  section.hero.mv-homepage-blue-stemma-hero{
    padding-bottom: 70px !important;
  }
}

/* === MV HERO BLUE BOTTOM FIX END === */

/* === ABATE DETAIL PAGE START === */

.abate-detail-page{
  background:#f4efe5;
  color:#042a43;
}

.abate-detail-shell{
  width:min(1180px, calc(100% - 56px));
  margin-inline:auto;
}

.abate-detail-hero{
  background:#042a43;
  color:#f5ede0;
  padding:170px 0 92px;
  overflow:hidden;
}

.abate-detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(320px, .72fr);
  gap:clamp(54px, 8vw, 120px);
  align-items:center;
}

.abate-detail-eyebrow{
  margin:0 0 24px;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.abate-detail-intro h1{
  margin:0;
  max-width:760px;
  font-family:var(--font-display, "Iowan Old Style", Georgia, serif);
  font-size:clamp(4.2rem, 8.2vw, 8.6rem);
  line-height:.88;
  font-weight:400;
  letter-spacing:-.045em;
}

.abate-detail-role{
  max-width:650px;
  margin:42px 0 0;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:clamp(1rem, 1.4vw, 1.22rem);
  line-height:1.65;
  font-weight:500;
}

.abate-detail-periodo{
  margin:14px 0 0;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:.9rem;
  line-height:1.5;
  letter-spacing:.025em;
  opacity:.76;
}

.abate-detail-main-figure{
  margin:0;
  aspect-ratio:4 / 5;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px;
  background:#eee3cf;
  border:1px solid rgba(224,190,135,.45);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
}

.abate-detail-main-figure img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.abate-detail-section{
  padding:112px 0;
  background:#f4efe5;
}

.abate-detail-section-alt{
  background:#ebe2d3;
}

.abate-detail-section-grid{
  display:grid;
  grid-template-columns:260px minmax(0, 760px);
  gap:clamp(50px, 8vw, 120px);
  align-items:start;
  justify-content:space-between;
}

.abate-detail-section-label{
  position:sticky;
  top:130px;
}

.abate-detail-section-label span{
  display:block;
  margin-bottom:18px;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  opacity:.5;
}

.abate-detail-section-label h2,
.abate-detail-archive h2{
  margin:0;
  font-family:var(--font-display, "Iowan Old Style", Georgia, serif);
  font-size:clamp(2.7rem, 5vw, 5.25rem);
  line-height:.95;
  font-weight:400;
  letter-spacing:-.035em;
}

.abate-detail-prose{
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:clamp(1rem, 1.15vw, 1.12rem);
  line-height:1.9;
  color:#17394e;
}

.abate-detail-prose p{
  margin:0 0 1.55em;
}

.abate-detail-prose p:first-child{
  font-size:clamp(1.18rem, 1.6vw, 1.42rem);
  line-height:1.72;
  color:#042a43;
}

.abate-detail-archive{
  padding:112px 0 122px;
  background:#042a43;
  color:#f5ede0;
}

.abate-detail-archive-head{
  display:grid;
  grid-template-columns:1fr minmax(250px, 410px);
  gap:50px;
  align-items:end;
  margin-bottom:54px;
}

.abate-detail-archive-head > p{
  margin:0 0 8px;
  font-family:var(--font-body, "Montserrat", sans-serif);
  line-height:1.7;
  opacity:.72;
}

.abate-detail-gallery{
  display:grid;
  grid-template-columns:1fr 1.32fr 1fr;
  gap:18px;
  align-items:stretch;
}

.abate-detail-gallery figure{
  margin:0;
  min-height:420px;
  padding:12px;
  background:#e9dfcf;
  overflow:hidden;
}

.abate-detail-gallery img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.abate-detail-bottom-nav{
  padding:44px 0;
  background:#f4efe5;
  border-top:1px solid rgba(4,42,67,.16);
}

.abate-detail-back{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#042a43;
  text-decoration:none;
}

.abate-detail-back:hover{
  text-decoration:underline;
  text-underline-offset:5px;
}

@media (max-width:900px){
  .abate-detail-shell{
    width:min(100% - 40px, 760px);
  }

  .abate-detail-hero{
    padding:140px 0 70px;
  }

  .abate-detail-hero-grid{
    grid-template-columns:1fr;
    gap:50px;
  }

  .abate-detail-main-figure{
    width:min(100%, 580px);
    aspect-ratio:1 / 1.16;
  }

  .abate-detail-section{
    padding:82px 0;
  }

  .abate-detail-section-grid{
    grid-template-columns:1fr;
    gap:40px;
  }

  .abate-detail-section-label{
    position:static;
  }

  .abate-detail-archive{
    padding:82px 0 90px;
  }

  .abate-detail-archive-head{
    grid-template-columns:1fr;
    gap:24px;
  }

  .abate-detail-gallery{
    grid-template-columns:1fr;
  }

  .abate-detail-gallery figure{
    min-height:0;
  }

  .abate-detail-gallery img{
    height:auto;
    object-fit:contain;
  }
}

@media (max-width:600px){
  .abate-detail-shell{
    width:calc(100% - 32px);
  }

  .abate-detail-hero{
    padding:118px 0 54px;
  }

  .abate-detail-intro h1{
    font-size:clamp(3.45rem, 18vw, 5.4rem);
  }

  .abate-detail-role{
    margin-top:30px;
  }

  .abate-detail-main-figure{
    padding:14px;
  }

  .abate-detail-section{
    padding:66px 0;
  }

  .abate-detail-prose{
    line-height:1.82;
  }

  .abate-detail-archive{
    padding:66px 0 74px;
  }
}

/* === ABATE DETAIL PAGE END === */

/* === ABATE CLICKABLE GALLERY START === */

.abate-detail-gallery{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.abate-gallery-item{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  min-height:390px;
  margin:0;
  padding:12px;
  border:0;
  background:#e9dfcf;
  overflow:hidden;
  cursor:zoom-in;
  appearance:none;
  text-align:inherit;
}

.abate-gallery-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .42s ease, filter .42s ease;
}

.abate-gallery-item:hover img,
.abate-gallery-item:focus-visible img{
  transform:scale(1.035);
  filter:brightness(.88);
}

.abate-gallery-item:focus-visible{
  outline:2px solid #e0be87;
  outline-offset:4px;
}

.abate-gallery-zoom{
  position:absolute;
  right:24px;
  bottom:24px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.62);
  border-radius:50%;
  background:rgba(4,42,67,.82);
  color:#fff7e8;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:1.4rem;
  font-weight:300;
  line-height:1;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:none;
}

.abate-gallery-item:hover .abate-gallery-zoom,
.abate-gallery-item:focus-visible .abate-gallery-zoom{
  opacity:1;
  transform:translateY(0);
}

html.abate-lightbox-open,
html.abate-lightbox-open body{
  overflow:hidden;
}

.abate-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
}

.abate-lightbox.is-open{
  display:block;
}

.abate-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,17,27,.94);
  backdrop-filter:blur(8px);
}

.abate-lightbox-dialog{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:88px minmax(0, 1fr) 88px;
  align-items:center;
  padding:58px 34px 34px;
}

.abate-lightbox-stage{
  min-width:0;
  min-height:0;
  height:calc(100svh - 92px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.abate-lightbox-image{
  display:block;
  max-width:100%;
  max-height:calc(100% - 58px);
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 26px 80px rgba(0,0,0,.42);
}

.abate-lightbox-meta{
  width:min(100%, 1100px);
  display:flex;
  justify-content:space-between;
  gap:30px;
  margin-top:18px;
  color:#f4ead8;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:.78rem;
  line-height:1.4;
  letter-spacing:.04em;
}

.abate-lightbox-counter{
  white-space:nowrap;
  opacity:.65;
}

.abate-lightbox-close,
.abate-lightbox-nav{
  border:0;
  background:transparent;
  color:#f4ead8;
  cursor:pointer;
  font-family:var(--font-body, "Montserrat", sans-serif);
}

.abate-lightbox-close{
  position:absolute;
  top:20px;
  right:24px;
  z-index:3;
  width:50px;
  height:50px;
  font-size:2.25rem;
  font-weight:200;
  line-height:1;
}

.abate-lightbox-nav{
  position:relative;
  z-index:2;
  width:58px;
  height:58px;
  margin:auto;
  border:1px solid rgba(244,234,216,.38);
  border-radius:50%;
  font-size:1.35rem;
  transition:background .2s ease, border-color .2s ease;
}

.abate-lightbox-nav:hover,
.abate-lightbox-nav:focus-visible{
  background:rgba(244,234,216,.1);
  border-color:rgba(244,234,216,.72);
  outline:none;
}

.abate-lightbox-close:hover,
.abate-lightbox-close:focus-visible{
  color:#fff;
  outline:none;
}

@media (max-width:1100px){
  .abate-detail-gallery{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .abate-gallery-item{
    min-height:450px;
  }
}

@media (max-width:700px){
  .abate-detail-gallery{
    grid-template-columns:1fr !important;
  }

  .abate-gallery-item{
    min-height:0;
    padding:10px;
  }

  .abate-gallery-item img{
    height:auto;
    object-fit:contain;
  }

  .abate-gallery-zoom{
    opacity:1;
    transform:none;
  }

  .abate-lightbox-dialog{
    grid-template-columns:50px minmax(0, 1fr) 50px;
    padding:62px 8px 18px;
  }

  .abate-lightbox-nav{
    width:42px;
    height:42px;
  }

  .abate-lightbox-close{
    top:8px;
    right:8px;
  }

  .abate-lightbox-stage{
    height:calc(100svh - 80px);
  }

  .abate-lightbox-meta{
    padding-inline:8px;
    font-size:.72rem;
  }
}

/* === ABATE CLICKABLE GALLERY END === */

/* === ABATE PROSE UNIFORM START === */

/*
  Uniforma tutti i paragrafi delle sezioni biografia e sigillo.
  Il primo paragrafo non viene più evidenziato con corpo maggiore.
*/
.abate-detail-prose p:first-child{
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

/* === ABATE PROSE UNIFORM END === */

/* ABATI: testo giustificato */
.abate-detail-prose p {
  text-align: justify;
  text-align-last: left;
}
/* /ABATI: testo giustificato */

/* VISITA ARCHIVIO IMAGE START */
.map-placeholder.visit-archive-image {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      rgba(205, 190, 165, 0.28),
      rgba(205, 190, 165, 0.28)
    ),
    url("images/archivio-visita.jpg") center 78% / cover no-repeat !important;
}

.map-placeholder.visit-archive-image::before,
.map-placeholder.visit-archive-image::after {
  content: none !important;
  display: none !important;
}
/* VISITA ARCHIVIO IMAGE END */

/* MELLUSI ANATOMIA START */
#anatomia .anatomy-visual.mellusi-anatomy {
  aspect-ratio: 1152 / 1309;
  min-height: 0;
  overflow: hidden;
}

#anatomia .anatomy-visual.mellusi-anatomy img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  transform: scale(1.16);
  transform-origin: center center;
}

#anatomia .anatomy-visual.mellusi-anatomy .hotspot {
  transform: translate(-50%, -50%);
  z-index: 3;
}

/* 1 - Cappello ecclesiastico */
#anatomia .anatomy-visual.mellusi-anatomy .hotspot[data-i="1"] {
  left: 50.0%;
  top: 42.0%;
}

/* 2 - Cordoni e fiocchi */
#anatomia .anatomy-visual.mellusi-anatomy .hotspot[data-i="2"] {
  left: 36.0%;
  top: 49.5%;
}

/* 3 - Scudo e partizione */
#anatomia .anatomy-visual.mellusi-anatomy .hotspot[data-i="3"] {
  left: 52.0%;
  top: 66.0%;
}

/* 4 - Legenda perimetrale */
#anatomia .anatomy-visual.mellusi-anatomy .hotspot[data-i="4"] {
  left: 79.0%;
  top: 53.5%;
}

/* 5 - Simbolo MV / Montevergine */
#anatomia .anatomy-visual.mellusi-anatomy .hotspot[data-i="5"] {
  left: 43.0%;
  top: 58.5%;
}
/* MELLUSI ANATOMIA END */

/* FOOTER BRAND LOCKUP START */
.footer-brand-lockup {
  margin-top: 44px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-brand-logo {
  display: block;
  width: 192px;
  max-width: 100%;
  height: auto;
  background: transparent;
}

.footer-copyright-row {
  width: 100%;
  margin-top: 34px;
  text-align: center;
  font-size: 1.05rem;
  line-height: 1.5;
  opacity: 0.82;
}

@media (max-width: 700px) {
  .footer-brand-lockup {
    margin-top: 34px;
  }

  .footer-brand-logo {
    width: 160px;
  }

  .footer-copyright-row {
    margin-top: 28px;
    font-size: 1.05rem;
  }
}
/* FOOTER BRAND LOCKUP END */

/* === MV CARD IMAGE: IL DOCUMENTO === */
.mv-card-with-top-image {
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.mv-card-with-top-image > .mv-card-top-image {
  width: 100%;
  min-height: 220px;
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 42%;
  border-bottom: 1px solid rgba(60, 40, 20, 0.14);
  flex: 0 0 auto;
}

.mv-card-with-top-image > *:not(.mv-card-top-image) {
  padding-left: 1.35rem !important;
  padding-right: 1.35rem !important;
}

.mv-card-with-top-image > .mv-card-top-image + * {
  padding-top: 1rem !important;
}

.mv-card-with-top-image > *:last-child {
  padding-bottom: 1.2rem !important;
}

.mv-card-with-top-image h3,
.mv-card-with-top-image h4,
.mv-card-with-top-image .card-title,
.mv-card-with-top-image .tile-title {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .mv-card-with-top-image > .mv-card-top-image {
    min-height: 180px;
  }
}

/* === MV CARD IMAGE: IL LINGUAGGIO ARALDICO === */
.mv-card-with-top-image {
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.mv-card-with-top-image > .mv-card-top-image {
  width: 100%;
  min-height: 220px;
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  border-bottom: 1px solid rgba(60, 40, 20, 0.14);
  flex: 0 0 auto;
}

.mv-card-with-top-image > *:not(.mv-card-top-image) {
  padding-left: 1.35rem !important;
  padding-right: 1.35rem !important;
}

.mv-card-with-top-image > .mv-card-top-image + * {
  padding-top: 1rem !important;
}

.mv-card-with-top-image > *:last-child {
  padding-bottom: 1.2rem !important;
}

.mv-card-with-top-image h3,
.mv-card-with-top-image h4,
.mv-card-with-top-image .card-title,
.mv-card-with-top-image .tile-title {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .mv-card-with-top-image > .mv-card-top-image {
    min-height: 180px;
  }
}
