@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--blue:#1D388E;--ink:#1D388E;--paper:#ffffff;--gold:#EEB640;--muted:#585D60;--line:#dce5f1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',system-ui,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #E30613;outline-offset:5px}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font:800 24px 'Manrope',sans-serif;line-height:1.1;letter-spacing:.5px}.brand small{display:block;font:500 12px/1.35 'DM Sans',sans-serif;letter-spacing:.2px;margin-top:5px}.mark{font-size:49px;color:var(--blue)}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav a:hover{color:#E30613}.navvisit{border:1px solid var(--blue);padding:12px 20px;border-radius:4px}.mobile{display:none}.hero{position:relative;min-height:640px;color:white;background:linear-gradient(90deg,rgba(29,56,142,.93),rgba(29,56,142,.18)),url('assets/capa-inicial-vista-aerea-museu.png') center 65%/cover;display:flex;align-items:center;padding:70px 8%}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(29,56,142,.48),transparent 40%)}.hero>div{position:relative;z-index:1;max-width:780px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:20px;display:block}.hero .eyebrow{color:var(--gold)}h1,h2,h3{line-height:1.12;margin:0;font-weight:500}h1,h2{font-family:Georgia,serif}h1{font-size:clamp(42px,5.8vw,82px);letter-spacing:-2px;max-width:770px}.hero h1 em{color:var(--gold);font-weight:400}.hero p{font-size:18px;max-width:490px;color:#eef5ff;margin:25px 0 32px}.buttons{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:4px;font-weight:600;font-size:14px;min-height:48px}.btn.gold{color:#1D388E;background:var(--gold);border-color:var(--gold)}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.hero-bottom{position:absolute!important;bottom:30px;left:8%;right:8%;max-width:none!important;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.8px;color:#eef5ff}.hero-bottom span:last-child{color:var(--gold)}.quick{padding:22px 6%;display:grid;grid-template-columns:repeat(8,1fr);border-bottom:1px solid var(--line);background:white}.quick a{text-align:center;display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;padding:8px;border-right:1px solid var(--line)}.quick a:last-child{border:0}.quick i{font-style:normal;font-size:25px}.section{padding:85px 8%;max-width:1600px;margin:auto}.section.compact{padding-top:45px}.heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:35px}.heading h2,h2{font-size:clamp(34px,4vw,52px);letter-spacing:-1px}.heading p{max-width:400px;color:var(--muted);margin:0}.heading .eyebrow{margin-bottom:12px;color:#E30613}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid.four{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden;text-align:left;transition:transform .2s,box-shadow .2s;color:inherit;padding:0}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #133d7820}.card img{width:100%;height:230px;object-fit:cover;display:block}.card .body{padding:24px}.card h3{font-size:25px;font-family:Georgia,serif;margin:10px 0}.card p{font-size:15px;color:var(--muted);margin:10px 0}.tag{font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:#E30613}.card .link{font-size:14px;font-weight:700;display:block;margin-top:20px;text-decoration:underline;text-underline-offset:5px}.imagepanel{min-height:300px;background:#edf3fc;display:flex;align-items:center;justify-content:center;font:60px Georgia;position:relative}.imagepanel span{font-size:12px;position:absolute;bottom:15px;left:20px;letter-spacing:1px}.banner{display:grid;grid-template-columns:1.1fr 1fr;margin:10px 8% 65px;background:var(--blue);border-radius:8px;color:white;overflow:hidden}.banner>div{padding:48px}.banner h2{font-size:40px}.banner p{color:#e0ebff}.banner img{width:100%;height:100%;min-height:310px;object-fit:cover}.banner .eyebrow{color:var(--gold)}.pageintro{padding:60px 8% 0}.pageintro h1{font-size:58px}.pageintro p{max-width:690px;color:var(--muted)}.crumb{font-size:13px;margin-bottom:22px;display:block}.filters{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:28px}input,select{background:white;border:1px solid #a5b7d2;border-radius:4px;padding:13px 16px;min-height:48px;color:var(--ink)}input{flex:1;min-width:180px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.chip{border:1px solid #a5b7d2;border-radius:30px;background:white;padding:10px 20px;color:var(--ink)}.chip.active{background:var(--blue);color:white;border-color:var(--blue)}.callout{padding:28px;background:#eff5ff;border-radius:6px;margin:25px 0}.callout p{margin:8px 0}.route-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}.museum-map{background:#f0f5fd;padding:28px;border:1px solid #c8d8ed;border-radius:6px}.museum-map .rooms{display:grid;grid-template-columns:1fr 1fr;gap:12px}.room{background:#fff;border:1px solid #9db6d5;color:var(--ink);padding:28px 16px;border-radius:4px;font-weight:600;min-height:100px}.room.active{background:var(--blue);color:#fff}.maplabel{font-size:13px;color:var(--muted);text-align:center;margin-top:18px}.roominfo{padding:25px;background:#fff;border:1px solid var(--line);border-radius:6px}.roominfo h2{font-size:34px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0;border-bottom:3px solid #c0d1e9}.timeline button{background:none;border:none;color:var(--ink);padding:18px;font-weight:600;border-bottom:4px solid transparent}.timeline button.active{border-color:#E30613;color:#E30613}.period{background:var(--blue);color:#fff;padding:40px;border-radius:6px}.period h2{font-size:40px}.period p{max-width:850px}.period small{color:var(--gold)}.map{position:relative;background:#edf4fd;border-radius:8px;padding:24px;min-height:400px}.map svg{width:100%;height:370px}.map button{position:absolute;background:var(--blue);color:white;border:2px solid #fff;padding:8px 12px;border-radius:25px;font-size:13px}.quiz{padding:35px;background:white;border:1px solid var(--line);border-radius:8px;max-width:900px;margin:30px auto}.quiz img{width:100%;height:300px;object-fit:cover;border-radius:5px}.quiz h2{font-size:34px;margin:25px 0}.options{display:grid;gap:10px}.options button{text-align:left;border:1px solid #a9bbd6;padding:16px;background:#f5f8ff;border-radius:4px;color:var(--ink)}.options button.correct{background:#e3edff;border-color:#1D388E}.options button.wrong{background:#fff0f1;border-color:#E30613}.result{margin-top:20px;padding:18px;border-radius:5px;background:#eff5ff}.empty{padding:45px;background:#fff;border:1px dashed #9bb1d0;border-radius:6px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.infobox{padding:26px;background:white;border:1px solid var(--line);border-radius:6px}.infobox h3{font-size:23px;font-family:Georgia,serif}.infobox p{margin-bottom:0}.history{margin:30px 0;border-left:2px solid #a6bbdb;padding-left:28px}.history article{padding:15px 0}.history b{color:#E30613}.history h3{margin:5px 0}.sources a{text-decoration:underline;overflow-wrap:anywhere}.sources li{margin:12px 0}footer{display:flex;justify-content:space-between;gap:30px;padding:45px 6%;background:#1D388E;color:#eef5ff}footer .mark{color:var(--gold)}footer p{font-size:12px;color:#b9ceeb}#mission{position:fixed;bottom:16px;right:20px;background:#fff;border:1px solid #cfdaeb;padding:13px 20px;box-shadow:0 6px 28px #102d5820;border-radius:6px;z-index:5;font-size:14px;max-width:340px}#mission:empty{display:none}#mission a{font-weight:700;text-decoration:underline}dialog{border:0;border-radius:8px;padding:0;max-width:720px;width:calc(100% - 32px);max-height:90vh;color:var(--ink);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#09234dd0}dialog img{width:100%;height:310px;object-fit:cover}dialog .content{padding:32px}dialog h2{font-size:38px}dialog dl{display:grid;grid-template-columns:140px 1fr;gap:8px;font-size:15px}dialog dt{font-weight:700}dialog dd{margin:0}.close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:50%;background:white;color:var(--blue);font-size:22px}.skip{position:fixed;top:-100px;background:white;padding:14px;z-index:99}.skip:focus{top:0}.notice{font-size:13px;color:var(--muted)}.loading{padding:80px}.discovery-list{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:30px 0}.discovery-list>div{padding:25px 15px;border:1px solid var(--line);background:white;border-radius:5px;text-align:center}.discovery-list b{display:block;font-size:26px}.discovery-list small{display:block;font-size:13px}.count{font-size:14px;margin-bottom:20px;color:var(--muted)}@media(max-width:1000px){nav{gap:16px}.grid.four{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:repeat(4,1fr)}.quick a:nth-child(4){border:0}.hero{min-height:600px}.heading{display:block}.heading p{margin-top:18px}.banner{margin-left:6%;margin-right:6%}.route-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){header{height:85px;padding:0 5%}.brand{font-size:21px}.brand small{font-size:11px}.mark{font-size:40px}.mobile{display:block;background:none;border:1px solid #aaa;padding:8px 14px;border-radius:4px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;padding:24px;z-index:10;box-shadow:0 15px 20px #0001}nav.open{display:flex;flex-direction:column;align-items:stretch}.hero{padding:65px 6% 105px;min-height:620px;background-position:60% center}h1{letter-spacing:-1px}.hero p{font-size:16px}.hero-bottom{left:6%;right:6%;font-size:10px}.quick{padding:12px 3%}.quick a{font-size:11px}.section{padding:55px 6%}.pageintro{padding:42px 6% 0}.pageintro h1{font-size:43px}.grid,.grid.four{grid-template-columns:1fr}.card img{height:250px}.banner{grid-template-columns:1fr}.banner>div{padding:30px}.banner img{min-height:230px;max-height:260px}.route-grid,.visit-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.timeline button{font-size:14px}.period{padding:28px}.map{padding:10px}.map button{font-size:11px}.quiz{padding:22px}.quiz img{height:230px}.discovery-list{grid-template-columns:1fr 1fr}.filters{flex-direction:column}footer{flex-direction:column;padding-bottom:100px}#mission{right:12px;bottom:12px;max-width:calc(100% - 24px);font-size:12px}dialog dl{grid-template-columns:1fr}dialog dd{margin-bottom:8px}.heading h2{font-size:37px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Museum palette: blue, white, yellow and red. */
:root{--red:#E30613;--navy:#1D388E;--sky:#eff5ff}
header{position:relative;border-bottom:1px solid var(--line)}
header::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0 72%,var(--gold) 72% 90%,var(--red) 90%)}
.brand .mark{color:var(--blue)}nav .navvisit{background:var(--blue);color:#fff;border-radius:6px}nav .navvisit:hover{background:var(--navy);color:#fff}
.hero{border-bottom:5px solid var(--gold)}.hero h1{line-height:1.08}.hero .eyebrow{font-size:14px;letter-spacing:2px}.hero-bottom{flex-wrap:wrap;gap:12px}
.btn{border-radius:6px;transition:background .2s,box-shadow .2s}.btn:hover{box-shadow:0 5px 16px #102d5826}.btn:not(.gold):not(.outline):hover{background:var(--navy)}
.quick a{border-radius:6px;font-size:14px;transition:background .2s}.quick a:hover{background:var(--sky)}
.heading .eyebrow,.tag{color:var(--red);font-size:14px;letter-spacing:1.4px}
.heading .eyebrow::before{content:"";display:inline-block;width:24px;height:3px;background:var(--red);margin:0 10px 3px 0}
.card{border-radius:12px;border-color:#dce5f1;box-shadow:0 3px 14px #173d7010}.card .body{border-top:3px solid var(--gold)}.card:nth-child(3n+2) .body{border-top-color:var(--blue)}.card:nth-child(3n) .body{border-top-color:var(--red)}
.card .link{color:var(--blue)}.card img{transition:filter .25s}.card:hover img{filter:saturate(1.08)}
.banner{border-radius:12px;border-bottom:4px solid var(--gold);background:linear-gradient(120deg,var(--navy),var(--blue))}.banner .eyebrow{color:var(--gold)}
.pageintro{padding-bottom:22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f3f7ff,#fff)}.pageintro h1{color:var(--navy)}
.callout{border-left:4px solid var(--gold);border-radius:8px}.infobox,.roominfo,.museum-map,.quiz{border-radius:10px}.room.active{border-color:var(--blue);box-shadow:inset 0 -4px var(--gold)}
.period{background:linear-gradient(115deg,var(--navy),var(--blue));border-bottom:4px solid var(--gold);border-radius:10px}.timeline button.active{background:#fff4f5;border-radius:6px 6px 0 0}
.map svg path{fill:#bfd5f0;stroke:#5c84b8}.map svg text{fill:var(--navy)}.map button{min-height:44px;font-size:14px}.map button:hover{background:var(--red)}
.options button.correct{box-shadow:inset 4px 0 var(--blue)}.options button.wrong{box-shadow:inset 4px 0 var(--red)}
.discovery-list>div{border-radius:10px;border-top:3px solid var(--gold)}#mission{border-left:4px solid var(--gold);border-radius:8px}
footer{border-top:4px solid var(--red)}footer .mark{color:var(--gold)}.brand small{font-size:14px}footer p{font-size:14px}.notice,.maplabel,.crumb{font-size:14px}
@media(max-width:1000px) and (min-width:701px){header{height:auto;min-height:108px;flex-wrap:wrap;gap:16px;padding-top:20px;padding-bottom:20px}nav{flex-wrap:wrap;gap:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.brand small{font-size:12px}.hero .eyebrow{font-size:12px;letter-spacing:1.5px}.hero-bottom{font-size:12px;letter-spacing:1px}.quick a{font-size:13px}.map button{font-size:13px;padding:8px}.grid{grid-template-columns:minmax(0,1fr)}.infobox a{overflow-wrap:anywhere}.banner .eyebrow{font-size:13px}}

/* Local layout for educational investigation surfaces. */
.evo .evo-portals{grid-template-columns:repeat(4,minmax(0,1fr))}.evo .evo-clues{grid-template-columns:repeat(2,minmax(0,1fr))}.evo .evo-space{margin-top:28px}.evo .room,.evo .chip,.evo summary{min-height:48px}.evo .evo-history-photo{display:block;width:100%;max-width:640px;height:auto;max-height:350px;object-fit:cover;border-radius:8px;margin-bottom:24px}.evo .evo-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.evo .evo-form label{display:flex;flex-direction:column;gap:8px;font-weight:600}.evo select{width:100%;min-width:0}.evo .discovery-list{grid-template-columns:repeat(3,minmax(0,1fr))}.evo .discovery-list p{font-size:14px}.evo :is(.roominfo,.infobox,.quiz,.callout){min-width:0;overflow-wrap:anywhere}.evo .chips{align-items:stretch}.evo .chips button{white-space:normal}.evo details>summary{cursor:pointer;padding:14px 0;font-weight:600}.evo #history-title{font-size:clamp(28px,4vw,40px)}.evo #portal-title{font-size:clamp(28px,4vw,40px)}
@media(max-width:1024px){.evo .evo-portals{grid-template-columns:repeat(2,minmax(0,1fr))}.evo .discovery-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.evo .evo-clues,.evo .evo-form,.evo .discovery-list{grid-template-columns:minmax(0,1fr)}.evo .callout,.evo .roominfo,.evo .infobox{padding:22px}.evo .evo-portals .room{padding:20px 10px;font-size:14px}.evo .chips .chip{font-size:14px;padding:10px 14px}}

/* Aves: local extensions of existing controls and cards. */
.bird-section .bird-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;align-items:end;gap:16px}.bird-section label{display:flex;flex-direction:column;gap:8px;min-width:0}.bird-section .bird-filters input,.bird-section .bird-filters select{width:100%;min-width:0;min-height:48px}.bird-section .bird-filters .btn{min-height:48px;justify-self:start}.bird-section .card{min-width:0}.bird-section .card img{height:230px;width:100%;object-fit:cover}.bird-section .notice,.bird-detail .notice{overflow-wrap:anywhere}.bird-section button:focus-visible,.bird-section input:focus-visible,.bird-section select:focus-visible,.bird-detail a:focus-visible{outline:3px solid var(--red);outline-offset:3px}.bird-detail li{margin-bottom:12px}@media(max-width:1024px){.bird-section .bird-filters{grid-template-columns:1fr 1fr}}@media(max-width:600px){.bird-section .bird-filters{grid-template-columns:1fr}.bird-section .bird-filters .btn{width:100%}}

/* Museum logo restored from the supplied poster. */
.museum-brand{display:block;flex-shrink:0;max-width:100%}.museum-brand img{display:block;width:280px;max-width:100%;height:auto;border-radius:3px}.museum-footer-brand{max-width:100%}.museum-footer-brand p{max-width:280px}@media(max-width:600px){header .museum-brand img{width:210px}}

footer .museum-brand img{filter:url(#museum-footer-colors)}

/* Keep navigation available while scrolling, without removing its layout space. */
body>header{position:sticky;top:0;z-index:30}
html{scroll-padding-top:calc(var(--museum-header-height,108px) + 16px)}
@media(max-width:700px){header #nav{top:100%;max-height:calc(100dvh - var(--museum-header-height,85px));overflow-y:auto;overscroll-behavior:contain}}

/* Unified navigation icon family. */
.quick a{align-items:center;justify-content:flex-start;gap:14px;padding:16px 8px;border-radius:8px;transition:background-color .18s ease;color:var(--ink)}
.quick-icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;flex:0 0 66px;border-radius:50%;background:#eff5ff;border:1px solid #dce5f1;transition:background-color .18s ease,border-color .18s ease}
.quick-icon img{display:block;width:42px;height:42px}
.quick-label{display:flex;align-items:flex-start;justify-content:center;min-height:44px;max-width:160px;font-size:14px;line-height:1.5;font-weight:600}
.quick a:hover,.quick a:focus-visible{background:#f6f9fe}.quick a:hover .quick-icon,.quick a:focus-visible .quick-icon{background:#fff7d6;border-color:#e7c965}
.quick a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:700px){.quick a{padding:14px 5px;gap:10px}.quick-icon{width:54px;height:54px;flex-basis:54px}.quick-icon img{width:36px;height:36px}.quick-label{font-size:12px;min-height:54px;overflow-wrap:anywhere}}

/* Local styles for the Instagram editorial selection. */
.instagram-section{border-top:1px solid var(--line)}
.instagram-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}
.instagram-card{min-width:0;border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--paper)}
.instagram-card h3{font-size:18px;min-height:48px;margin:0 0 18px}
.instagram-slot{min-height:160px;overflow:hidden;margin-bottom:20px}
.instagram-slot .instagram-media{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
.instagram-slot iframe{max-width:100%!important}
.instagram-card .btn{width:100%;text-align:center;min-height:44px}
@media(max-width:1399px){.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){.instagram-section{padding-left:16px;padding-right:16px}.instagram-grid{grid-template-columns:minmax(0,1fr);max-width:540px;margin-left:auto;margin-right:auto}.instagram-card{padding:8px}.instagram-card h3{min-height:0;padding:8px}}
.instagram-section .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Embedded official collection; styles scoped to the local wrapper. */
.tainacan-section{padding-bottom:0}.tainacan-section .callout{margin-bottom:0}.tainacan-frame{display:block;width:100%;height:75vh;min-height:480px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:16px 0}.tainacan-section .buttons{flex-wrap:wrap}.tainacan-section .btn{min-height:44px}.tainacan-section [hidden]{display:none}
@media(max-width:600px){.tainacan-section .callout{padding:16px}.tainacan-section .buttons .btn{width:100%;text-align:center}.tainacan-frame{height:70vh;min-height:420px}}


/* Observatório: adaptações locais, com os componentes e cores existentes. */
.observatory .field-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.observatory label{display:flex;flex-direction:column;gap:8px;min-width:0}.observatory input,.observatory select,.observatory textarea{font:inherit;max-width:100%;min-width:0;min-height:44px;padding:12px;border:1px solid #63758a;border-radius:8px;background:#fff;color:#172b45}.observatory .field-wide{grid-column:1/-1}.observatory summary{cursor:pointer;padding:12px 0;min-height:44px}.observatory .infobox{overflow-wrap:anywhere}.observatory #field-list article{margin:16px 0}.observatory .filters{flex-wrap:wrap}.observatory button{min-height:44px}.observatory :focus-visible{outline:3px solid #1D388E;outline-offset:3px}@media(max-width:600px){.observatory .field-form{grid-template-columns:1fr}.observatory .filters>*{width:100%}}@media print{body.printing-field-notes header,body.printing-field-notes footer,body.printing-field-notes #mission,body.printing-field-notes .pageintro,body.printing-field-notes .observatory>*:not(#field-list){display:none!important}body.printing-field-notes .observatory{padding:0}body.printing-field-notes #field-list article{break-inside:avoid}}

/* Portal illustrations: local styles only; preserve the existing room cards. */
.evo .evo-portals .room{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.evo-portals .portal-icon{display:block;flex-shrink:0;width:56px;height:56px;transition:transform .18s ease}
.evo-portals .portal-icon-wash{fill:#EEB640;fill-opacity:.22;stroke:currentColor}
.evo-portals .portal-icon-red{stroke:#E30613}
.evo-portals .active .portal-icon-wash{fill:#EEB640;fill-opacity:.3;stroke:#EEB640}
.evo-portals .active .portal-icon-red{stroke:#EEB640}
.evo-portals .room:focus-visible{outline:3px solid #1D388E;outline-offset:5px}
.evo-portals .room:focus-visible .portal-icon{transform:translateY(-2px)}
@media(hover:hover){.evo-portals .room:hover .portal-icon{transform:translateY(-2px)}}
@media(max-width:600px){.evo-portals .portal-icon{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.evo-portals .portal-icon{transition:none!important;transform:none!important}}

/* Visit page: scoped refinements. */
.visit-page .visit-grid{align-items:start;gap:24px}.visit-page .infobox{padding:28px;min-width:0}.visit-page h2{margin:36px 0 20px}.visit-page h3{display:flex;align-items:center;gap:14px;margin:0 0 16px}.visit-page .visit-icon{flex-shrink:0;color:#1D388E}.visit-page .infobox p{margin:12px 0 20px}.visit-page .infobox .notice{margin:16px 0 0}.visit-page .btn{min-height:48px;white-space:normal;text-align:center;max-width:100%}.visit-page .visit-bottom{margin-top:24px}.visit-page ul{padding-left:24px;margin:0 0 22px}.visit-steps{display:flex;gap:14px;flex-wrap:wrap}.visit-steps button{display:flex;align-items:center;gap:10px;flex:1;min-width:190px;padding:16px;background:#fff;border:1px solid #d6e1f0;border-radius:10px;color:#1D388E;font:inherit;text-align:left;cursor:pointer}.visit-steps b{background:#EEB640;border-radius:50%;padding:6px;font-size:14px}.visit-contact-row{display:flex;gap:12px;align-items:center;margin:18px 0}.visit-contact-row .visit-icon{width:28px;height:28px}.visit-contact-row div{min-width:0}.visit-contact-row span{display:block;font-size:14px}.visit-contact-row a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.visit-page [id]{scroll-margin-top:calc(var(--museum-header-height,100px) + 24px)}.visit-page :focus-visible{outline:3px solid #E30613;outline-offset:5px}.visit-page .visit-whatsapp{overflow-wrap:anywhere}@media(max-width:600px){.visit-page .visit-grid{grid-template-columns:minmax(0,1fr)}.visit-page .infobox{padding:22px}.visit-page .btn{width:100%}.visit-steps{flex-direction:column}}

/* Mato Grosso discovery map: local styles. */
.map-page .route-grid{align-items:start;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.map-page .route-grid>div,.map-page .map-discovery{min-width:0}.map-stage{position:relative;aspect-ratio:500/420;background:#edf4fd;border-radius:8px;overflow:hidden}.state-outline{width:100%;height:100%;display:block}.map-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;padding:9px 11px;border:2px solid white;border-radius:24px;background:#1D388E;color:white;min-height:44px;font:600 12px/1.2 inherit}.map-marker svg{width:20px;height:20px;flex-shrink:0}.map-marker.map-place{border-radius:8px}.map-marker.active,.map-choice.active{background:#EEB640;color:#1D388E;border-color:#1D388E}.map-access-list,.map-welcome-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.map-choice{display:flex;align-items:center;gap:12px;padding:14px;min-height:64px;text-align:left;background:white;color:#1D388E;border:1px solid #dce5f1;border-radius:7px;font:inherit}.map-choice svg{flex-shrink:0}.map-choice small{display:block;font-size:12px;color:#585D60}.map-discovery.roominfo{padding:28px}.map-discovery h2{font-size:clamp(30px,3vw,44px)}.map-panel-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px}.map-photo-credit{font-size:12px;margin:8px 0 24px}.map-page .notice a{text-decoration:underline}.map-curiosity{padding:18px;background:#edf4fd;border-left:3px solid #EEB640;border-radius:4px}.map-curiosity p{margin:8px 0 0}.map-topic-art{background:#edf4fd;color:#1D388E;border-radius:7px;padding:26px;margin-bottom:24px}.map-topic-art svg{width:64px;height:64px}.map-page :focus-visible{outline:3px solid #E30613;outline-offset:4px}.map-discovery{scroll-margin-top:calc(var(--museum-header-height,108px) + 20px)}
@media(max-width:900px){.map-page .route-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:420px){.map-access-list,.map-welcome-options{grid-template-columns:minmax(0,1fr)}.map-marker{padding:8px;gap:3px;font-size:11px}.map-marker svg{width:16px;height:16px}.map-discovery.roominfo{padding:22px}}

/* Museum footer: scoped layout, typography and navigation. */
footer.site-footer{display:block;padding:48px 6% 24px;background:#1D388E;color:#eef5ff;border-top:3px solid #E30613}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1.25fr);gap:clamp(24px,5vw,72px);max-width:1400px;margin:auto;align-items:start}
.site-footer .footer-main>section,.site-footer .museum-footer-brand{min-width:0}
.site-footer .museum-brand img{width:280px;max-width:100%}
.site-footer h2{font:600 18px/1.4 'DM Sans',system-ui,sans-serif;letter-spacing:0;margin:0 0 16px;color:#fff}
.site-footer p{font-size:15px;line-height:1.7;color:#d4e1f4;margin:22px 0 16px}
.site-footer .footer-kicker{font-size:12px;font-weight:600;letter-spacing:1px;color:#EEB640}
.site-footer .footer-explore nav{display:grid;grid-template-columns:minmax(0,1fr);position:static;gap:0;padding:0;background:none;box-shadow:none;font-size:15px;max-height:none;overflow:visible}
.site-footer .footer-explore a{display:flex;align-items:center;min-height:40px;width:fit-content;padding:6px 0}
.site-footer #footer-contact-links{display:flex;flex-direction:column;gap:10px}
.site-footer .footer-contact-link{display:flex;align-items:center;gap:12px;min-height:44px;font-size:15px}
.site-footer .footer-contact-link svg{flex-shrink:0;color:#EEB640}
.site-footer .footer-contact-link>span{min-width:0;overflow-wrap:anywhere}
.site-footer .footer-visit-link{display:inline-flex;align-items:center;gap:20px;padding:12px 18px;min-height:48px;border:1px solid #EEB640;border-radius:4px;color:#EEB640;font-weight:600;margin-top:20px}
.site-footer .footer-bottom{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;max-width:1400px;margin:34px auto 0;padding-top:20px;border-top:1px solid #58749a;font-size:13px}
.site-footer .footer-bottom p{font-size:13px;margin:0;color:#d4e1f4}
.site-footer a:hover{color:#EEB640;text-decoration:underline;text-underline-offset:5px}
.site-footer a:focus-visible{outline:3px solid #EEB640;outline-offset:5px}
.footer-screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:900px){.site-footer .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.site-footer .museum-footer-brand{grid-column:1/-1}.site-footer .museum-footer-brand p{max-width:none}.site-footer .footer-explore a{min-height:44px}}
@media(max-width:600px){footer.site-footer{padding:36px 6% 100px}.site-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:30px}.site-footer .museum-brand img{width:260px}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.site-footer .footer-visit-link{width:100%;justify-content:space-between}}

.bncc-list{display:grid;gap:18px;margin:24px 0}.bncc-route summary{cursor:pointer;list-style-position:inside}.bncc-route summary h3{margin:12px 0}.bncc-route[open] summary{margin-bottom:20px}.bncc-route h4{margin:24px 0 8px}.bncc-route summary:focus-visible{outline:3px solid #1D388E;outline-offset:6px}.bncc-route .tag{white-space:normal;overflow-wrap:anywhere}

/* Scoped improvements for educational discovery. */
.material-grid{align-items:start}.material-card{min-width:0}.material-card figure{margin:0}.material-card figure img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;background:#eef4ff}.material-card figcaption{padding:8px 20px;font-size:13px;color:#334b69}.material-card .body{overflow-wrap:anywhere}.material-card .btn,.interest-paths .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.material-card summary{cursor:pointer;min-height:48px;padding:14px 0;font-weight:600}.material-card details{margin-top:16px}.material-card dt{font-weight:600;margin-top:12px}.material-card dd{margin:4px 0 12px}.educational-home>p{max-width:780px}.educational-home h2{font-size:clamp(28px,4vw,44px)}.interest-paths .infobox{min-width:0}.interest-explore-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}.material-card :is(a,summary):focus-visible,.interest-paths a:focus-visible{outline:3px solid #E30613;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:600px){.material-card .btn,.interest-paths .btn{width:100%}.material-grid{grid-template-columns:minmax(0,1fr)}}

.site-footer .footer-management{padding:24px 0;border-top:1px solid #526885;overflow-wrap:anywhere}.site-footer .footer-management h2{font-size:20px;color:#fff}.site-footer .footer-management a{display:inline-flex;align-items:center;min-height:44px;color:#EEB640}.site-footer .footer-management a:focus-visible{outline:3px solid #EEB640;outline-offset:4px}.management-about{margin:24px auto;max-width:1100px}.management-about a:focus-visible{outline:3px solid #E30613;outline-offset:3px}

/* Acesso destacado à gestão, também visível no celular. */
.visits-access{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 6%;background:#edf4fd;border-bottom:2px solid #EEB640;color:#1D388E}.visits-access>div{min-width:0}.visits-access strong{display:block;font-size:20px;line-height:1.3}.visits-access>div>span{display:block;font-size:14px;margin-top:4px}.visits-access-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;background:#1D388E;color:#fff;border-radius:7px;font-size:15px;font-weight:700;text-align:center;flex-shrink:0}.visits-access-button:hover{background:#1D388E;color:#fff}@media(max-width:640px){.visits-access{flex-direction:column;align-items:stretch;gap:12px;padding:16px 6%}.visits-access-button{width:100%}}

.visits-access-actions{display:flex;flex-direction:column;gap:8px;text-align:center}.visits-team-link{font-size:13px;color:#1D388E;text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.visits-access-actions{width:100%}}

/* Portal institucional e publicações */
.portal-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-shortcut{position:relative;border:1px solid #dce5f1;border-radius:9px;padding:24px;background:#fff;transition:background .15s,transform .15s}.portal-shortcut>span{font-size:12px;letter-spacing:2px;color:#585D60}.portal-shortcut h3{font-family:Georgia,serif;font-size:25px;margin:18px 0 10px}.portal-shortcut p{font-size:14px;color:#585D60;margin:0 0 20px}.portal-shortcut>b{color:#1D388E;font-size:22px}.portal-shortcut:hover{background:#edf4fd;transform:translateY(-3px)}.portal-home{background:#fff}.editorial-latest{margin-top:55px}.editorial-cover{display:flex;align-items:end;min-height:190px;padding:24px;background:#edf4fd;border-bottom:5px solid #EEB640;font-family:Georgia,serif;font-size:24px;color:#1D388E}.editorial-card h3 a:hover{text-decoration:underline}.editorial-date{font-size:13px;color:#585D60}.editorial-filters{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:30px}.editorial-filters label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:180px;font-weight:600;font-size:14px}.editorial-filters input,.editorial-filters select{width:100%;padding:14px;border:1px solid #b7c8df;border-radius:5px;background:white;color:#1D388E;min-height:48px}.editorial-detail{max-width:1100px}.editorial-detail>h1{color:#1D388E;font-size:clamp(34px,5vw,58px);margin-top:16px}.editorial-detail>.eyebrow{margin-top:32px;color:#1D388E}.editorial-lead{font-size:20px;color:#585D60;max-width:780px}.editorial-text{max-width:780px;font-size:18px;line-height:1.85;overflow-wrap:anywhere}.editorial-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.editorial-figure{margin:24px 0;min-width:0}.editorial-figure img{display:block;max-width:100%;width:100%;height:auto;border-radius:6px}.editorial-figure figcaption{font-size:13px;color:#585D60;line-height:1.6;margin-top:8px}.editorial-links{margin-top:28px}@media(max-width:1000px){.portal-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.portal-shortcuts,.editorial-photos{grid-template-columns:1fr}.portal-shortcut{padding:22px}.editorial-filters{flex-direction:column}}
@media(min-width:1251px){body>header #nav{gap:18px;font-size:13px}}@media(max-width:1250px){body>header{height:auto;min-height:85px;flex-wrap:nowrap;padding-top:14px;padding-bottom:14px}body>header #menu{display:block;background:#fff;color:#1D388E;border:1px solid #b7c8df;padding:10px 16px;border-radius:5px}body>header #nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:24px;z-index:31;max-height:calc(100dvh - var(--museum-header-height,85px));overflow-y:auto;box-shadow:0 15px 20px #0001}body>header #nav.open{display:flex;flex-direction:column;align-items:stretch;gap:14px}}

.youtube-callout{display:flex;align-items:center;gap:28px;padding:32px;border:1px solid #dce5f1;border-left:5px solid #E30613;border-radius:8px;background:#f6f8fc}.youtube-callout>div:nth-child(2){flex:1;min-width:0}.youtube-callout h2{font-size:clamp(30px,3vw,42px)}.youtube-callout p{margin:14px 0 8px;color:#585D60}.youtube-callout .eyebrow{margin-bottom:12px}.youtube-callout .btn{flex-shrink:0;text-align:center}.youtube-handle{font-size:14px;color:#585D60;overflow-wrap:anywhere}@media(max-width:900px){.youtube-callout{flex-wrap:wrap}.youtube-callout .btn{width:100%}}@media(max-width:600px){.youtube-callout{display:block;padding:24px}.youtube-play{margin-bottom:18px}.youtube-callout .btn{margin-top:22px}}

/* Foco por teclado do widget oficial VLibras. EqualWeb permanece à esquerda. */
:root{--vlibras-btn-focus-visible-outline:3px solid #1D388E;--vlibras-btn-focus-visible-shadow:0 0 0 5px #EEB640}

.event-scope{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.event-summary{border-top:1px solid #dce5f1;margin-top:18px;padding-top:12px}.event-summary p{margin:6px 0;font-size:14px}.event-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0}.event-details dt{font-size:13px;font-weight:700;color:#585D60}.event-details dd{margin:6px 0 0;overflow-wrap:anywhere}.portal-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1200px){.portal-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.portal-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.portal-shortcuts,.event-details dl{grid-template-columns:1fr}.event-scope .btn{width:100%}}

/* Carrosséis com rolagem nativa: toque, teclado e controles. */
.social-carousel{margin:24px 0}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-bottom:16px}.carousel-arrow{min-width:48px;padding:8px 14px;font-size:22px}.carousel-arrow:disabled{opacity:.4;cursor:default}.carousel-status{min-width:80px;text-align:center;font-size:14px;color:#585D60}.social-carousel-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 3px 20px;overscroll-behavior-x:contain;scroll-padding:3px}.social-slide{flex:0 0 min(365px,100%);min-width:0;scroll-snap-align:start;border:1px solid #dce5f1;border-radius:10px;background:#fff;overflow:hidden}.instagram-card.social-slide{padding:18px}.instagram-card.social-slide h3{font-size:19px;min-height:44px;margin-bottom:16px}.social-slide .instagram-media,.social-slide .instagram-slot iframe{min-width:0!important;max-width:100%!important;width:100%!important}.youtube-video-card{flex-basis:min(430px,100%)}.youtube-video-body{padding:22px}.youtube-video-body h3{font:25px/1.2 Georgia,serif}.youtube-video-body p{font-size:15px;color:#585D60}.youtube-video-player{aspect-ratio:16/9;background:#1D388E}.youtube-poster{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:#1D388E;color:white;cursor:pointer}.youtube-poster img{width:100%;height:100%;object-fit:cover;opacity:.65}.youtube-poster>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#E30613;color:white;border-radius:14px;padding:12px 24px;font-size:24px}.youtube-poster>b{position:absolute;bottom:10px;left:0;right:0;font-size:14px}.youtube-frame{width:100%;height:100%;border:0;display:block}.youtube-channel-card{padding:30px;background:#f6f8fc}.youtube-channel-card .youtube-play{color:#E30613;font-size:42px}.youtube-channel-card h3{font:28px Georgia,serif;margin:20px 0}.youtube-channel-card p{color:#585D60}.editorial-detail>.youtube-video-card{max-width:780px;width:100%;margin:24px 0}@media(prefers-reduced-motion:reduce){.social-carousel-track{scroll-behavior:auto}}

/* Identidade cromática oficial — material do Museu, outubro/2026.
   Branco sobre azul, vermelho e verde; azul sobre amarelo.
   Azul ECOSS restrito à identificação institucional, com texto branco. */
:root{--museum-blue:#1D388E;--museum-red:#E30613;--museum-yellow:#EEB640;--museum-green:#1B802D;--ecoss-blue:#178DC9;--museum-gray:#585D60;--museum-black:#000000;--blue:var(--museum-blue);--red:var(--museum-red);--gold:var(--museum-yellow);--navy:var(--museum-blue);--ink:var(--museum-blue);--muted:var(--museum-gray);--paper:#FFFFFF}
header::before{background:linear-gradient(90deg,var(--blue) 0 72%,var(--red) 72%)}
.btn.gold,.visit-steps b,.map-marker.active,.map-choice.active{color:var(--blue)}
nav .navvisit,.visits-access-button{background:var(--red);border-color:var(--red);color:#fff}
nav .navvisit:hover,.visits-access-button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.quick a[href="#biodiversidade"] .quick-icon{border-color:var(--museum-green)}
.quick a[href="#biodiversidade"] .quick-label{color:var(--museum-green)}
.options button.correct{border-color:var(--museum-green);box-shadow:inset 4px 0 var(--museum-green);background:#eff7f0;color:var(--museum-green)}
.management-about{border-left-color:var(--ecoss-blue)}
.management-about a[href*="institutoecoss"],.site-footer .footer-management a[href*="institutoecoss"]{background:var(--ecoss-blue);color:#fff;padding:8px 14px;border-radius:5px;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;font-weight:700;font-size:19px}
.social-carousel-track:focus-visible{outline:3px solid var(--blue);outline-offset:4px}

/* Controles de rotação automática, também disponíveis no celular. */
.carousel-controls{flex-wrap:wrap}.carousel-rotation{margin-right:auto;min-height:48px}.carousel-rotation[hidden]{display:none}@media(max-width:420px){.carousel-controls{gap:8px}.carousel-rotation{font-size:13px;padding:10px 12px}.carousel-status{min-width:66px}.carousel-arrow{min-width:44px;padding:8px 10px}}

/* Movimento contínuo: rolagem por quadro sem travamento nos cartões. */
.social-carousel-track.carousel-continuous{scroll-snap-type:none;scroll-behavior:auto}

/* Capa com reflow: proporção da foto, tipografia em rem e conteúdo no fluxo. */
.hero.hero-aerial{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;gap:2.5rem;background-color:var(--blue);background-image:linear-gradient(90deg,rgba(5,22,45,.82) 0%,rgba(5,22,45,.64) 30%,rgba(5,22,45,.12) 50%,rgba(5,22,45,0) 64%,rgba(5,22,45,0) 100%),url('assets/capa-museu-panoramica.png');background-size:cover;background-position:center;background-repeat:no-repeat;min-height:clamp(32rem,calc(100svh - var(--museum-header-height,6.75rem) - 5rem),46rem);aspect-ratio:auto;padding:clamp(2rem,3vw,3rem) 7% 1.5rem}
.hero.hero-aerial::after{display:none}
.hero-aerial>div:not(.hero-bottom){width:100%;max-width:48rem;min-width:0}
.hero-aerial h1{font-size:clamp(2.5rem,calc(1.8rem + 2.7vw),4.95rem);line-height:1.1;letter-spacing:-.025em;text-shadow:0 2px 12px #0004;overflow-wrap:normal;word-break:normal;hyphens:auto}
.hero-aerial .eyebrow{font-size:.875rem;letter-spacing:.12em;overflow-wrap:anywhere}
.hero-aerial p{font-size:1.25rem;line-height:1.65;color:#fff;text-shadow:0 1px 6px #0006;max-width:32rem}
.hero-aerial .hero-bottom{position:static!important;inset:auto;display:flex;flex-wrap:wrap;gap:.75rem 2rem;width:100%;max-width:none!important;font-size:.75rem;letter-spacing:.1em;text-shadow:0 1px 5px #000}
.hero-aerial .btn{min-height:3.5rem;padding:1rem 1.6rem;font-size:1rem;white-space:normal;text-align:center;max-width:100%}
.hero-aerial .btn.outline{background:#05162d55}
@media(max-width:68.75rem){.hero.hero-aerial{background-image:linear-gradient(90deg,rgba(5,22,45,.82),rgba(5,22,45,.50)),url('assets/capa-museu-panoramica.png')}}
@media(max-width:37.5rem){.hero.hero-aerial{aspect-ratio:auto;padding:2.5rem 6% 1.5rem;gap:2rem}.hero-aerial .buttons{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:25rem}.hero-aerial .btn{width:100%}.hero-aerial .hero-bottom{flex-direction:column;align-items:flex-start}}

/* Conter a página na largura disponível, mantendo a rolagem dos carrosséis. */
html{overflow-x:clip}
body{width:100%;min-width:0}
#main,.section,.pageintro,.social-carousel,.social-carousel-track{min-width:0;max-width:100%}
.grid>*,.quick>*,.route-grid>*,.visit-grid>*,.heading>*{min-width:0}
.quick{grid-template-columns:repeat(8,minmax(0,1fr))}
.card,.infobox,.portal-shortcut,.youtube-video-body,.hero-aerial h1{overflow-wrap:anywhere}
.material-card figure img,.card img,.banner img,.editorial-figure img{max-width:100%}
body>header .museum-brand{min-width:0;flex-shrink:1}
body>header #menu{flex-shrink:0;margin-left:16px}
.site-footer a{max-width:100%;overflow-wrap:anywhere}
.social-carousel-track{width:100%;scrollbar-width:none}
.social-carousel-track::-webkit-scrollbar{display:none}
@media(max-width:1000px){.quick{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:400px){.quick{grid-template-columns:repeat(2,minmax(0,1fr))}.quick a{border-right:0}.filters input,.filters select{min-width:0;width:100%}.visit-steps button{min-width:0;width:100%}}

.hero-aerial .hero-booking{gap:1rem;background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 18px #0003}
.hero-aerial .hero-booking:hover{background:#b80510;border-color:#b80510}
@media(max-width:37.5rem){.hero-aerial h1{font-size:clamp(2.5rem,calc(1.5rem + 5vw),3.5rem)}.hero-aerial p{font-size:1.125rem}.hero.hero-aerial{min-height:36rem}}

/* Acabamentos da capa e contexto do agendamento. */
.hero-aerial .hero-booking-note{font-size:.875rem;line-height:1.5;margin:1rem 0 0;max-width:28rem;color:#fff}
@media(min-width:1251px){body>header{height:6rem;min-height:6rem}body>header .museum-brand img{width:15.625rem}}

.card img.discovery-image-contained{object-fit:contain;background:#eff5ff}

/* Homepage discovery cards: consistent framing and aligned actions. */
.discovery-section{scroll-margin-top:calc(var(--museum-header-height,108px) + 24px)}
.discovery-grid{align-items:stretch}
.discovery-grid>.card{display:flex;flex-direction:column;height:100%;transition:box-shadow .2s ease,border-color .2s ease}
.discovery-grid>.card:hover,.discovery-grid>.card:focus-visible{transform:none;box-shadow:0 10px 26px rgba(29,56,142,.12)}
.discovery-grid>.card>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;flex-shrink:0}
.discovery-grid>.card:nth-child(2)>img{object-position:center 38%}
.discovery-grid>.card:nth-child(3)>img{object-position:38% center}
.discovery-grid .body{display:flex;flex-direction:column;flex:1;align-items:flex-start}
.discovery-grid h3{min-height:2.24em}
.discovery-grid .body>p{margin-bottom:24px}
.discovery-grid .link{margin-top:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;line-height:1.4}
@media(max-width:650px){.discovery-grid h3{min-height:0}}

/* Educational materials: compact images, clear status and aligned actions. */
.material-grid{align-items:stretch}
.material-grid>.material-card{display:flex;flex-direction:column;height:100%}
.material-card figure{flex-shrink:0}
.material-card figure img{height:clamp(190px,17vw,250px);aspect-ratio:auto;object-fit:contain;background:#f3f5f8}
.material-card figcaption{padding:6px 20px;font-size:12px;line-height:1.5}
.material-card figcaption a{text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:32px}
.material-card .body{display:flex;flex-direction:column;flex:1;align-items:flex-start}
.material-meta{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-bottom:16px;min-height:48px}
.material-type{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#585D60}
.material-review{font-size:11px;font-weight:600;line-height:1.5;padding:5px 9px;border-radius:5px;background:#fff5dc;color:#715318;border:1px solid #ebd59c}
.material-card h3{min-height:2.24em}
.material-card .body>p{flex:1;margin-bottom:20px}
.material-card .btn{margin-top:auto;gap:10px;max-width:100%;text-align:center}
.material-card details{width:100%}
@media(max-width:600px){.material-card figure img{height:220px}.material-card h3{min-height:0}.material-meta{min-height:0}}

.ticket-prices{margin:16px 0}.ticket-prices>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.ticket-prices dd{margin:0;font-weight:700}.material-card .body>.material-text-link{flex:0;margin:12px 0 0;font-size:14px}.material-text-link a{text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}#main{scroll-margin-top:calc(var(--museum-header-height,108px) + 16px)}

/* Social cards: restrained depth, step navigation and native touch scrolling. */
.carousel-depth{perspective:1400px}
.carousel-depth .social-carousel-track{gap:24px;padding:18px 8px 32px;scroll-padding-inline:8px;scroll-snap-type:x mandatory;scroll-behavior:smooth;align-items:stretch}
.carousel-depth .social-slide{position:relative;flex-basis:clamp(280px,30vw,380px);border:1px solid #d5deee;border-radius:16px;box-shadow:0 5px 12px rgba(15,35,80,.08),0 15px 25px -18px rgba(15,35,80,.35);transform:translateY(0) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;transform-origin:center center;scroll-snap-align:start;backface-visibility:hidden}
.carousel-depth .social-slide.is-current{border-color:#9aadd8;box-shadow:0 9px 20px rgba(15,35,80,.12),0 25px 32px -24px rgba(15,35,80,.48);transform:translateY(-5px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg))}
.carousel-depth .social-slide:focus-within,.carousel-depth .social-slide.is-playing,.carousel-depth .social-slide.has-embed{--card-rx:0deg!important;--card-ry:0deg!important;transform:translateY(0)}
.carousel-depth .youtube-video-card{flex-basis:clamp(300px,35vw,430px)}
.carousel-grip{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 12px;background:linear-gradient(180deg,#f8faff,#edf2fb);color:#52627d;font:600 11px/1.4 'DM Sans',system-ui,sans-serif;border-bottom:1px solid #e0e7f2;cursor:grab;user-select:none;letter-spacing:.3px}
.carousel-grip span{font-size:19px;line-height:1}
.instagram-card.social-slide .carousel-grip{margin:-18px -18px 18px}
.carousel-depth .is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.carousel-depth .is-dragging *{cursor:grabbing!important;user-select:none}
.carousel-depth .is-dragging .social-slide{transition:none;transform:none}
.carousel-hint{margin:0;font-size:13px;color:#585D60}
.carousel-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:0}
.carousel-dot{position:relative;width:28px;height:28px;min-width:28px;border:0;padding:8px;background:transparent;border-radius:50%;cursor:pointer}
.carousel-dot:after{content:'';display:block;width:10px;height:10px;border-radius:50%;background:#b5c0d6;transition:background .2s,transform .2s}
.carousel-dot[aria-current=true]:after{background:#1d388e;transform:scale(1.3)}
.carousel-dot:disabled{display:none}
.carousel-dot:focus-visible{outline:3px solid #e30613;outline-offset:0}
.carousel-depth .carousel-arrow{box-shadow:0 3px 0 #d8e1f1;transition:transform .18s,box-shadow .18s;background:#fff}
.carousel-depth .carousel-arrow:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 #d8e1f1}
.youtube-poster>span{box-shadow:0 6px 0 rgba(125,0,10,.42),0 12px 22px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s}
.youtube-poster:hover>span,.youtube-poster:focus-visible>span{transform:translate(-50%,-53%) scale(1.06)}
.youtube-close{margin:12px 18px 0;min-height:44px}
@media(max-width:650px){.carousel-depth .social-slide,.carousel-depth .youtube-video-card{flex-basis:86%}.carousel-controls{gap:8px;flex-wrap:wrap}.carousel-rotation{margin-right:auto;font-size:12px;padding:10px 12px}.carousel-status{min-width:52px}.carousel-depth .social-carousel-track{gap:16px}.carousel-depth .social-slide,.carousel-depth .social-slide.is-current{transform:none}.carousel-hint{font-size:12px}}
@media(prefers-reduced-motion:reduce){.carousel-depth .social-slide,.carousel-depth .social-slide.is-current{transform:none;transition:none}.youtube-poster>span,.youtube-poster:hover>span,.youtube-poster:focus-visible>span{transform:translate(-50%,-50%);transition:none}.carousel-depth .social-carousel-track{scroll-behavior:auto}.carousel-depth .carousel-arrow,.carousel-dot:after{transition:none}}

/* Compact institutional footer: four balanced columns and a separate staff row. */
footer.site-footer{padding:44px 6% 24px}
.site-footer .footer-main{grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.4fr);gap:clamp(22px,3vw,48px);max-width:1440px}
.site-footer .museum-footer-brand{grid-column:auto}
.site-footer .museum-brand img{width:250px}
.site-footer .museum-footer-brand p{margin:20px 0 14px;max-width:250px;line-height:1.65}
.site-footer h2{font-size:16px;line-height:1.45;margin-bottom:14px}
.site-footer .footer-explore nav{gap:0;font-size:14px;font-weight:500}
.site-footer .footer-explore a{min-height:38px;padding:6px 0;line-height:1.45;max-width:100%;overflow-wrap:anywhere}
.site-footer #footer-contact-links{gap:0}
.site-footer .footer-contact-link{gap:9px;min-height:38px;font-size:13px;line-height:1.5}
.site-footer #footer-visit-info address,.site-footer .footer-hours{display:flex;align-items:flex-start;gap:9px;margin:0 0 10px;font-size:13px;font-style:normal;line-height:1.6;color:#eef5ff}
.site-footer #footer-visit-info address svg,.site-footer .footer-hours svg{flex:0 0 20px;color:#EEB640;margin-top:1px}
.site-footer #footer-visit-info address a{overflow-wrap:anywhere}
.site-footer .footer-hours-note{font-size:11px;line-height:1.5;margin:0 0 12px;color:#d4e1f4}
.site-footer .footer-booking-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:320px;min-height:46px;background:#EEB640;color:#142b71;border:1px solid #EEB640;padding:10px 16px;border-radius:5px;font-size:14px;font-weight:700;margin-top:14px}
.site-footer .footer-booking-link:hover{color:#142b71;background:#f4c865;text-decoration:none}
.site-footer .footer-info-link{display:inline-flex;align-items:center;min-height:36px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-social-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.site-footer .footer-social-links .footer-contact-link{min-height:40px;width:auto}
.site-footer #footer-management{max-width:1440px;margin:28px auto 0}
.site-footer .footer-management{padding:18px 0 0;margin:0;border-color:rgba(255,255,255,.22)}
.site-footer .footer-management h2{font-size:14px;margin:0 0 6px}
.site-footer .footer-management p{margin:0;font-size:12px;line-height:1.6}
.site-footer .footer-management a[href*="institutoecoss"]{font-size:14px;padding:4px 10px;min-height:36px}
.site-footer .footer-bottom{max-width:1440px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;margin-top:20px;padding-top:16px;border-color:rgba(255,255,255,.22)}
.site-footer .footer-legal p{font-size:11px;line-height:1.6;margin:0}
.site-footer .footer-utility-links,.site-footer .footer-team-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 18px;font-size:12px}
.site-footer .footer-utility-links a,.site-footer .footer-team-links a{display:inline-flex;align-items:center;min-height:36px}
.site-footer .footer-team-links{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}
.site-footer .footer-team-links>span{color:#d4e1f4;font-size:11px}
@media(max-width:1100px){.site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 40px}.site-footer .footer-bottom{grid-template-columns:minmax(0,1fr)}.site-footer .museum-footer-brand{grid-column:auto}.site-footer .footer-contact{max-width:440px}}
@media(max-width:600px){footer.site-footer{padding:32px 6% 90px}.site-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:26px}.site-footer .museum-brand img{width:240px}.site-footer .museum-footer-brand p{margin:14px 0 10px}.site-footer .footer-explore a{min-height:42px}.site-footer .footer-contact{max-width:none;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.site-footer .footer-contact-link{min-height:42px;font-size:14px}.site-footer .footer-booking-link{max-width:none}.site-footer .footer-bottom{display:grid;gap:10px}.site-footer .footer-utility-links,.site-footer .footer-team-links{gap:0 16px}.site-footer .footer-utility-links a,.site-footer .footer-team-links a{min-height:44px}.site-footer .footer-team-links>span{width:100%}}

/* Footer refinement: avoid legacy column styling on utility and social rows. */
footer.site-footer{padding-top:32px}
.site-footer .museum-footer-brand>.museum-brand{margin-top:-8px}
.site-footer .museum-footer-brand p{margin-top:12px}
.site-footer #footer-visit-info address{margin-bottom:6px;line-height:1.45}
.site-footer .footer-hours{margin-bottom:4px;line-height:1.45}
.site-footer .footer-hours-note{margin-bottom:6px;line-height:1.45}
.site-footer #footer-contact-links{gap:0}
.site-footer .footer-contact-link{min-height:34px;line-height:1.4}
.site-footer .footer-booking-link{margin-top:10px;min-height:44px}
.site-footer .footer-info-link{min-height:30px}
.site-footer .footer-social-links{flex-direction:row;gap:0 18px;margin-top:2px}
.site-footer .footer-social-links .footer-contact-link{min-height:36px}
.site-footer #footer-management{margin-top:20px}
.site-footer .footer-management{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 20px;padding-top:14px}
.site-footer .footer-management h2{font-size:12px;font-weight:500;color:#d4e1f4;margin:0}
.site-footer .footer-management p{margin:0;font-size:12px}
.site-footer .footer-management a[href*="institutoecoss"]{background:none;color:#fff;padding:0;border-radius:0;font-size:13px;font-weight:600;min-height:32px;text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-bottom{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:12px;padding-top:12px}
.site-footer .footer-legal{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:4px 20px}
.site-footer .footer-utility-links{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:0 24px}
.site-footer .footer-team-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 18px;padding-top:6px}
.site-footer .footer-utility-links a,.site-footer .footer-team-links a{min-height:32px}
@media(max-width:600px){footer.site-footer{padding:28px max(6%,56px) 90px}.site-footer .museum-footer-brand>.museum-brand{margin-top:0}.site-footer .footer-main{gap:22px}.site-footer .footer-contact{padding-top:16px}.site-footer .footer-contact-link,.site-footer .footer-social-links .footer-contact-link,.site-footer .footer-info-link{min-height:44px}.site-footer .footer-social-links{gap:0 16px}.site-footer .footer-utility-links,.site-footer .footer-team-links{gap:0 16px}.site-footer .footer-utility-links a,.site-footer .footer-team-links a{min-height:44px}.site-footer .footer-team-links>span{width:100%}}

.site-footer .footer-logo-strip{background:#fff;border-radius:8px;padding:clamp(12px,2vw,24px);margin:24px 0}
.site-footer .footer-logo-strip img{display:block;width:100%;height:auto;margin:auto;object-fit:contain}
.site-footer .footer-logo-strip-stack{display:none}
@media(max-width:680px){
.site-footer img.footer-logo-strip-wide{display:none}
.site-footer .footer-logo-strip-stack{display:grid;gap:16px;justify-items:center}
.site-footer .footer-logo-strip-stack img{width:auto;max-width:100%;max-height:55px}
}

/* Keep institutional marks together and secondary to the booking action. */
footer.site-footer{padding-top:clamp(38px,4vw,60px)}
.site-footer .museum-footer-brand>.museum-brand{margin-top:0}
.site-footer .footer-explore a{min-height:40px}
.site-footer .footer-institutional{max-width:1440px;margin:24px auto 0}
.site-footer .footer-institutional #footer-management{margin:0}
.site-footer .footer-institutional .footer-management{display:block;padding-top:18px}
.site-footer .footer-institutional .footer-management h2{color:#fff;font-size:16px;font-weight:700;margin-bottom:4px}
.site-footer .footer-institutional .footer-management p{font-size:13px;line-height:1.6}
.site-footer .footer-logo-strip{box-sizing:border-box;max-width:1050px;margin:14px auto 0;padding:clamp(8px,1.3vw,16px)}
.site-footer .footer-bottom{margin-top:18px;padding-top:10px;gap:4px}
.site-footer .footer-team-links{padding-top:4px}
.site-footer :is(.footer-utility-links,.footer-team-links,.footer-management) a:focus-visible{outline:2px solid #EEB640;outline-offset:3px}
@media(max-width:680px){
.site-footer .footer-logo-strip-stack{gap:12px}
.site-footer .footer-logo-strip-stack img{width:100%;max-width:300px;height:clamp(48px,10vw,64px);max-height:none}
.site-footer .footer-explore a{min-height:44px}
}

/* Extend only the white backdrop; preserve the dimensions of the logos. */
.site-footer .footer-logo-strip{
  border-radius:0;
  box-shadow:0 0 0 100vmax #fff;
  clip-path:inset(0 -100vmax);
}

.site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.4fr);gap:24px clamp(24px,4vw,64px)}
.site-footer .museum-footer-brand{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-bottom:16px;border-bottom:1px solid #ffffff33}
.site-footer .museum-footer-brand p{margin:0;max-width:none}
@media(max-width:900px){.site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .footer-contact{grid-column:1/-1}}
@media(max-width:600px){.site-footer .footer-main{grid-template-columns:minmax(0,1fr)}}
