/* Excelsior Group — páginas interiores (Sobre Nós, Mercado), na linguagem da Homepage */
:root{
  --navy:#002133;      /* azul-marinho (manual) */
  --teal:#356a7a;      /* petróleo */
  --steel:#9ab5bd;     /* petróleo claro */
  --mist:#eef1f3;      /* cinza névoa */
  --rule:#c9d2d7;
  --body:#4a5960;      /* ardósia */
  --wrap:1200px;
}
body.inner{font-family:'Jura',system-ui,sans-serif;color:var(--body);background:#fff}
.wrap{width:min(var(--wrap),100% - 2*var(--pad-x));margin-inline:auto}

/* Topo: reutiliza a "cena" da Homepage */
.scene--page{height:760px;min-height:max(640px,78svh);max-height:none}
.scene--page .scene__inner{padding-top:0;justify-content:center}
.scene--page .scene__content{margin-top:56px}
.scene--page .lede{max-width:40em}

/* Etiquetas de secção (como as da Homepage) */
.sec-num{display:flex;align-items:center;gap:16px;margin:0;font-size:10px;line-height:13px;font-weight:700;letter-spacing:2.7px;text-transform:uppercase;color:#356a7a}
.sec-num::before{content:"";width:34px;height:1px;background:currentColor;flex:none}
.sec--dark .sec-num{color:#eef1f3}
.sec--dark .sec-num::before{background:rgba(255,255,255,.78)}

.sec-title{margin:14px 0 0;font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(28px,3vw,42px);line-height:1.15;color:var(--navy)}
.sec--dark .sec-title{color:var(--snow)}
.prose{font-size:18px;line-height:1.8;color:var(--body)}
.prose p{margin:0}
.rule{height:1px;background:var(--rule);border:0;margin:0}

/* Secções */
.sec{padding:96px 0}
.sec--paper{background:var(--mist)}
.sec--dark{background:var(--scene);color:var(--snow)}
.sec--white{background:#fff}

/* Mote */
.quote-band{background:var(--mist);padding:72px 0}
.quote{margin:0;font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(26px,3.1vw,44px);line-height:1.2;color:var(--navy)}
.quote--small{font-size:clamp(22px,2.4vw,34px)}

/* Porquê um grupo */
.two-col{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;margin-top:40px}
.milestones{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;margin-top:64px;border-top:1px solid var(--rule);padding-top:28px}
.milestone{display:flex;align-items:baseline;gap:40px}
.milestone b{font-family:'Russo One',sans-serif;font-weight:400;font-size:40px;color:var(--navy);min-width:96px}
.milestone span{font-size:11px;font-weight:700;letter-spacing:1.87px;text-transform:uppercase;color:var(--body)}

/* As nossas empresas */
.companies{margin-top:56px;border-top:1px solid var(--rule)}
.company{display:grid;grid-template-columns:400px 1fr;align-items:center;min-height:180px;border-bottom:1px solid var(--rule);padding:32px 0}
.company__logo{display:block;width:fit-content}
.company__logo img{height:auto;transition:opacity .25s}
.company__logo:hover img{opacity:.7}
.company .prose{max-width:640px}
.c-chill img{width:240px}.c-impor img{width:270px}.c-sprint img{width:250px}.c-carisma img{width:250px}

/* O que nos une */
.lead-white{margin:32px 0 0;font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.55;color:var(--snow);max-width:1040px}

/* O nome */
.name-grid{display:grid;grid-template-columns:minmax(0,620px) 1fr;align-items:center;gap:40px}
.name-grid .prose{margin-top:28px}
.name-grid img{width:420px;justify-self:end}

/* Missão, visão e valores */
.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.mvv > div{border-top:1px solid var(--rule);padding-top:24px}
.mvv h3{margin:0;font-size:11px;font-weight:700;letter-spacing:1.87px;text-transform:uppercase;color:var(--navy)}
.mvv p{margin:16px 0 0;font-weight:500;font-size:20px;line-height:1.55;color:var(--navy)}

/* Para onde vamos */
.future .prose{margin-top:32px;max-width:900px}
.future .quote{margin-top:64px}

/* Rodapé (estilo do final da Homepage) */
.site-footer{background:var(--paper);color:var(--ink);padding:72px var(--pad-x) 0}
.site-footer .wrap{width:100%;max-width:1200px}
.site-footer .logo-strip{margin:48px 0 0}
.eyebrow--dark{color:#356a7a}
.eyebrow--dark::before{background:#356a7a}
.foot-tag{margin:14px 0 0;font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(22px,2.4vw,32px);line-height:1.2;color:var(--ink)}
.foot-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;min-height:96px;padding:20px 0 28px}
.foot-row .brand img{width:180px}
.foot-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;justify-content:center;font-size:10px;line-height:13px;letter-spacing:1.1px;text-transform:uppercase;color:#4a5960;font-style:normal}
.foot-contacts a:hover{color:var(--ink)}
.placeholder{opacity:.6;font-style:italic}

/* Revelação */
.in-view.reveal{opacity:1;transform:none}

/* Responsivo */
@media (max-width:1100px){
  .company{grid-template-columns:300px 1fr}
  .c-chill img,.c-impor img,.c-sprint img,.c-carisma img{width:210px}
  .name-grid img{width:340px}
  .foot-row{grid-template-columns:1fr auto;row-gap:12px}
  .foot-contacts{grid-column:1/-1;grid-row:2;justify-content:flex-start}
}
@media (max-width:760px){
  .scene--page{height:auto;min-height:88svh}
  .scene--page .scene__inner{min-height:88svh;padding-top:150px;padding-bottom:64px;justify-content:flex-end}
  .scene--page .scene__content{margin-top:24px;padding-top:0}
  .sec{padding:64px 0}
  .quote-band{padding:52px 0}
  .two-col,.milestones{grid-template-columns:1fr;row-gap:20px}
  .milestones{margin-top:40px}
  .company{grid-template-columns:1fr;row-gap:18px;min-height:0;padding:28px 0}
  .c-chill img,.c-impor img,.c-sprint img,.c-carisma img{width:200px}
  .name-grid{grid-template-columns:1fr}
  .name-grid img{width:min(300px,100%);justify-self:start;margin-top:8px}
  .mvv{grid-template-columns:1fr;gap:24px}
  .prose{font-size:16px;line-height:1.75}
  .site-footer{padding-top:48px}
  .foot-row{grid-template-columns:1fr;padding-right:0}
  .foot-row .back-top{justify-self:start}
}

/* Páginas legais */
.legal-hero{background:var(--scene);color:var(--snow);padding:200px 0 72px}
.legal-hero .display{margin-top:22px}
.legal-date{margin:22px 0 0;font-size:13px;letter-spacing:.4px;color:rgba(255,255,255,.62)}
.legal-body{max-width:760px;font-size:16px;line-height:1.8;color:var(--body)}
.legal-body h2{margin:48px 0 0;font-family:'Russo One',sans-serif;font-weight:400;font-size:26px;line-height:1.25;color:var(--ink)}
.legal-body h2:first-child{margin-top:0}
.legal-body p,.legal-body ul{margin:14px 0 0}
.legal-body ul{padding-left:20px}
.legal-body li{margin-top:6px}
.legal-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-body dl{margin:18px 0 0;display:grid;grid-template-columns:200px 1fr;gap:8px 20px;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.legal-body dt{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink);padding-top:4px}
.legal-body dd{margin:0}
mark.ph{background:#fff1b8;color:var(--ink);padding:0 4px;border-radius:2px;font-style:normal}
.foot-legal{display:flex;gap:28px;align-items:center}
.foot-legal a:hover{color:var(--ink)}
@media (max-width:760px){
  .legal-hero{padding:150px 0 52px}
  .legal-body dl{grid-template-columns:1fr;gap:2px}
  .legal-body dd{margin-bottom:12px}
}

/* Mobile compacto */
@media (max-width: 600px) {
  .scene--page .scene__inner { min-height: 0; padding-top: 110px; padding-bottom: 40px; }
  .scene--page { min-height: 0; height: auto; }
  .sec { padding: 40px 0; }
  .quote-band { padding: 32px 0; }
  .sec-title { font-size: clamp(22px, 6.4vw, 28px); margin-top: 8px; }
  .two-col { margin-top: 18px; }
  .prose p, .two-col p { font-size: 15px; line-height: 1.6; }
  .milestones { margin-top: 20px; }
  .companies { margin-top: 24px; }
  .company { padding: 18px 0; }
  .mvv { margin-top: 20px; gap: 14px; }
  .mvv > div { padding-top: 14px; }
  .site-footer { padding: 36px 0 24px; }
  .site-footer .logo-strip { gap: 18px 22px; }
}
@media (max-width: 600px) {
  body .scene--page .scene__photo img { max-height: 60svh; }
  body .scene--page .scene__inner { min-height: 60svh; }
}
@media (max-width: 600px) {
  body .scene--page .scene__inner { min-height: 0; padding-top: 100px; padding-bottom: 32px; }
  body .scene--page .scene__photo img { object-position: center; }
}

/* ===== Sobre Nós (telemóvel) ===== */
.intro-mobile{display:none}
@media (max-width:600px){
  body.inner .scene--page .scene__inner{min-height:0;padding-top:96px;padding-bottom:28px}
  body.inner .scene--page .lede{display:none}
  body.inner .scene--page .display--lg{font-size:clamp(30px,8.6vw,38px)}
  .intro-mobile{display:block;background:var(--snow);padding:28px 0 8px}
  .intro-mobile__text{margin:0;font-size:16px;line-height:1.65;color:var(--body)}
  .quote-band{padding:22px 0 26px}
  .quote{font-size:clamp(20px,5.6vw,24px);line-height:1.25}
  /* cronologia horizontal */
  .milestones{display:flex;gap:0;margin-top:22px;position:relative;padding-top:14px}
  .milestones::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--navy),var(--needle))}
  .milestone{flex:1;flex-direction:column;align-items:flex-start;gap:2px;position:relative}
  .milestone::before{content:"";position:absolute;top:-19px;left:0;width:10px;height:10px;border-radius:50%;background:var(--navy)}
  .milestone:last-child::before{background:var(--needle)}
  .milestone b{font-size:28px}
  .milestone span{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--body)}
  /* empresas em cartões deslizáveis */
  .companies.mcar{border-top:0;margin-top:18px}
  .companies.mcar .company{display:flex;flex-direction:column;gap:14px;background:var(--snow);border:1px solid var(--rule);padding:22px 18px;min-height:0}
  .companies.mcar .company__logo img{height:30px;width:auto;max-width:170px}
  .companies.mcar .company .prose{font-size:14.5px;line-height:1.55;margin:0}
  /* missão/visão/valores em cartões */
  .mvv.mcar > div{background:var(--snow);border:1px solid var(--rule);border-top:3px solid var(--navy);padding:18px 18px 20px}
  .mvv.mcar h3{margin:0 0 8px;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--teal)}
  .mvv.mcar p{margin:0;font-size:15px;line-height:1.55}
  .sec--paper .mcar__dots span.is-on{background:var(--navy)}
  .future .quote{margin-top:18px}
  /* rodapé com margens */
  .site-footer .wrap{padding-left:var(--pad-x);padding-right:var(--pad-x);box-sizing:border-box}
  .site-footer .foot-tag{font-size:20px;line-height:1.25}
}
/* Rodapé compacto (telemóvel) */
@media (max-width: 600px) {
  body .site-footer { padding: 26px 0 18px; }
  body .site-footer .foot-row { gap: 14px; }
  body .site-footer .foot-tag { font-size: 18px; margin: 0; }
  body .site-footer .logo-strip { display: flex !important; flex-wrap: nowrap !important; justify-content: space-between; gap: 10px !important; margin-top: 16px; }
  body .site-footer .logo-strip li, body .site-footer .logo-strip a { flex: 1 1 0; display: flex; justify-content: center; }
  body .site-footer .logo-strip img { max-height: 24px; height: auto !important; width: auto; max-width: 100%; }
  body .site-footer .foot-contacts { gap: 4px 14px; font-size: 12.5px; flex-wrap: wrap; }
}
@media (max-width: 600px) {
  body .site-footer .wrap { display: flex; flex-direction: column; gap: 14px; }
  body .site-footer .logo-strip { margin: 4px 0 0 !important; padding: 14px 0 !important; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
  body .site-footer .logo-strip img { max-height: 22px; }
  body .site-footer .foot-row { margin: 0 !important; padding: 0 !important; gap: 12px !important; display: flex; flex-direction: column; align-items: flex-start; }
  body .site-footer .brand img { width: 130px; height: auto; }
  body .site-footer .foot-contacts { display: flex; flex-direction: column; gap: 0; }
  body .site-footer .foot-contacts a { padding: 5px 0; }
}
@media (max-width: 600px) {
  body .site-footer .logo-strip { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px 20px !important; min-height: 0 !important; height: auto !important; align-items: center; justify-items: start; }
  body .site-footer .logo-strip a { flex: none; height: 28px; display: flex; align-items: center; justify-content: flex-start; }
  body .site-footer .logo-strip img { max-height: 26px !important; max-width: 140px; }
  body .site-footer .logo-strip::before, body .site-footer .logo-strip::after { display: none !important; }
}

@media (max-width:600px){ body .site-footer .foot-contacts{align-items:flex-start!important;text-align:left;justify-content:flex-start} }
@media (max-width:600px){body .site-footer .foot-contacts a{display:inline-block;padding:7px 0;min-height:24px}}
