/* Modernização visual conservadora do website original.
   Paleta neutra preto/cinza/branco; sem introduzir verde ou cores de marca novas.
   Fotografias e logótipo são referências aos ficheiros do site original. */
:root{--black:#242424;--black2:#343434;--ink:#303030;--muted:#747474;--subtle:#9a9a9a;--border:#e4e4e4;--surface:#f6f6f6;--paper:#ffffff;--wide:1200px;--font:'Inter',Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #666;outline-offset:3px}img{max-width:100%}.wrap{width:min(calc(100% - 76px),var(--wide));margin-inline:auto}.skip{position:absolute;left:12px;top:-60px;padding:10px 20px;background:#fff;color:#111;z-index:40}.skip:focus{top:8px}
.topbar{height:38px;background:#1f1f1f;color:#c8c8c8;font-size:10px;font-weight:650;letter-spacing:.14em}.topbar-inner{height:100%;display:flex;justify-content:space-between;align-items:center}.topbar a{text-decoration:none;color:#e4e4e4;white-space:nowrap}.topbar a:hover{color:#fff}
.header{background:#303030;color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #484848;box-shadow:0 4px 16px #00000012}.header-inner{display:flex;align-items:center;min-height:87px;gap:28px}.logo{flex-shrink:0;display:flex;align-items:center;text-decoration:none;min-width:210px;max-width:240px}.original-logo{max-height:39px;max-width:220px;display:block}.text-logo{display:none;color:#fff;letter-spacing:.105em;font-size:21px;font-weight:750;line-height:1.1;white-space:nowrap}.text-logo-small{font-size:9px;letter-spacing:.19em;display:block;font-weight:500;margin-top:7px;color:#b9b9b9}.main-nav{display:flex;align-items:stretch;justify-content:flex-end;gap:4px;margin-left:auto;align-self:stretch}.main-nav a{display:flex;align-items:center;text-align:center;padding:0 11px;line-height:1.3;font-size:12.5px;font-weight:550;color:#d0d0d0;text-decoration:none;position:relative;transition:color .2s ease,background .2s ease;white-space:nowrap}.main-nav a:hover{color:#fff;background:#ffffff0d}.main-nav a.current{color:#fff}.main-nav a.current:after{content:"";position:absolute;bottom:0;left:11px;right:11px;height:2px;background:#f0f0f0}
.lang-picker{position:relative;flex-shrink:0;border-left:1px solid #555;padding-left:14px}.lang-picker>button{color:#fff;background:transparent;border:0;font-size:12px;font-weight:700;letter-spacing:.06em;padding:10px 0 10px 10px}.chevron{font-size:15px;margin-left:7px;color:#b5b5b5}.language-menu{position:absolute;right:0;top:calc(100% + 14px);width:160px;background:white;color:#222;border:1px solid #ddd;box-shadow:0 12px 36px #0002;padding:6px;z-index:30}.language-menu button{display:block;background:transparent;border:0;padding:10px 12px;color:#333;text-align:left;width:100%;font-size:12px}.language-menu button:hover{background:#f2f2f2}.mobile-toggle{display:none}
/* Homepage keeps the source site's image-focused approach */
.home-hero{position:relative;background:#ececec;overflow:hidden}.hero-inner{padding:75px 0 70px;display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center;min-height:545px}.hero-overline,.overline{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#757575}.hero-text h1{margin:14px 0 19px;font-size:clamp(38px,4.1vw,66px);line-height:1.07;letter-spacing:-.065em;font-weight:650;max-width:560px;color:#252525}.hero-text h1 span{display:block;font-size:.45em;letter-spacing:-.025em;font-weight:450;margin-top:14px;line-height:1.3;color:#555}.hero-text p{font-size:16px;color:#646464;line-height:1.8;max-width:440px;margin:0 0 28px}.button{display:inline-flex;align-items:center;gap:27px;text-decoration:none;justify-content:space-between;border:1px solid #333;color:#fff;background:#333;border-radius:2px;font-size:12px;font-weight:650;letter-spacing:.02em;padding:13px 20px;transition:background .2s,color .2s}.button:hover{background:#fff;color:#333}.button.outline{background:transparent;color:#333;border-color:#777}.button.outline:hover{background:#333;color:#fff}.hero-visual{position:relative;display:flex;flex-direction:column;gap:0;max-width:650px;margin-left:auto;width:100%}.hero-primary{background:#e2e2e2;min-height:330px;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid #d9d9d9}.hero-primary img{object-fit:contain;max-height:360px;width:auto;display:block;mix-blend-mode:multiply;filter:contrast(1.04)}.hero-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff9,transparent 50%);pointer-events:none}.hero-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px}.hero-dots{display:flex;gap:8px}.hero-dots button{width:25px;height:3px;padding:0;background:#c4c4c4;border:0}.hero-dots button.active{background:#292929}.slide-buttons{display:flex;gap:8px}.slide-buttons button{width:40px;height:40px;border:1px solid #d1d1d1;background:transparent;color:#444;font-size:20px}.slide-buttons button:hover{border-color:#333;background:#333;color:#fff}.home-bottom{border-bottom:1px solid var(--border);background:#fff}.home-bottom-inner{padding:44px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.home-link{display:flex;flex-direction:column;gap:6px;text-decoration:none;padding:4px 28px;border-left:1px solid #dedede;transition:background .2s}.home-link:first-child{padding-left:0;border:0}.home-link small{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#999}.home-link strong{font-size:20px;font-weight:600;letter-spacing:-.035em}.home-link strong span{float:right;color:#999;font-weight:400}.home-link:hover strong{text-decoration:underline;text-underline-offset:5px}
/* Interior pages: original menu and editorial copy, improved hierarchy */
.page-band{border-bottom:1px solid var(--border);background:#f8f8f8}.page-band-inner{padding:35px 0 33px}.breadcrumbs{font-size:11px;letter-spacing:.04em;color:#858585;display:flex;align-items:center;gap:10px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .crumb-sep{color:#aaa}.page-band h1{font-size:clamp(38px,4vw,58px);font-weight:600;line-height:1.15;letter-spacing:-.055em;color:#262626;margin:16px 0 0}.page-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:70px;min-height:450px;padding-top:57px;padding-bottom:105px}.sidebar{border-right:1px solid var(--border);padding-right:23px}.sidebar-kicker{font-weight:700;color:#888;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 20px}.side-nav{display:flex;flex-direction:column}.side-nav a{padding:11px 7px 11px 0;display:flex;align-items:center;justify-content:space-between;color:#787878;border-bottom:1px solid #eee;font-size:13px;text-decoration:none;transition:color .2s}.side-nav a.active,.side-nav a:hover{color:#272727;font-weight:650}.side-nav a.active:after{content:"↗";font-weight:400}.sidebar-contact{margin-top:35px;padding:20px 0;border-top:1px solid #ddd;color:#666;font-size:12px;line-height:1.9}.sidebar-contact strong{font-size:13px;color:#383838}.sidebar-contact a{text-decoration:none}.sidebar-contact a:hover{text-decoration:underline}.page-copy{max-width:810px;padding-top:3px}.page-copy p{font-size:15.5px;line-height:1.95;letter-spacing:-.007em;margin:0 0 24px;color:#535353;max-width:790px}.page-copy p:first-child{font-size:17px;line-height:1.88;color:#333}.page-copy p:last-of-type{margin-bottom:0}.photos-section{margin-top:40px}.photos-heading{font-size:10px;font-weight:650;letter-spacing:.13em;color:#888;text-transform:uppercase;margin-bottom:15px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.photo-grid.single{grid-template-columns:minmax(0,1fr)}.photo-card{padding:0;display:block;width:100%;background:#f5f5f5;border:1px solid #ddd;overflow:hidden;min-height:210px;position:relative}.photo-card img{display:block;width:100%;height:100%;max-height:280px;min-height:205px;object-fit:contain;transition:transform .3s}.photo-card:hover img{transform:scale(1.025)}.photo-card .zoom-symbol{position:absolute;right:13px;bottom:13px;width:33px;height:33px;background:#fff;color:#333;font-size:19px;display:grid;place-items:center;box-shadow:0 2px 10px #0001}.source-note{color:#999;font-size:11px;line-height:1.7;margin-top:20px}.collections-missing{margin-top:36px;background:#f6f6f6;min-height:180px;border:1px solid #e1e1e1;display:flex;align-items:center;gap:20px;padding:30px;color:#777}.collections-symbol{width:45px;height:45px;border:1px solid #ccc;display:grid;place-items:center;flex-shrink:0;font-size:22px}.collections-missing p{font-size:13px!important;line-height:1.7!important;color:#777!important}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;row-gap:28px}.contact-item{padding-bottom:23px;border-bottom:1px solid #ebebeb}.contact-item dt{font-size:11px;color:#929292;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:10px}.contact-item dd{margin:0;font-size:15px;line-height:1.85;color:#373737}.contact-item a{text-decoration:none}.contact-item a:hover{text-decoration:underline}.map-placeholder{margin-top:35px;border:1px solid #dedede;background:#f4f4f4;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:20px}.map-placeholder>span{font-size:32px;color:#8a8a8a}
.recruit-form{margin-top:18px}.form-section{border:0;padding:0;margin:0 0 33px}.form-section legend{font-size:17px;color:#3e3e3e;font-weight:650;letter-spacing:-.02em;padding:0 0 16px;margin-bottom:16px;width:100%;border-bottom:1px solid #dedede}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;color:#555;font-weight:550;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d7d7d7;background:#fff;border-radius:2px;color:#444;font-size:13px}.field textarea{min-height:80px}.check-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-top:6px}.check-row label{font-size:12px;display:flex;gap:6px;align-items:center}.form-actions{border-top:1px solid #ddd;padding-top:18px}.form-alert{font-size:12px!important;line-height:1.7!important;color:#777!important;margin:0 0 16px!important}
.footer{background:#262626;color:#d0d0d0;border-top:1px solid #484848}.footer-inner{min-height:112px;padding-top:26px;padding-bottom:26px;display:flex;align-items:center;gap:30px;justify-content:space-between;flex-wrap:wrap;font-size:11px}.footer-links{display:flex;gap:24px}.footer a{color:#dadada;text-decoration:none}.footer a:hover{color:#fff}.copyright{color:#8d8d8d}.lightbox{border:0;background:#191919;padding:30px 35px;color:#fff;max-width:min(92vw,1100px);max-height:93vh;box-shadow:0 25px 70px #0007}.lightbox::backdrop{background:#000d}.lightbox img{width:100%;max-height:77vh;object-fit:contain;display:block}.lightbox-close{position:absolute;top:2px;right:7px;border:0;background:none;color:#fff;font-size:34px}.lightbox-caption{font-size:11px;color:#c4c4c4;display:block;margin-top:12px}
@media(max-width:1200px){.header-inner{gap:10px}.logo{min-width:190px}.main-nav a{padding-inline:8px;font-size:11.5px}.main-nav a.current:after{left:8px;right:8px}.page-layout{gap:45px}.hero-inner{gap:25px}}
@media(max-width:980px){.header-inner{min-height:76px}.mobile-toggle{display:flex;flex-direction:column;gap:5px;order:3;margin-left:6px;border:0;background:none;padding:13px 4px}.mobile-toggle span{width:24px;height:2px;background:#fff}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#303030;flex-direction:column;gap:0;padding:10px max(24px,5vw) 20px;box-shadow:0 20px 30px #0003;max-height:75vh;overflow:auto}.main-nav.open{display:flex}.main-nav a{font-size:14px;padding:14px 8px;border-bottom:1px solid #494949}.main-nav a.current:after{bottom:9px;left:7px;right:auto;width:25px}.lang-picker{margin-left:auto}.hero-inner{min-height:0;grid-template-columns:1fr 1fr;padding:60px 0}.hero-text h1{font-size:42px}.page-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}.wrap{width:min(calc(100% - 48px),var(--wide))}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.topbar{font-size:9px}.topbar-inner>span{max-width:65%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.header-inner{min-height:70px}.logo{min-width:0}.text-logo{font-size:17px}.text-logo-small{font-size:7.5px}.hero-inner{grid-template-columns:1fr;padding:46px 0;gap:32px}.hero-text h1{font-size:42px}.hero-text p{font-size:14px}.hero-primary{min-height:245px}.home-bottom-inner{grid-template-columns:1fr;padding:20px 0}.home-link,.home-link:first-child{padding:14px 0;border:0;border-bottom:1px solid #e3e3e3}.page-band-inner{padding:25px 0 28px}.page-layout{display:block;padding-top:29px;padding-bottom:65px}.sidebar{border-right:0;border-bottom:1px solid #ddd;padding:0 0 20px;margin-bottom:27px}.sidebar-kicker,.sidebar-contact{display:none}.side-nav{flex-direction:row;overflow-x:auto;gap:15px;scrollbar-width:thin}.side-nav a{flex-shrink:0;padding:6px 0 12px;font-size:12px;white-space:nowrap;border:0}.side-nav a.active{border-bottom:2px solid #333}.side-nav a.active:after{display:none}.page-copy p,.page-copy p:first-child{font-size:14px;line-height:1.85}.photo-grid,.contact-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.photo-card{min-height:170px}.footer-inner{align-items:flex-start;gap:16px;flex-direction:column}.footer-links{order:2}.copyright{order:3}.collections-missing{padding:20px}.page-band h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* ============================================================
   MODELMALHAS | Cores institucionais a partir das referências
   fornecidas: azul profundo #214170, azul #4274CE, azul claro
   #93AFE2, branco e cinza pérola.
   Ajustes limitados a tipografia, cromatismo e acabamentos UI.
   ============================================================ */
:root{
  --brand-navy:#214170;
  --brand-deep:#1b3b73;
  --brand-blue:#4274ce;
  --brand-mid:#3063b3;
  --brand-light:#93afe2;
  --brand-ice:#edf3fb;
  --brand-white:#fff;
  --black:#214170;
  --black2:#2c5598;
  --ink:#2e4160;
  --muted:#6b7890;
  --subtle:#8496b3;
  --border:#dce4f0;
  --surface:#f4f7fb;
  --paper:#fff;
  --wide:1200px;
}
body{background:#fff;color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#93afe2}
.topbar{
  background:#214170;color:#e3ecfa;
  border-bottom:1px solid rgba(255,255,255,.08);
  letter-spacing:.09em;
}
.topbar a{color:#fff}.topbar a:hover{color:#c9dbf8}
.header{
  background:linear-gradient(105deg,#23467c 0%,#2e5ba5 56%,#4274ce 100%);
  border-bottom:3px solid #91ace0;
  box-shadow:0 7px 20px rgba(25,57,112,.12);
}
.header-inner{min-height:88px}
.logo{min-width:210px;max-width:245px}
.original-logo{width:235px;max-height:64px;max-width:100%;object-fit:contain;object-position:left center}
.text-logo-small{color:#d9e4f9}
.main-nav a{color:#e0eafa;font-weight:550;font-size:12.5px}
.main-nav a:hover{background:rgba(255,255,255,.10);color:#fff}
.main-nav a.current{color:#fff;background:rgba(18,48,102,.18)}
.main-nav a.current:after{height:3px;bottom:-3px;background:#fff}
.lang-picker{border-left:1px solid rgba(255,255,255,.25)}
.lang-picker>button{color:#fff}
.chevron{color:#dfe8fb}
.language-menu{border:1px solid #c9d9f1;border-radius:4px;color:#214170;box-shadow:0 16px 30px #163b7530}
.language-menu button{color:#214170}
.language-menu button:hover{background:#eaf1fb}
.home-hero{
  background:
    radial-gradient(ellipse 90% 80% at 104% 125%,rgba(165,187,220,.16),transparent 75%),
    linear-gradient(140deg,#fafbfd 0%,#f1f5fb 80%,#edf3fb 100%);
}
.home-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(128deg,transparent 0,transparent 18px,rgba(69,109,163,.018) 19px,transparent 20px);
  opacity:.8;
}
.hero-inner{position:relative;z-index:1}
.hero-overline,.overline{color:#4274ce;letter-spacing:.17em}
.hero-text h1{color:#214170;font-weight:670;letter-spacing:-.06em}
.hero-text h1 span{color:#6683af;font-weight:470}
.hero-text p{color:#61738f}
.button{
  background:#3467b9;border-color:#3467b9;color:#fff;
  border-radius:4px;box-shadow:0 6px 16px #2250921a;
}
.button:hover{background:#214170;border-color:#214170;color:#fff}
.button.outline{color:#235293;border-color:#6489c5;background:transparent;box-shadow:none}
.button.outline:hover{background:#214170;border-color:#214170;color:#fff}
.hero-primary{
  background:linear-gradient(150deg,#dce8fa,#f6f9fd 53%,#e9f0fa);
  border:1px solid #c7d6ed;border-radius:4px;
  box-shadow:0 18px 42px #19447d12;
}
.hero-primary:before{background:linear-gradient(135deg,#fff7,transparent 52%)}
.hero-dots button{background:#b5c8e6}
.hero-dots button.active{background:#4274ce}
.slide-buttons button{border-color:#b8cbe5;background:#fff;color:#214170;border-radius:3px}
.slide-buttons button:hover{background:#214170;border-color:#214170;color:#fff}
.home-bottom{background:#fff;border-bottom-color:#d7e1f0}
.home-link{border-left-color:#d7e1f0}
.home-link small{color:#7190c4}
.home-link strong{color:#214170}
.home-link strong span{color:#7190c4}
.home-link:hover{background:#f7f9fd}
.page-band{
  background:linear-gradient(130deg,#eaf1fb 0%,#f8fafd 65%,#eef4fc 100%);
  border-bottom:1px solid #d5e2f2;
}
.page-band-inner{padding:39px 0 35px}
.breadcrumbs{color:#6b83a8}
.breadcrumbs .crumb-sep{color:#a1b3ce}
.page-band h1{color:#214170;letter-spacing:-.05em;font-weight:650}
.page-layout{padding-top:58px}
.sidebar{border-right-color:#dce4f0}
.sidebar-kicker{color:#4274ce}
.side-nav a{color:#617795;border-bottom-color:#e8edf5}
.side-nav a.active,.side-nav a:hover{color:#214170;font-weight:650}
.side-nav a.active{background:linear-gradient(90deg,#edf3fc,transparent);padding-left:10px;border-left:3px solid #4274ce}
.sidebar-contact{border-top-color:#dbe5f4;color:#6b7c96}
.sidebar-contact strong{color:#214170}
.page-copy p{color:#4c5b73}
.page-copy p:first-child{color:#273d5b}
.photos-heading{color:#4d75ad}
.photo-card{background:#f5f8fd;border:1px solid #dbe5f4;border-radius:3px}
.photo-card .zoom-symbol{background:#214170;color:#fff}
.collections-missing{background:#f1f5fb;border-color:#dce6f3;color:#6781a8;border-radius:4px}
.collections-symbol{border-color:#a9c1e2;color:#4274ce}
.collections-missing p{color:#6781a8!important}
.contact-item{border-bottom-color:#dce5f2}
.contact-item dt{color:#5b81ba}
.contact-item dd{color:#2f4565}
.contact-item a:hover{color:#2c65b6}
.map-placeholder{background:#f0f5fc;border:1px solid #d9e4f2;border-radius:4px}
.map-placeholder>span{color:#4274ce}
/* A caixa azul de Contactos remete diretamente para a referência original. */
.page-copy:has(.contact-grid){
  max-width:none;padding:34px 38px 38px;
  background:linear-gradient(125deg,#3868bd 0%,#4274ce 100%);
  border-radius:4px;
  box-shadow:0 14px 32px rgba(42,79,141,.14);
}
.page-copy:has(.contact-grid) .contact-item{border-bottom-color:rgba(255,255,255,.2)}
.page-copy:has(.contact-grid) .contact-item dt{color:#d7e5ff}
.page-copy:has(.contact-grid) .contact-item dd,
.page-copy:has(.contact-grid) .contact-item a{color:#fff}
.page-copy:has(.contact-grid) .map-placeholder{
  background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);
}
.page-copy:has(.contact-grid) .map-placeholder>span{color:#fff}
.page-copy:has(.contact-grid) .map-placeholder .button.outline{border-color:#d7e4f9;color:#fff}
.page-copy:has(.contact-grid) .map-placeholder .button.outline:hover{background:#fff;color:#214170}
.form-section legend{color:#214170;border-bottom-color:#d4e0f0}
.field label{color:#41608c}
.field input,.field select,.field textarea{border-color:#cbd9ee;color:#283e5c;border-radius:4px}
.form-actions{border-top-color:#d9e4f0}
.footer{
  background:linear-gradient(100deg,#214170 0%,#2d599d 67%,#376fc5 100%);
  border-top:4px solid #8eace0;color:#fff;
}
.footer a{color:#ecf3ff}.footer a:hover{color:#fff;text-decoration:underline}
.copyright{color:#bed0ed}
.lightbox{background:#18365f}
@media(max-width:980px){
  .main-nav{background:linear-gradient(165deg,#214170,#3568b8)}
  .main-nav a{border-bottom-color:#ffffff24}
}
@media(max-width:700px){
  .header-inner{min-height:72px}
  .original-logo{width:195px}
  .page-copy:has(.contact-grid){padding:22px 20px}
  .side-nav a.active{padding-left:0;border-left:0;border-bottom-color:#4274ce}
}