/**
 * Osservatori — Adobe XD b2c9eb9b, tavole desktop 1920px.
 * Loaded after the existing theme CSS. Palette belongs to each observer.
 */
.path-osservatori .main-container { width:100%; max-width:none; padding:0; background:none; overflow:visible; }
.path-osservatori .main-container > .row { margin:0; }
.path-osservatori .main-container > .row > section { padding:0; }
.af-osservatori { --ink:#2a2f39; --tone:#f1d6c7; color:var(--ink); background:#fff; font-family:'Segoe UI','Karla',Arial,sans-serif; font-size:18px; line-height:1.55; }
.af-osservatori *, .af-osservatori *::before, .af-osservatori *::after { box-sizing:border-box; }
.af-osservatori img { display:block; width:100%; max-width:100%; height:auto; }
.af-osservatori a { color:inherit; text-decoration:none; }
.af-osservatori a:hover { color:inherit; text-decoration:none; }
.af-osservatori button, .af-osservatori input, .af-osservatori select { font:inherit; color:inherit; }
.af-osservatori button, .af-osservatori summary { cursor:pointer; }
.af-osservatori button { border:0; }
.af-osservatori :focus-visible { outline:3px solid #23898f; outline-offset:5px; }
.af-osservatori [hidden] { display:none !important; }
.af-osservatori h1 { font-size:40px; line-height:1.18; font-weight:700; margin:0 0 22px; }
.af-osservatori h2,.af-osservatori h3 { font-family:inherit; }
.af-osservatori p { margin:0 0 20px; }
.obs-tone--yellow { --tone:#f6e69a; }
.obs-tone--blue { --tone:#d5e7ec; }
.obs-tone--peach { --tone:#f1d6c7; }
.obs-tone--mint { --tone:#d7ece5; }
.obs-tone--lilac { --tone:#eae4f0; }
.obs-wide { width:97.4%; max-width:1868px; margin:0 auto; }
.obs-inner { width:85%; max-width:1632px; margin:0 auto; }
.obs-eyebrow { font-size:18px; font-weight:700; text-transform:uppercase; line-height:1.3; }
.af-osservatori .obs-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.obs-arrow { display:inline-flex; width:28px; height:28px; border-radius:50%; background:var(--ink); color:white; align-items:center; justify-content:center; font-family:Arial,sans-serif; font-size:25px; line-height:1; flex-shrink:0; }
.obs-hero { padding-top:clamp(56px,7.1vw,136px); overflow:hidden; }
.obs-hero__stage { width:100%; height:calc(23.44vw + max(60px,4.6vw)); max-height:540px; min-height:300px; position:relative; }
.obs-hero__intro { position:absolute; left:10.4%; top:0; width:35.2%; display:flex; gap:2.7vw; align-items:flex-start; }
.obs-telescope { width:clamp(72px,6.8vw,130px); flex-shrink:0; }
.obs-hero__intro h1 { font-size:clamp(28px,2.08vw,40px); margin:0 0 20px; }
.obs-hero__intro p { font-size:clamp(15px,1.15vw,22px); line-height:1.55; max-width:425px; }
.obs-hero__slide { position:absolute; bottom:0; display:block; width:26.4%; }
.obs-hero__slide--1 { left:-9.2%; }
.obs-hero__slide--2 { left:19.3%; }
.obs-hero__slide--3 { left:47.9%; width:41.7%; }
.obs-hero__slide--4 { left:91.8%; }
.obs-hero__slide img { height:14.85vw; max-height:285px; object-fit:cover; object-position:center 22%; filter:grayscale(1); }
.obs-hero__slide--3 img { height:23.44vw; max-height:450px; object-position:center 18%; filter:none; }
.obs-hero__caption { height:clamp(60px,4.6vw,90px); background:var(--tone); padding:10px clamp(12px,1.45vw,28px); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.obs-hero__caption strong { max-width:260px; font-size:clamp(10px,.75vw,14px); line-height:1.25; text-transform:uppercase; }
.obs-hero__caption .obs-arrow { display:none; }
.obs-hero__slide--3 .obs-arrow { display:inline-flex; background:#000; width:clamp(30px,2.6vw,50px); height:clamp(30px,2.6vw,50px); font-size:clamp(25px,1.9vw,36px); }
.obs-slider-controls { display:flex; align-items:center; justify-content:center; gap:28px; margin:44px 0 70px; }
.obs-slider-controls button { width:28px; height:28px; border-radius:50%; padding:0; color:#fff; background:var(--ink); font-family:Arial,sans-serif; font-size:25px; line-height:1; }
.obs-slider-controls__dots { display:flex; gap:7px; align-items:center; }
.obs-slider-controls__dots i { display:block; width:10px; height:10px; background:var(--ink); border-radius:12px; }
.obs-slider-controls__dots i.is-active { width:65px; }
.obs-observers { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2.1%; }
.obs-observer { display:flex; justify-content:space-between; align-items:center; padding:20px 25px 25px; border-bottom:7px solid var(--tone); text-transform:uppercase; font-size:16px; line-height:1.35; }
.obs-observer strong { display:block; font-size:20px; font-weight:700; }
.obs-observer:hover { background:var(--tone); }
.obs-questions { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2.1%; margin-top:40px; margin-bottom:54px; }
.obs-question { position:relative; display:flex; flex-direction:column; justify-content:space-between; background:var(--tone); min-height:400px; padding:78px 25px 24px; text-align:left; }
.obs-question > strong { color:#050505; font-size:clamp(18px,1.5vw,29px); font-weight:900; line-height:1.3; text-transform:uppercase; }
.obs-question__info { position:absolute; right:26px; top:26px; border-radius:50%; width:27px; height:27px; color:#fff; background:var(--ink); font-family:Georgia,serif; font-size:20px; text-align:center; font-style:italic; }
.obs-question__bottom { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:28px; font-size:13px; text-transform:uppercase; }
.obs-question[aria-pressed=true] { outline:3px solid var(--ink); outline-offset:-3px; }
.obs-filters { margin-bottom:44px; position:relative; z-index:3; }
.obs-search { display:flex; align-items:center; gap:24px; background:#eee; padding:20px 24px; margin:0 0 36px; }
.obs-search > span:first-child { font-size:32px; line-height:1; }
.obs-search input { width:100%; background:none; border:0; padding:0; font-size:16px; font-weight:700; }
.obs-filterbar { display:flex; align-items:center; gap:18px; min-height:70px; padding:10px 12px; border-top:1px solid #ccc; border-bottom:1px solid #ccc; }
.obs-filterpanel { position:relative; flex:0 0 20%; }
.obs-filterpanel summary { display:flex; gap:24px; align-items:center; font-size:14px; text-transform:uppercase; font-weight:700; list-style:none; }
.obs-filterpanel summary > span { margin-left:auto; margin-right:15px; }
.obs-filterpanel summary::-webkit-details-marker { display:none; }
.obs-filterpanel__body { position:absolute; left:-12px; top:calc(100% + 22px); z-index:5; width:480px; max-width:85vw; padding:25px; background:white; box-shadow:0 10px 15px #0002; border:1px solid #eee; }
.obs-filterpanel__body label { display:block; font-size:14px; }
.obs-filterpanel__body input { display:block; width:100%; margin-top:8px; padding:10px 4px; border:0; border-bottom:1px solid #ccc; background:#fafafa; font-size:14px; }
.obs-filterpanel__dates { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:20px 0; }
.obs-filterpanel__body button { background:var(--ink); color:white; padding:8px 18px; font-size:13px; }
.obs-select { flex:0 1 230px; margin:0; }
.obs-select select { width:100%; border:1px solid #e0e0e0; padding:8px 12px; font-size:14px; background:#fff; min-height:40px; }
.obs-select--sort { margin-left:auto; }
.obs-wall { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5.5%; align-items:start; }
.obs-wall__column { display:flex; flex-direction:column; gap:40px; min-width:0; }
.obs-card { width:100%; border:1px solid #eee; background:#fff; break-inside:avoid; }
.obs-card__link { display:block; }
.obs-card__image { overflow:hidden; }
.obs-card--publication .obs-card__image { aspect-ratio: .8; }
.obs-card--publication .obs-card__image img { height:110%; object-fit:cover; object-position:top; }
.obs-card--editorial .obs-card__image { aspect-ratio:3.2; }
.obs-card--editorial .obs-card__image img { height:100%; object-fit:cover; object-position:center 35%; }
.obs-card h3 { padding:16px 14px 20px; margin:0; font-size:17px; font-weight:700; line-height:1.35; text-transform:uppercase; }
.obs-card__foot { padding:7px 14px; min-height:37px; display:flex; justify-content:space-between; align-items:center; gap:8px; background:var(--tone); font-size:14px; font-weight:700; text-transform:uppercase; }
.obs-card__foot .obs-arrow { width:25px; height:25px; font-size:23px; background:#050505; }
.obs-card a:hover .obs-arrow { background:#47776b; }
.obs-archive { padding:36px 0 110px; }
.obs-archive-link { text-align:center; padding:60px 0 90px; }
.obs-archive-link a { display:inline-flex; align-items:center; gap:25px; font-size:18px; font-weight:700; text-transform:uppercase; }
.obs-empty { padding:60px; text-align:center; }
.obs-detail-hero { display:grid; grid-template-columns:49.5% 50.5%; align-items:center; padding-top:26px; }
.obs-detail-hero header { padding:40px 17% 40px 15.5%; }
.obs-detail-hero header > p:last-child { margin-top:62px; font-size:22px; line-height:1.65; }
.obs-detail-hero__media { position:relative; }
.obs-detail-hero__media img { aspect-ratio:16/9; object-fit:cover; }
.obs-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; padding-left:7px; width:110px; height:110px; border-radius:50%; background:#fffd; font-size:50px; color:#000; }
.obs-rule { display:block; width:120px; height:16px; background:var(--tone); margin:26px 0 0; }
.obs-accordion { margin-top:90px; }
.obs-accordion details { border-left:16px solid var(--tone); background:#f6f6f6; margin:0 0 12px; }
.obs-accordion summary { position:relative; padding:28px 45px 28px 210px; list-style:none; font-size:28px; font-weight:700; line-height:1.4; }
.obs-accordion summary::-webkit-details-marker { display:none; }
.obs-accordion summary::before { content:'›'; position:absolute; left:75px; font-size:32px; }
.obs-accordion details[open] summary { padding-top:60px; }
.obs-accordion details[open] summary::before { transform:rotate(90deg); }
.obs-accordion details > div { padding:0 90px 45px 210px; font-size:22px; }
.obs-section { margin-top:130px; margin-bottom:100px; }
.af-osservatori .obs-section__title { text-align:center; text-transform:uppercase; font-size:28px; font-weight:700; margin:0 0 58px; }
.obs-team { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8%; }
.obs-team img { aspect-ratio:1; object-fit:cover; }
.obs-team h3 { margin:44px 0 0; font-size:22px; font-weight:700; }
.obs-team p { font-size:21px; }
.obs-team__bio { margin-top:36px !important; }
.obs-rail { display:flex; gap:34px; overflow:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 12.3%; }
.obs-rail::-webkit-scrollbar { display:none; }
.obs-rail > a { flex:0 0 350px; scroll-snap-align:center; }
.obs-book { position:relative; border:1px solid #f0e5cb; }
.obs-book img { aspect-ratio:.75; object-fit:cover; }
.obs-book span { position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:16px; font-weight:700; text-transform:uppercase; padding:14px; background:var(--tone); opacity:0; }
.obs-book:hover span,.obs-book:focus span { opacity:1; }
.obs-activity { border:1px solid #eee; }
.obs-activity > img { aspect-ratio:2; object-fit:cover; }
.obs-activity > div { padding:24px; }
.obs-activity h3 { font-size:24px; }
.obs-activity p { font-size:14px; }
.obs-related { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; gap:4%; }
.obs-content { padding-top:165px; }
.obs-content__intro { font-size:22px; margin-top:65px !important; max-width:1100px; }
.obs-content figure { margin:160px 0 70px; }
.obs-content__body { font-size:22px; line-height:1.7; }
.obs-content__body p { margin-bottom:36px; }
.obs-navigation { background:transparent; position:relative; }
#navbar .obs-menu-slot { position:static; }
#navbar .obs-navigation { color:#fff; position:static; }
#navbar .obs-megamenu__panel { text-align:left; }
.obs-megamenu > summary { list-style:none; text-transform:uppercase; font-size:13px; padding:15px; }
.obs-megamenu > summary::-webkit-details-marker { display:none; }
.obs-megamenu__panel { position:absolute; left:0; top:100%; width:min(1200px,95vw); padding:35px 60px; background:white; color:var(--ink); z-index:100; box-shadow:0 4px 8px #0003; }
.obs-megamenu__panel > .obs-eyebrow { font-size:12px; font-weight:400; }
.obs-megamenu__links { display:grid; grid-template-columns:repeat(5,1fr); gap:30px; padding-bottom:40px; border-bottom:1px solid #ccc; }
.obs-megamenu__links a { display:flex; gap:12px; align-items:center; font-size:11px; text-transform:uppercase; }
.obs-megamenu__links strong { display:block; }
.obs-initials { background:var(--tone); padding:12px; }
.obs-megamenu__archive { display:flex; align-items:center; gap:22px; padding-top:35px; font-size:16px; }
.obs-megamenu__archive img { width:180px; height:135px; object-fit:cover; }
.obs-megamenu__archive strong { display:block; font-size:12px; text-transform:uppercase; }
@media(max-width:991px) {
  .obs-navigation { padding:0 4%; background:#2a2f39; color:white; }
  .obs-navigation .obs-megamenu__panel { left:2.5vw; }
}
@media(min-width:1921px) {
  .obs-hero__stage { max-width:1920px; margin:auto; }
}
@media(max-width:1400px) {
  .af-osservatori h1 { font-size:32px; }
  .obs-hero__intro h1 { font-size:28px; }
  .obs-slider-controls { margin:30px 0 45px; gap:20px; }
  .obs-observer { font-size:12px; padding:15px 16px 20px; }
  .obs-observer strong { font-size:15px; }
  .obs-arrow { width:22px; height:22px; font-size:22px; }
  .obs-question { min-height:300px; padding:60px 18px 20px; }
  .obs-question__info { top:20px; right:20px; width:20px; height:20px; font-size:15px; }
  .obs-question__bottom { font-size:10px; }
  .obs-card h3 { font-size:13px; padding:12px 10px; }
  .obs-card__foot { font-size:11px; padding:5px 10px; }
  .obs-filterpanel summary { font-size:11px; gap:12px; }
  .obs-select select { font-size:12px; }
  .obs-eyebrow { font-size:15px; }
  .obs-detail-hero header { padding-right:14%; }
  .obs-detail-hero header > p:last-child { font-size:17px; margin-top:40px; }
  .obs-rule { width:90px; height:12px; }
  .obs-accordion summary { padding-left:140px; font-size:22px; }
  .obs-accordion details > div { padding-left:140px; font-size:17px; }
  .obs-accordion summary::before { left:60px; }
  .obs-team h3,.obs-team p { font-size:17px; }
  .obs-rail > a { flex-basis:270px; }
  .obs-section { margin-top:95px; margin-bottom:70px; }
  .obs-content { padding-top:110px; }
  .obs-content__intro,.obs-content__body { font-size:18px; }
}
@media(max-width:991px) {
  .obs-hero { padding-top:45px; }
  .obs-hero__stage { min-height:0; height:40vw; }
  .obs-hero__intro { left:5%; width:40%; gap:14px; }
  .obs-hero__intro h1 { font-size:24px; margin-bottom:12px; }
  .obs-hero__intro p { font-size:13px; }
  .obs-telescope { width:60px; }
  .obs-hero__slide--2 { left:5%; width:40%; }
  .obs-hero__slide--3 { left:48%; width:47%; }
  .obs-hero__slide--1,.obs-hero__slide--4 { display:none; }
  .obs-hero__slide img { height:18vw; }
  .obs-hero__slide--3 img { height:31vw; }
  .obs-hero__caption { min-height:9vw; padding:10px; }
  .obs-hero__slide--3 .obs-arrow { width:30px; height:30px; font-size:26px; }
  .obs-observers { overflow:auto; grid-template-columns:repeat(5,minmax(150px,1fr)); gap:15px; }
  .obs-questions { overflow:auto; grid-template-columns:repeat(5,200px); gap:15px; padding:4px; }
  .obs-question { min-height:290px; }
  .obs-wall { grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
  .obs-wall__column { gap:25px; }
  .obs-filterbar { flex-wrap:wrap; gap:10px; }
  .obs-filterpanel { flex-basis:100%; padding:10px 0; }
  .obs-select { flex:1; }
  .obs-inner { width:90%; }
  .obs-detail-hero header { padding:25px 10%; }
  .af-osservatori h1 { font-size:28px; }
  .obs-detail-hero header > p:last-child { margin-top:25px; font-size:15px; }
  .obs-play { width:70px; height:70px; font-size:30px; }
  .obs-accordion summary { padding:25px 25px 25px 80px; font-size:20px; }
  .obs-accordion summary::before { left:25px; }
  .obs-accordion details > div { padding:0 25px 30px 80px; }
  .obs-team { grid-template-columns:repeat(2,1fr); gap:40px; }
  .obs-related { grid-template-columns:repeat(3,1fr); gap:25px; }
  .obs-content { padding-top:70px; }
  .obs-content figure { margin-top:70px; }
  .obs-megamenu__panel { padding:25px; }
  .obs-megamenu__links { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:600px) {
  .obs-wide { width:92%; }
  .obs-hero { padding-top:35px; }
  .obs-hero__stage { height:auto; padding:0 4%; }
  .obs-hero__intro { position:static; width:auto; margin-bottom:25px; gap:20px; align-items:center; }
  .obs-hero__intro p { font-size:15px; max-width:250px; }
  .obs-hero__slide { display:none; }
  .obs-hero__slide--3 { display:block; position:static; width:100%; }
  .obs-hero__slide--3 img { height:56vw; }
  .obs-hero__caption { min-height:70px; padding:15px; }
  .obs-hero__caption strong { font-size:12px; }
  .obs-slider-controls { margin:25px 0 30px; }
  .obs-observer { padding:12px 8px; }
  .obs-questions { margin:25px 0 30px; }
  .obs-filters { margin-bottom:25px; }
  .obs-search { padding:16px; margin-bottom:20px; }
  .obs-select { flex-basis:40%; }
  .obs-select--sort { flex-basis:100%; }
  .obs-wall { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .obs-wall__column { gap:20px; }
  .obs-card__foot { padding:5px 8px; }
  .obs-card h3 { font-size:12px; padding:10px; }
  .obs-card__foot .obs-arrow { width:20px; height:20px; font-size:20px; }
  .obs-detail-hero { display:flex; flex-direction:column; padding-top:20px; }
  .obs-detail-hero header { padding:30px 5%; }
  .obs-detail-hero__media { width:100%; }
  .obs-accordion { margin-top:40px; }
  .obs-accordion details { border-left-width:8px; }
  .obs-accordion summary { padding:20px 20px 20px 50px; font-size:18px; }
  .obs-accordion details[open] summary { padding-top:25px; }
  .obs-accordion summary::before { left:18px; font-size:25px; }
  .obs-accordion details > div { padding:0 20px 20px 50px; font-size:16px; }
  .obs-section { margin:65px auto 50px; }
  .af-osservatori .obs-section__title { font-size:22px; margin-bottom:30px; padding:0 15px; }
  .obs-team { gap:25px; }
  .obs-team h3 { margin-top:20px; }
  .obs-team p { font-size:14px; }
  .obs-team__bio { margin-top:20px !important; }
  .obs-rail { padding:0 5%; gap:20px; }
  .obs-rail > a { flex-basis:70vw; }
  .obs-related { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .obs-content { padding-top:45px; }
  .obs-content__intro { margin-top:35px !important; font-size:17px; }
  .obs-content figure { margin:45px 0 35px; }
  .obs-content__body { font-size:17px; }
  .obs-archive-link { padding:40px 0 50px; }
  .obs-archive-link a { font-size:14px; gap:15px; }
  .obs-megamenu__links { grid-template-columns:1fr 1fr; gap:20px; }
  .obs-megamenu__archive img { width:80px; height:80px; }
  .obs-megamenu__archive { font-size:13px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .af-osservatori * { scroll-behavior:auto !important; transition:none !important; }
}
