*{box-sizing:border-box}html,body{margin:0;background:#24251f;color:#fff;font-family:Arial,Helvetica,sans-serif}main{position:relative;min-height:680px;height:100svh;overflow:hidden}.slideshow,.shade,.slide{position:absolute;inset:0;width:100%;height:100%}.slide{object-fit:cover;opacity:0;transition:opacity 1.8s ease;filter:brightness(1.085) contrast(1.025);object-position:50% 56%}.slide.active{opacity:1}.slide.interior-third{object-position:50% 56%;filter:brightness(1.12) contrast(1.025)}.shade{background-color:rgba(0,0,0,.8);background-image:radial-gradient(circle,rgba(255,255,255,.075) .55px,transparent .8px);background-size:4px 4px;pointer-events:none}header,footer{position:absolute;z-index:2;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center}header{top:38px;font-size:10px;letter-spacing:2.5px}a{color:inherit;text-decoration:none}header a{display:flex;gap:22px;align-items:center}header a span{font-size:22px}a:hover{opacity:.75}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:7px}.identity{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,88vw);text-align:center}.logo-frame{position:relative;width:60%;margin:0 auto;aspect-ratio:2105/747;overflow:hidden}.logo{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.line{width:42px;height:1px;background:#fff9;margin:34px auto 23px}.intro{font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-size:20px;font-weight:300;letter-spacing:1.2px;line-height:1.5;margin:0 0 30px}.contacts{display:flex;align-items:center;justify-content:center;gap:36px;font-size:13px;letter-spacing:.8px;text-shadow:0 1px 8px #0009}.separator{height:14px;width:1px;background:#fff6}footer{bottom:36px;gap:20px;justify-content:center}.copyright{position:absolute;right:0}.caption{display:flex;flex-direction:column;gap:10px;width:250px}.eyebrow,.copyright{font-size:9px;letter-spacing:2px;color:#fffb}.caption>span:last-child{font-family:Georgia,serif;font-size:17px}.controls{display:flex;align-items:center;gap:22px}.controls button{border:0;background:none;color:white;font-size:19px;cursor:pointer;padding:8px}.dots{display:flex;gap:10px}.dots .dot{width:28px;height:20px;padding:8px 0;position:relative}.dot:after{content:'';display:block;width:100%;height:2px;background:#fff5}.dot.selected:after{background:#fff}#count{font-size:10px;letter-spacing:2px}.copyright{width:250px;text-align:right}@media(max-width:640px){main{min-height:540px}header{top:24px;left:6%;right:6%;font-size:8px;letter-spacing:1.3px}header a{gap:8px}.identity{width:88vw}.line{margin:26px auto 20px}.intro{font-size:18px}.contacts{flex-direction:column;gap:22px;font-size:12px}.separator{display:none}footer{left:6%;right:6%;bottom:26px;align-items:flex-end}.caption{width:auto;gap:8px}.caption>span:last-child{font-size:14px}.eyebrow{font-size:7px;letter-spacing:1.3px}.copyright{display:none}.controls{gap:8px}.dots{gap:5px}.dots .dot{width:18px}#count{display:none}.slide.interior-third{object-position:60% 56%}}@media(prefers-reduced-motion:reduce){.slide{transition:none}}




.slide.office{object-position:50% 55%}.slide.office-one{filter:brightness(1.16) contrast(1.025)}.slide.office-two{filter:brightness(1.12) contrast(1.02)}



@media (min-width:641px) and (max-width:900px){.copyright{display:none}.contacts{gap:26px}}
@media (max-width:380px){header{font-size:7px;letter-spacing:.7px}.intro{font-size:17px}.contacts{letter-spacing:.5px}}
.contacts a{max-width:100%;overflow-wrap:anywhere}

.slide.exterior-six{filter:none;object-position:50% 68%}@media(max-width:640px){.slide.exterior-six{object-position:52% 68%}}



.socials{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:28px;color:#fff}.socials>span,.socials>a{display:flex;width:28px;height:32px;align-items:center;justify-content:center}.socials svg{display:block;width:20px;height:20px}@media(max-width:640px){.socials{margin-top:24px;gap:20px}}



/* Prevent native image dragging */ .slideshow,.logo-frame,.socials svg{user-select:none;-webkit-user-select:none}.slideshow img,.logo{pointer-events:none;-webkit-user-drag:none}
.logo-word{clip-path:inset(0 0 30% 0)}.logo-sub{position:absolute;inset:0;clip-path:inset(75% 0 0 0);transform:scaleX(.9);transform-origin:center}



/* Marcas: 50px abaixo dos contactos */
.brand-slider{margin-top:50px;width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.brand-track{display:flex;width:max-content;animation:bespoke-brands 38s linear infinite}.brand-group{display:flex;align-items:center;gap:58px;padding-right:58px;flex-shrink:0}.brand-name{display:block;white-space:nowrap;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:400;color:#fff;opacity:.85;letter-spacing:.3px;line-height:36px}.brand-0{letter-spacing:2px;text-transform:lowercase}.brand-1{font-weight:600}.brand-2{font-weight:600;text-transform:uppercase;letter-spacing:3px}.brand-3{font-size:18px;letter-spacing:.8px}.brand-4{font-size:17px;letter-spacing:1.5px}.brand-5{font-size:23px;font-weight:300;letter-spacing:1px}.brand-6,.brand-7{font-family:Georgia,serif;font-size:19px}.brand-slider:hover .brand-track{animation-play-state:paused}@keyframes bespoke-brands{to{transform:translateX(-50%)}}@media(max-width:640px){.brand-name{font-size:17px}.brand-group{gap:38px;padding-right:38px}.brand-track{animation-duration:34s}.identity{top:48%}.brand-slider{margin-top:50px}}@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-slider{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.brand-group[aria-hidden=true]{display:none}}

/* Logos oficiais, maiores e com proporções preservadas. */
main{min-height:760px}.brand-slider{width:min(1080px,92vw);position:relative;left:50%;transform:translateX(-50%);margin-top:50px}.brand-group{gap:68px;padding-right:68px;height:88px}.brand-logo{display:block;flex:0 0 200px;width:200px;height:76px;object-fit:contain;filter:brightness(0) invert(1);opacity:.94;user-select:none;-webkit-user-drag:none;pointer-events:none}.brand-logo-treku{flex-basis:190px;width:190px}.brand-logo-flos{flex-basis:160px;width:160px;height:76px}.brand-logo-louis,.brand-logo-santos,.brand-logo-ferreira{flex-basis:260px;width:260px}.brand-logo-usm{filter:grayscale(1);height:84px}.brand-track{animation-duration:45s}@media(max-width:640px){main{min-height:700px}.brand-group{gap:40px;padding-right:40px;height:72px}.brand-logo{flex-basis:160px;width:160px;height:60px}.brand-logo-flos{flex-basis:130px;width:130px}.brand-logo-louis,.brand-logo-santos,.brand-logo-ferreira{flex-basis:210px;width:210px}.brand-logo-usm{height:68px}.brand-track{animation-duration:40s}}
/* Grelha fixa de marcas: quatro por linha. */
.brand-slider{width:min(780px,92vw);overflow:visible;mask-image:none;-webkit-mask-image:none;margin-top:50px}.brand-track{display:block;width:100%;animation:none}.brand-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:34px;row-gap:28px;padding:0;height:auto;align-items:center;justify-items:center}.brand-group[aria-hidden="true"]{display:none}.brand-group .brand-logo{width:100%;max-width:145px;height:44px;object-fit:contain}.brand-group .brand-logo-flos{max-width:105px}.brand-group .brand-logo-usm{max-width:112px;height:50px}.brand-group .brand-logo-santos,.brand-group .brand-logo-ferreira,.brand-group .brand-logo-louis{max-width:160px}@media(max-width:640px){.brand-group{column-gap:16px;row-gap:20px}.brand-group .brand-logo{max-width:105px;height:31px}.brand-group .brand-logo-flos{max-width:68px}.brand-group .brand-logo-usm{max-width:75px;height:36px}.brand-group .brand-logo-santos,.brand-group .brand-logo-ferreira,.brand-group .brand-logo-louis{max-width:110px}} 

/* Proporções finais e marcas centradas na faixa entre contactos e navegação. */
main{display:grid;grid-template-rows:minmax(60px,1fr) auto minmax(190px,1fr) auto;padding:36px 4.5%;min-height:800px}.identity{position:relative;grid-row:2;top:auto;left:auto;transform:none;justify-self:center;width:min(960px,88vw)}.logo-frame{width:min(410.4px,47.52vw)}.intro{font-size:40px}.brand-slider{grid-row:3;position:relative;left:auto;transform:none;justify-self:center;align-self:center;margin:0;width:min(780px,92vw);z-index:2}footer{grid-row:4;position:relative;left:auto;right:auto;bottom:auto;width:100%;align-self:end}.socials{margin-top:24px}@media(max-width:640px){main{min-height:800px;padding:28px 6%;grid-template-rows:minmax(54px,1fr) auto minmax(170px,1fr) auto}.identity{top:auto;width:88vw}.intro{font-size:36px;line-height:1.35}.brand-slider{margin:0}footer{bottom:auto;left:auto;right:auto}}@media(max-width:380px){.intro{font-size:34px}}

.brand-group .brand-logo-copenhagen{max-width:125px;height:50px;filter:brightness(0) invert(1)}@media(max-width:640px){.brand-group .brand-logo-copenhagen{max-width:85px;height:36px}}/* Marcas em duas colunas nos ecrãs estreitos. */
@media(max-width:640px){main{min-height:960px;grid-template-rows:minmax(54px,1fr) auto minmax(300px,1fr) auto}.brand-slider{width:min(420px,88vw)}.brand-group{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:25px}.brand-group .brand-logo{max-width:135px;height:40px}.brand-group .brand-logo-flos{max-width:94px}.brand-group .brand-logo-copenhagen{max-width:105px;height:44px}.brand-group .brand-logo-santos,.brand-group .brand-logo-ferreira,.brand-group .brand-logo-louis{max-width:155px}}
.slide.slide-second{filter:brightness(1.09) contrast(1.015);object-position:50% 56%}
/* Contactos ligeiramente maiores. */
.contacts{font-size:15px}@media(max-width:640px){.contacts{font-size:14px}}
/* Slogan ligeiramente mais pequeno. */
.intro{font-size:34px}@media(max-width:640px){.intro{font-size:30px}}@media(max-width:380px){.intro{font-size:28px}}

/* Mobile: logotipo maior e conteudo mais proximo do topo. */
@media(max-width:640px){
 main{height:auto;min-height:max(960px,100svh);padding:32px 6% 26px;grid-template-rows:24px auto minmax(300px,1fr) auto;row-gap:32px}
 .logo-frame{width:min(350px,78vw)}
 .identity{align-self:start}
 .line{margin:22px auto 20px}
 .brand-slider{align-self:start;margin-top:12px}
}

/* Composicao mobile dimensionada pela altura visivel do ecra. */
@media(max-width:640px){
 main{height:100svh;min-height:0;padding:clamp(12px,3svh,28px) 6% clamp(10px,2svh,20px);grid-template-rows:auto minmax(0,1fr) auto;row-gap:clamp(10px,2.5svh,24px);align-content:stretch}
 .identity{grid-row:1;width:88vw;align-self:start}
 .logo-frame{width:min(350px,78vw,44svh)}
 .line{margin:clamp(10px,2svh,20px) auto clamp(8px,1.5svh,16px)}
 .intro{font-size:clamp(19px,3.2svh,30px);line-height:1.22;margin-bottom:clamp(12px,2.4svh,24px);letter-spacing:.6px}
 .contacts{gap:clamp(10px,1.8svh,18px);font-size:clamp(12px,1.7svh,14px)}
 .socials{margin-top:clamp(10px,1.8svh,20px);gap:20px}
 .socials>a{height:28px}
 .brand-slider{grid-row:2;align-self:center;margin:0;width:min(420px,88vw)}
 .brand-group{column-gap:26px;row-gap:clamp(8px,1.8svh,20px)}
 .brand-group .brand-logo{height:clamp(22px,4.2svh,40px);max-width:135px}
 .brand-group .brand-logo-copenhagen{height:clamp(24px,4.6svh,44px);max-width:105px}
 .brand-group .brand-logo-flos{max-width:94px}
 .brand-group .brand-logo-santos,.brand-group .brand-logo-ferreira,.brand-group .brand-logo-louis{max-width:155px}
 footer{grid-row:3}
}
/* Em paisagem, quatro marcas por linha libertam altura. */
@media(max-width:640px) and (max-height:540px){
 main{row-gap:8px;padding-top:10px;padding-bottom:8px}
 .logo-frame{width:min(240px,60vw,40svh)}
 .intro{font-size:18px;line-height:1.2;margin-bottom:10px}
 .line{margin:8px auto}
 .contacts{flex-direction:row;gap:16px;font-size:11px}
 .socials{margin-top:6px}
 .brand-group{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:14px;row-gap:8px}
 .brand-group .brand-logo,.brand-group .brand-logo-copenhagen{height:24px}
}

/* Fundo mais visivel apenas em mobile. */
@media(max-width:640px){.shade{background-color:rgba(0,0,0,.55)}}

/* Mais respiro acima do logotipo nos telemoveis em retrato. */
@media(max-width:640px) and (min-height:541px){main{padding-top:clamp(36px,8svh,88px)}}

/* Mais espaco vertical entre marcas em mobile. */
@media(max-width:640px) and (min-height:541px){.brand-group{row-gap:clamp(14px,2.6svh,30px)}}

/* Praddy: aumento adicional para melhor presença visual, preservando a grelha. */
.brand-group .brand-logo-praddy{transform:scale(1.45);transform-origin:center}

/* Copyright visible on every screen size, matching the login typography. */
footer{flex-direction:column;gap:12px}
footer .copyright{position:static;display:block;width:100%;text-align:center;font-family:"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.5;letter-spacing:normal;text-transform:none;color:#fff}


/* Centrar as barras da galeria independentemente da largura do contador. */
.controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;column-gap:22px}
.controls .dots{grid-column:2;justify-self:center}
.controls #count{grid-column:3;justify-self:start}
@media(max-width:640px){.controls{column-gap:8px}}
