@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=Barlow:wght@400;500;600&display=swap');
:root{--ink:#30393a;--mist:#d5dfe1;--paper:#fff;--muted:#5a686b;--line:#c4ced0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:400 18px/1.65 Barlow,Arial,sans-serif;color:var(--ink);background:var(--paper)}h1,h2,h3,h4,.display,.nav,.button,.eyebrow{font-family:'Barlow Condensed','Arial Narrow',sans-serif}h1,h2,h3,h4{line-height:1.04;font-weight:600;text-transform:uppercase;margin:0 0 24px}h1{font-size:clamp(42px,6.5vw,88px)}h2{font-size:clamp(34px,4vw,56px)}h3{font-size:clamp(26px,2.8vw,36px)}p{margin:0 0 22px}a{color:inherit;text-underline-offset:5px}a:hover{color:#647f85}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid #658f97;outline-offset:5px}.skip{position:absolute;left:-9999px;z-index:50}.skip:focus{left:12px;top:12px;background:white;padding:10px}.wrap{width:min(1180px,calc(100% - 96px));margin:auto}.header{position:sticky;top:0;z-index:20;background:var(--mist);border-bottom:1px solid #cbd5d7}.header .wrap{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{width:65px;height:auto}.nav{display:flex;align-items:center;gap:30px;font-size:21px;text-transform:uppercase;line-height:1.2}.nav a{text-decoration:none}.menu-button{display:none;background:transparent;border:1px solid var(--ink);padding:8px 16px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:22px}.hero{background:var(--mist);overflow:hidden}.hero>.wrap{min-height:670px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:68px;padding-top:44px;padding-bottom:60px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-art>img{width:min(340px,90%);height:570px;object-fit:contain;object-position:left}.orb{position:absolute;border:28px solid #fff;border-radius:50%;width:265px;height:265px;top:-140px;right:-220px;opacity:.7;pointer-events:none}.orb:after{content:'';position:absolute;inset:30px;border:20px solid #fff;border-radius:50%}.hero-copy{position:relative}.eyebrow{font-size:18px;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:22px}.hero h1{font-size:clamp(44px,5.2vw,72px)}.hero .intro{max-width:480px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 24px;text-transform:uppercase;font-size:20px;font-weight:500;line-height:1.2;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:white;min-height:52px}.button:hover{background:#4b6268;color:white}.button.light{background:transparent;color:var(--ink)}.section{padding:100px 0}.section.mist{background:var(--mist)}.section.dark{background:var(--ink);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:46px}.section-head p{max-width:450px;margin:0}.section-head h2{margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service{display:block;text-decoration:none;border-top:1px solid var(--line);padding:28px 4px 20px}.service .number{font-family:'Barlow Condensed';font-size:17px;color:var(--muted);display:block;margin-bottom:26px}.service p{font-size:17px;max-width:300px}.service .more{font-family:'Barlow Condensed';text-transform:uppercase;font-size:19px}.service:hover{color:var(--ink);border-color:var(--ink)}.service:hover .more{text-decoration:underline}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px}.project{min-width:0}.project a{text-decoration:none;display:block}.project .cover{aspect-ratio:4/5;overflow:hidden;background:#c9d4d6;display:flex;align-items:center;justify-content:center}.project .cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.project a:hover img{transform:scale(1.03)}.project .empty-cover{padding:32px;color:var(--ink);font-family:'Barlow Condensed';text-transform:uppercase;font-size:clamp(38px,4vw,58px);line-height:1.1}.project .category{display:block;font-size:15px;margin:20px 0 8px;color:var(--muted)}.project h3{font-size:clamp(27px,2.5vw,34px);line-height:1.12;overflow-wrap:anywhere;margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 45px}.filters a{font:20px 'Barlow Condensed';text-transform:uppercase;padding:9px 18px;border:1px solid #b8c4c7;text-decoration:none}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.big-word{font-size:clamp(68px,10vw,132px);line-height:.88;letter-spacing:-1px}.local-photo{width:100%;aspect-ratio:16/10;object-fit:cover}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.process .step{padding-top:24px;border-top:1px solid #667477}.process h3{font-size:29px}.clients{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;align-items:center}.clients img{height:70px;width:100%;object-fit:contain}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-details p{margin-bottom:28px}.contact-details a{text-decoration:none}.contact-details strong{display:block;font:20px 'Barlow Condensed';text-transform:uppercase;margin-bottom:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}label{font-size:16px}input,textarea,select{width:100%;padding:12px 14px;border:1px solid #9eafb3;background:white;color:var(--ink);border-radius:0}textarea{resize:vertical;min-height:130px}.help{font-size:14px;line-height:1.5;color:var(--muted)}.status{margin:16px 0;font-size:16px}.footer{background:var(--ink);color:white;padding:48px 0;font-size:15px}.footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer a{color:white}.footer p{margin:0}.page-hero{padding:68px 0 62px;background:var(--mist)}.page-hero h1{max-width:950px}.page-hero p{max-width:730px;font-size:20px}.breadcrumbs{font-size:14px;margin-bottom:28px}.content-narrow{max-width:900px}.prose h2{font-size:36px;margin:44px 0 20px}.prose h3{font-size:27px;margin:28px 0 16px}.prose p{max-width:850px}.prose ul,.prose ol{padding-left:24px}.prose li{margin:12px 0}.prose img{max-height:680px;object-fit:contain;margin:35px auto}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:34px}.service-list article{border-top:1px solid var(--line);padding-top:24px}.service-list p{font-size:17px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:36px 0}.gallery img{width:100%;height:360px;object-fit:contain;background:#eff2f2}.video-box{aspect-ratio:16/9;background:var(--ink);display:flex;align-items:center;justify-content:center;margin:40px 0;position:relative;color:white}.video-box iframe{width:100%;height:100%;border:0}.video-box .video-consent{max-width:500px;text-align:center;padding:30px}.video-box .button{border-color:white;background:white;color:var(--ink)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}.notice{padding:18px 24px;background:#ecf1f2;border-left:3px solid #648088;font-size:16px}.admin{padding:55px 0}.admin header{display:flex;justify-content:space-between;gap:30px;margin-bottom:35px}.admin-list{display:grid;grid-template-columns:300px 1fr;gap:35px}.admin-tabs{display:flex;flex-direction:column;gap:8px}.admin-tabs button{text-align:left;background:#edf1f2;padding:13px 16px;border:1px solid #c6d0d2}.admin-tabs button.selected{background:var(--ink);color:white}.admin-form{padding:25px;border:1px solid var(--line);min-width:0}.admin-tools{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.admin .empty{padding:40px}.admin h1{font-size:50px}.admin h2{font-size:34px}.hidden,[hidden]{display:none!important}.honeypot{position:absolute;left:-10000px}.copyright{opacity:.7}.preview-note{font-size:13px;text-align:center;padding:5px 12px;background:#30393a;color:#fff}.newsletter{max-width:620px}.newsletter .fields{grid-template-columns:1fr auto;align-items:end}.newsletter .field{margin:0}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq summary{font:26px 'Barlow Condensed';text-transform:uppercase;cursor:pointer}.faq details p{margin-top:18px}body.admin-page .hero{display:none}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header .wrap{height:82px}.logo img{width:52px}.menu-button{display:block}.nav{display:none;position:absolute;top:82px;left:0;width:100%;padding:22px 24px;background:var(--mist);border-bottom:1px solid #abbabc;flex-direction:column;align-items:start;gap:20px}.nav.open{display:flex}.hero>.wrap{min-height:580px;gap:25px;grid-template-columns:.75fr 1fr}.hero-art>img{height:440px}.hero h1{font-size:48px}.section{padding:72px 0}.services{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{gap:35px}.project-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start}.admin-list{grid-template-columns:1fr}.admin-tabs{flex-direction:row;flex-wrap:wrap}.admin-tabs button{max-width:100%}}
@media(max-width:600px){body{font-size:17px}.wrap{width:calc(100% - 36px)}.header .wrap{height:74px}.nav{top:74px}.hero>.wrap{grid-template-columns:1fr;padding-top:35px;padding-bottom:48px;min-height:auto}.hero-art{display:none}.hero h1{font-size:48px;max-width:420px}.hero .intro{font-size:18px}.orb{display:none}.eyebrow{font-size:16px;margin-bottom:20px}.buttons .button{padding:14px 18px}.section{padding:58px 0}.section-head,.split,.contact-grid,.two-col{display:block}.section-head p{margin-top:22px}.section-head .button{margin-top:20px}.split>div+div{margin-top:35px}.services{gap:12px 22px}.service h3{font-size:30px}.service p{font-size:16px}.project-grid{grid-template-columns:1fr;gap:36px}.project .cover{aspect-ratio:4/4.6}.project h3{font-size:32px}.process{grid-template-columns:1fr;gap:25px}.clients{grid-template-columns:repeat(2,1fr);gap:25px}.fields,.service-list{grid-template-columns:1fr}.contact-grid form{margin-top:35px}.page-hero{padding:40px 0}.page-hero h1{font-size:44px}.page-hero p{font-size:18px}.gallery{grid-template-columns:1fr}.gallery img{height:auto}.footer .wrap{flex-direction:column}.admin{padding:30px 0}.admin header{display:block}.admin-form{padding:16px}.admin-tools .button{width:100%}.newsletter .fields{display:block}.newsletter .button{margin-top:12px}.big-word{font-size:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* A localização funciona como uma peça da marca, com acesso à cartografia real. */
.location-card{display:block;margin-top:36px;background:var(--ink);color:white!important;text-decoration:none;overflow:hidden;border:1px solid var(--ink)}
.location-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px}.location-top .eyebrow{margin:0;font-size:25px;letter-spacing:1px}.location-arrow{font:38px/1 'Barlow Condensed',sans-serif}.location-card>svg{display:block;width:100%;height:auto}.location-caption{display:block;padding:24px 26px}.location-caption strong{font:600 30px/1.1 'Barlow Condensed',sans-serif;margin:0 0 10px;color:white}.location-caption small{display:block;font-size:14px;line-height:1.6;color:#d5dfe1}.location-action{display:inline-block;margin-top:22px;padding-bottom:8px;border-bottom:1px solid #a9babc;font:500 18px/1.2 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.6px}.location-card:hover .location-action{border-color:white}.location-card:hover .location-arrow{transform:translate(3px,-3px)}
.hero .intro,.page-hero p{font-weight:500;line-height:1.55}.service p,.service-list p{font-size:18px;line-height:1.6}.prose p,.prose li{line-height:1.75}.project .category{font-weight:500;letter-spacing:.25px}.help{font-size:15px}.contact-details p{font-weight:400}.location-card:focus-visible{outline-color:#658f97}
@media(max-width:600px){body{font-size:18px}.service p{font-size:17px}.location-top,.location-caption{padding:22px}.location-top .eyebrow{font-size:24px}.location-caption small{font-size:14px}}

/* Movimento da marca, apenas com transform e opacity. */
.hero{position:relative;isolation:isolate}.hero>.wrap{position:relative;z-index:1}.hero-motion{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.hero-ring{position:absolute;display:block;aspect-ratio:1;border-radius:50%;border:2px solid rgba(48,57,58,.14);border-top:14px solid rgba(48,57,58,.32)}.ring-one{width:680px;right:-290px;top:-260px;animation:hero-orbit 12s linear infinite}.ring-two{width:560px;left:-260px;bottom:-290px;border:48px solid rgba(255,255,255,.6);animation:hero-breathe 6s ease-in-out infinite alternate}.ring-three{width:430px;right:-120px;bottom:-240px;border:2px solid rgba(48,57,58,.2);border-right-width:18px;animation:hero-orbit 15s linear infinite reverse}.hero-art>img{animation:hero-art-float 4.5s ease-in-out infinite alternate}.hero-art .orb{animation:hero-breathe 5.5s ease-in-out infinite alternate}.hero-copy>.eyebrow{animation:hero-enter .65s ease-out both}.hero-copy>h1{animation:hero-enter .85s .08s ease-out both}.hero-copy>.intro{animation:hero-enter .85s .18s ease-out both}.hero-copy>.buttons{animation:hero-enter .85s .28s ease-out both}
@keyframes hero-orbit{to{transform:rotate(360deg)}}@keyframes hero-breathe{from{transform:translate3d(0,0,0) scale(1);opacity:.6}to{transform:translate3d(48px,-36px,0) scale(1.18);opacity:1}}@keyframes hero-art-float{from{transform:translate3d(0,12px,0) rotate(-1.5deg) scale(1)}to{transform:translate3d(12px,-22px,0) rotate(1.5deg) scale(1.04)}}@keyframes hero-enter{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:600px){.hero>.wrap{padding-bottom:56px}.ring-one{width:400px;right:-310px;top:-210px}.ring-two{width:310px;left:-230px;bottom:-160px;border-width:24px}.ring-three{width:310px;right:-180px;bottom:-170px}.hero-copy>h1{animation-duration:.65s}}
@media(prefers-reduced-motion:reduce){.hero-ring,.hero-art>img,.hero-art .orb,.hero-copy>*{animation:none!important;transform:none!important;opacity:1}}

/* Símbolo da Olhoshot, comum a todas as ligações que usavam setas. */
.brand-mark{display:inline-block;width:24px;height:24px;flex-shrink:0;vertical-align:-.22em}.service .more,.location-action{display:inline-flex;align-items:center;gap:12px}.location-arrow .brand-mark{width:32px;height:32px}.button .brand-mark{display:block}.location-card:hover .location-arrow{transform:none}.split>div{min-width:0}
/* Entrada das palavras sem alterar os espaços da secção. */
.strategy-title{font-size:clamp(50px,9vw,108px);line-height:.98;letter-spacing:-.5px}.strategy-word{display:block;position:relative;transform-origin:left center}.strategy-creative{color:#d5dfe1}.strategy-title.is-visible .strategy-word{animation:strategy-arrive 1.1s cubic-bezier(.16,1,.3,1) both}.strategy-title.is-visible .strategy-word:nth-child(2){animation-delay:.2s}.strategy-title.is-visible .strategy-word:nth-child(3){animation-delay:.4s}.strategy-creative::after{content:'';display:block;position:absolute;left:0;bottom:-8px;width:72%;height:3px;background:#d5dfe1;transform:scaleX(0);transform-origin:left}.strategy-title.is-visible .strategy-creative::after{animation:strategy-draw 1.15s .85s cubic-bezier(.16,1,.3,1) both}
@keyframes strategy-arrive{from{opacity:0;transform:translate3d(-45px,28px,0) scale(.94)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}@keyframes strategy-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:600px){.strategy-title{font-size:clamp(50px,12vw,72px)}}
@media(prefers-reduced-motion:reduce){.strategy-word{animation:none!important;transform:none!important;opacity:1!important}.strategy-creative::after{animation:none!important;transform:scaleX(1)}}

/* Navegação integrada no banner e em fluxo normal, sem barra fixa. */
html{scroll-padding-top:24px}.header{position:relative;top:auto;background:transparent;border:0;z-index:5}.header>.wrap{height:auto;min-height:116px;padding-top:24px;padding-bottom:24px}.logo{display:flex;align-items:center;gap:18px;text-decoration:none}.brand-signature{font:500 16px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.7px}.nav{gap:32px;font-size:21px}.nav>a{position:relative;display:inline-flex;align-items:center;gap:9px;padding:10px 0}.nav-index{font:400 10px/1 Barlow,sans-serif;opacity:.55;align-self:flex-start;padding-top:4px}.nav>a:not(.nav-contact)::after{content:'';position:absolute;left:20px;bottom:0;width:6px;height:6px;border-radius:50%;background:var(--ink);transform:scale(0);transition:transform .2s}.nav>a:hover::after,.nav>a:focus-visible::after{transform:scale(1)}.nav>.nav-contact{padding:12px 18px;border:1px solid rgba(48,57,58,.45);border-radius:40px;gap:16px}.nav-contact:hover{background:var(--ink);color:white}.hero>.wrap{padding-top:12px;min-height:620px}.hero>.header>.wrap{position:relative}.menu-button{border-radius:40px;padding:10px 16px;align-items:center;gap:14px;font-size:20px}.menu-button .brand-mark{width:22px;height:22px}
@media(max-width:900px){.header>.wrap{min-height:94px;padding-top:18px;padding-bottom:18px}.menu-button{display:inline-flex}.nav{position:static;top:auto;left:auto;width:100%;padding:22px 0 4px;background:transparent;border:0;gap:14px;align-items:stretch}.header>.wrap{flex-wrap:wrap}.nav.open{display:flex}.nav>a{padding:10px 0;font-size:26px}.nav>.nav-contact{align-self:flex-start;padding:12px 18px;font-size:23px}.nav-index{font-size:12px}.hero>.wrap{min-height:560px;padding-top:16px}.brand-signature{font-size:14px}.logo{gap:12px}}
@media(max-width:600px){.header>.wrap{min-height:88px}.hero>.wrap{min-height:auto;padding-top:28px;padding-bottom:52px}.header .logo img{width:46px}.brand-signature{font-size:13px;letter-spacing:.3px}.nav.open{gap:10px}.hero>.header{padding-bottom:0}}

/* Formulário como peça de comunicação da Olhoshot. */
.contact-panel{position:relative;isolation:isolate;overflow:hidden;padding:48px;background:var(--ink);color:#fff;border-radius:48px 12px 48px 48px;box-shadow:14px 18px 0 rgba(139,166,172,.2)}.contact-panel::before{content:'';position:absolute;z-index:-1;right:-84px;top:-105px;width:285px;height:285px;border:34px solid rgba(213,223,225,.08);border-radius:50%;pointer-events:none}.contact-panel::after{content:'';position:absolute;z-index:-1;right:-18px;top:-39px;width:152px;height:152px;border:1px solid rgba(213,223,225,.17);border-radius:50%;pointer-events:none}.form-heading{position:relative;margin-bottom:36px;padding-right:34px}.form-heading .eyebrow{font-size:14px;letter-spacing:1.6px;color:#d5dfe1;margin-bottom:18px}.form-heading h3{font-size:clamp(36px,3.8vw,50px);line-height:1.02;margin-bottom:16px}.form-heading>p{font-size:18px;color:#d5dfe1;margin-bottom:0}.form-emblem{position:absolute;right:0;top:0;color:#d5dfe1}.form-emblem .brand-mark{width:36px;height:36px}.contact-panel label{color:#e8eff0;font-size:14px;font-weight:500;margin-bottom:4px}.contact-panel .fields{gap:16px}.contact-panel .field{margin-bottom:22px;min-width:0}.contact-panel input,.contact-panel textarea,.contact-panel select{background:#424f52;color:#fff;border:1px solid #74878c;border-radius:14px;padding:15px 17px;min-height:54px;transition:border-color .2s,background .2s;box-shadow:none}.contact-panel textarea{min-height:160px;border-radius:18px;line-height:1.6}.contact-panel input:focus,.contact-panel textarea:focus,.contact-panel select:focus{background:#4a595d;border-color:#d5dfe1;outline:2px solid #d5dfe1;outline-offset:3px}.contact-panel select option{background:#30393a;color:white}.contact-panel .help{color:#d5dfe1;font-size:13px;line-height:1.6}.contact-panel .help a{color:white}.contact-panel .notice{background:#424f52;color:#e8eff0;border:0;border-radius:14px;padding:14px 17px;font-size:13px}.contact-panel>.button{display:flex;justify-content:space-between;width:100%;border:0;background:#d5dfe1;color:#30393a;border-radius:40px;margin-top:28px;padding:16px 20px 16px 26px;font-size:23px;min-height:68px}.submit-emblem{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#30393a;color:#d5dfe1;border-radius:50%;transition:transform .2s}.submit-emblem .brand-mark{width:25px;height:25px}.contact-panel>.button:hover{background:white;color:#30393a}.contact-panel>.button:hover .submit-emblem{transform:scale(1.1)}.contact-panel .status{color:white;font-size:15px;margin-bottom:0}.contact-panel .status:empty{margin:0}.contact-grid{align-items:start}
@media(max-width:900px){.contact-panel{padding:34px;border-radius:36px 10px 36px 36px;box-shadow:8px 12px 0 rgba(139,166,172,.2)}.form-heading{padding-right:20px}.form-heading h3{font-size:38px}.contact-panel .fields{grid-template-columns:1fr;gap:0}}
@media(max-width:600px){.contact-panel{padding:30px 24px;border-radius:32px 10px 32px 32px;margin-right:6px}.form-heading h3{font-size:36px}.form-heading .eyebrow{font-size:12px;letter-spacing:1px}.form-emblem .brand-mark{width:28px;height:28px}.contact-panel>.button{font-size:21px}.contact-panel::before{right:-120px;top:-110px}}

/* Contactos com ícones desenhados para a marca. */
.contact-links{display:grid;gap:22px;margin-top:32px}.contact-item{display:flex;align-items:center;gap:18px;min-width:0}.contact-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex-shrink:0;border-radius:18px 18px 18px 5px;background:var(--ink);color:var(--mist)}.contact-glyph{width:26px;height:26px;display:block}.contact-item a{font:500 clamp(18px,2vw,24px)/1.3 Barlow,sans-serif;overflow-wrap:anywhere}.contact-item .help{display:block;margin-top:6px;font-size:12px}.contact-item a:hover{text-decoration:underline}
/* Rodapé com alinhamentos próprios, sem depender das grelhas de conteúdo. */
.footer{padding:72px 0 24px;background:var(--ink);color:white}.footer>.wrap{display:block}.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;padding-bottom:44px;border-bottom:1px solid rgba(213,223,225,.25)}.footer-statement{font:600 clamp(34px,4.2vw,56px)/1.04 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.4px}.footer-cta{display:inline-flex;align-items:center;gap:22px;padding:16px 20px;border:1px solid #899b9f;border-radius:40px;white-space:nowrap;font:500 21px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;text-decoration:none}.footer-cta:hover{background:var(--mist);color:var(--ink)}.footer-cta .brand-mark{width:28px;height:28px}.footer-grid{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:52px;padding:46px 0}.footer-grid> *{min-width:0}.footer-brand{display:flex;align-items:flex-start;gap:20px;align-self:start;text-decoration:none}.footer-brand img{width:54px;height:auto;filter:brightness(0) invert(1)}.footer-brand strong{display:block;font:600 34px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-bottom:12px}.footer-brand>span>span{display:block;color:#c3d0d2;font-size:14px;line-height:1.6}.footer-label{display:block;font:500 13px/1.2 Barlow,sans-serif;text-transform:uppercase;letter-spacing:1.8px;color:#b6c9cd;margin-bottom:22px}.footer .contact-links{margin:0;gap:18px}.footer .contact-icon{width:34px;height:34px;border-radius:11px 11px 11px 3px;background:#d5dfe1;color:#30393a}.footer .contact-glyph{width:20px;height:20px}.footer .contact-item{gap:12px}.footer .contact-item a{font-size:17px;text-decoration:none}.footer .contact-item .help{color:#bccacc;font-size:10px}.footer .footer-address{font-size:13px;color:#bccacc;line-height:1.65;margin:22px 0 0;padding-left:46px}.footer-social>a{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:200px;padding:12px 0;border-bottom:1px solid rgba(213,223,225,.2);font:500 23px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;text-decoration:none}.footer-social .brand-mark{width:20px;height:20px}.footer-bottom{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:52px;align-items:center;padding-top:24px;border-top:1px solid rgba(213,223,225,.25);font-size:12px;color:#b6c9cd}.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom a{color:#b6c9cd;text-decoration:none}.footer-signature{text-align:right}.footer a:focus-visible{outline-color:white}
@media(max-width:900px){.footer-grid,.footer-bottom{grid-template-columns:1fr 1fr;gap:32px}.footer-social{grid-column:2}.footer-brand{grid-row:1 / span 2}.footer-signature{grid-column:1 / -1;text-align:left}.footer-statement{font-size:42px}.footer-cta{font-size:18px;padding:14px 16px}.contact-item a{font-size:19px}}
@media(max-width:600px){.contact-icon{width:48px;height:48px}.contact-item{gap:14px}.footer{padding-top:48px}.footer-top{display:block;padding-bottom:30px}.footer-statement{display:block;font-size:38px}.footer-cta{margin-top:24px}.footer-grid{grid-template-columns:1fr;gap:34px;padding:34px 0}.footer-brand{grid-row:auto}.footer-social{grid-column:auto}.footer-social>a{max-width:none}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.footer-signature{text-align:left}.footer-bottom nav{gap:24px}}

/* Newsletter: tipografia, espaço e uma única linha de subscrição. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.newsletter-section{padding:88px 0;background:white}.newsletter-section>.newsletter{max-width:1180px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.newsletter-copy .eyebrow{font:500 12px/1.4 Barlow,sans-serif;letter-spacing:1.5px;margin-bottom:22px;color:#5a686b}.newsletter-copy h2{font-size:clamp(38px,4.8vw,62px);line-height:1;margin-bottom:22px}.newsletter-copy>p{font-size:17px;margin:0;color:#5a686b}.newsletter-form{min-width:0}.newsletter-input{display:flex;align-items:center;gap:24px;padding:12px 0 18px;border-bottom:1px solid #30393a}.newsletter-input input{flex:1;min-width:0;padding:12px 0;border:0;background:transparent;border-radius:0;font:400 22px/1.4 Barlow,sans-serif;color:#30393a}.newsletter-input input::placeholder{color:#6a7a7e;opacity:1}.newsletter-input input:focus-visible{outline:2px solid #658f97;outline-offset:4px}.newsletter-submit{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:54px;height:54px;border:0;border-radius:50%;background:#30393a;color:#d5dfe1;transition:background .2s,transform .2s}.newsletter-submit .brand-mark{width:28px;height:28px}.newsletter-submit:hover{background:#4b6268;transform:scale(1.06)}.newsletter-note{margin:16px 0 0;font-size:12px;color:#6a7a7e;line-height:1.7}.newsletter-note a{color:#53666a}.newsletter-form .status:empty{margin:0}.newsletter-form .status{font-size:14px}
@media(max-width:900px){.newsletter-section>.newsletter{gap:40px}.newsletter-input{gap:16px}.newsletter-input input{font-size:20px}}
@media(max-width:600px){.newsletter-section{padding:58px 0}.newsletter-section>.newsletter{grid-template-columns:1fr;gap:32px}.newsletter-copy h2{font-size:46px}.newsletter-copy .eyebrow{font-size:11px;margin-bottom:18px}.newsletter-input{padding-bottom:12px}.newsletter-submit{width:48px;height:48px}.newsletter-submit .brand-mark{width:25px;height:25px}}

/* Trabalhos em destaque: composição editorial e movimento nos cartões. */
.featured-work{position:relative;overflow:hidden}.featured-work>.wrap{position:relative;z-index:1}.featured-work::before{content:'';position:absolute;right:-170px;top:-110px;width:430px;height:430px;border:1px solid rgba(48,57,58,.13);border-radius:50%;pointer-events:none}.featured-work .section-head{align-items:flex-end;margin-bottom:60px}.work-heading .eyebrow{font:500 12px/1.4 Barlow,sans-serif;letter-spacing:2px;margin-bottom:22px}.work-heading h2{position:relative;font-size:clamp(44px,5.8vw,76px);line-height:.98;padding-right:60px;max-width:700px}.work-title-mark{display:inline-block;margin-left:18px;vertical-align:middle}.work-title-mark .brand-mark{width:42px;height:42px}.featured-work .section-head>.button{border-radius:40px;white-space:nowrap}.featured-work .project-grid{gap:48px 30px;align-items:start}.featured-work .project:nth-child(3n+2){padding-top:42px}.featured-work .project .cover{position:relative;border-radius:32px 8px 32px 8px;transition:border-radius .35s ease,transform .35s ease}.featured-work .project:nth-child(2n) .cover{border-radius:8px 32px 8px 32px}.featured-work .project .cover::after{content:'';position:absolute;right:18px;bottom:18px;width:34px;height:34px;border:2px solid white;border-radius:50%;background:radial-gradient(circle,white 0 4px,transparent 4.5px);box-shadow:0 0 0 6px rgba(48,57,58,.18);opacity:.9;transition:transform .3s}.featured-work .project .category{font:500 11px/1.4 Barlow,sans-serif;text-transform:uppercase;letter-spacing:1.6px;margin:22px 0 10px}.featured-work .project h3{font-size:clamp(27px,2.7vw,36px)}.featured-work .project a:hover .cover{border-radius:24px;transform:translateY(-6px)}.featured-work .project a:hover .cover::after{transform:scale(1.14)}.featured-work .project a:hover img{transform:scale(1.055)}.featured-work .project a:focus-visible{outline-offset:8px}.featured-work .project a:focus-visible .cover{border-radius:24px}.featured-work .empty-cover{font-size:clamp(34px,3.7vw,54px)}
@media(max-width:900px){.featured-work .project:nth-child(3n+2){padding-top:0}.featured-work .project:nth-child(2n){padding-top:30px}.work-heading h2{font-size:54px;padding-right:0}.work-title-mark .brand-mark{width:32px;height:32px}.featured-work .section-head{gap:24px}.featured-work .section-head>.button{font-size:17px;padding:14px 18px}}
@media(max-width:600px){.work-heading h2{font-size:48px}.work-title-mark{margin-left:12px}.featured-work .section-head{margin-bottom:36px}.featured-work .project:nth-child(n){padding-top:0}.featured-work .project-grid{gap:36px}.featured-work .project .cover{aspect-ratio:4/4.5}.featured-work .section-head>.button{margin-top:24px}.featured-work::before{right:-270px}}
@media(prefers-reduced-motion:reduce){.featured-work .project a:hover .cover,.featured-work .project a:hover img,.featured-work .project a:hover .cover::after{transform:none}}

/* Legendas discretas: a imagem apresenta o trabalho, o nome identifica-o. */
.project .category,.featured-work .project .category{font:400 12px/1.5 Barlow,Arial,sans-serif;letter-spacing:0;text-transform:none;color:#65777b;margin:17px 0 5px}
.project h3,.featured-work .project h3{font-family:Barlow,Arial,sans-serif;font-weight:400;text-transform:none;font-size:18px;line-height:1.5;letter-spacing:0;overflow-wrap:normal;margin:0;max-width:none;color:#435559}
.project a:hover h3,.featured-work .project a:hover h3{color:#30393a}
@media(max-width:600px){.project h3,.featured-work .project h3{font-size:18px}.project .category,.featured-work .project .category{margin-top:15px}}

/* O tamanho do mapa não deve ser aplicado aos símbolos dentro das ligações. */
.location-card .brand-mark{display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}.location-card .location-arrow .brand-mark{width:32px;height:32px;flex-basis:32px}.location-action{max-width:100%;gap:12px;line-height:1.3}.location-action .brand-mark{margin-left:0}.location-caption{min-width:0}.contact-grid{align-items:stretch}.contact-details{display:flex;flex-direction:column;min-width:0}.contact-details>.contact-links{margin-top:auto;padding-top:28px}.contact-details>.location-card{flex-shrink:0}
@media(max-width:600px){.contact-details>.contact-links{margin-top:0;padding-top:28px}}

/* Coerência da grelha e efeitos reservados aos elementos principais. */
.featured-work .project:nth-child(n){padding-top:0}.project .cover,.featured-work .project .cover{aspect-ratio:4/5}.featured-work .project a:hover .cover{transform:none}.featured-work .project a:hover img{transform:scale(1.025)}.featured-work .project a:hover .cover::after{transform:none}.contact-panel>.button:hover .submit-emblem,.newsletter-submit:hover{transform:none}.section-head>div{min-width:0}.prose{font-size:18px}.prose p{max-width:72ch}.contact-panel{box-shadow:8px 10px 0 rgba(139,166,172,.16)}.related-services{padding-top:38px;padding-bottom:54px}.related-services h2{font-size:34px}.related-links{display:flex;gap:12px;flex-wrap:wrap}.related-links a{display:inline-flex;align-items:center;gap:14px;padding:12px 18px;border:1px solid #b5c4c8;border-radius:30px;font-size:16px;text-decoration:none}.related-links .brand-mark{width:18px;height:18px}.related-links a:hover{background:#d5dfe1;color:#30393a}
@media(max-width:600px){.work-heading h2{font-size:42px}.contact-panel{margin-right:4px}.related-links{gap:10px}.related-links a{padding:11px 14px}.related-services h2{font-size:30px}}

.admin{background:#f3f6f5;min-height:85vh;padding:48px 0 72px}.admin h1{font-size:clamp(36px,5vw,60px);text-transform:none}.admin h2{font-size:30px;text-transform:none;margin-bottom:12px}.admin h3{font-size:25px;text-transform:none}.admin header{margin-bottom:32px}.admin-nav{display:flex;gap:8px;border-bottom:1px solid #d1dbda;padding-bottom:16px;margin-bottom:24px}.admin-nav button{border:0;border-radius:24px;padding:11px 22px;background:transparent;color:var(--ink);font-weight:600}.admin-nav button[aria-pressed=true]{background:var(--ink);color:white}.admin-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px}.admin-overview>div{background:white;border:1px solid #e1e7e5;border-radius:20px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-overview span{font-size:15px;color:var(--muted)}.admin-overview strong{font:500 32px 'Barlow Condensed',sans-serif}.admin-legacy-switch{display:none}.admin-context p{font-size:16px;max-width:700px}.admin-list{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}.admin-list aside{background:white;border:1px solid #e0e7e5;border-radius:22px;padding:18px}.admin-search{display:block;font-size:14px;color:var(--muted);margin-bottom:18px}.admin-search input{width:100%;border:1px solid #d0dbd9;border-radius:12px;padding:10px;margin-top:6px;background:#f6f8f7}.admin-tabs{display:flex;flex-direction:column;gap:7px}.admin-tabs button{padding:12px 14px;border:0;border-radius:12px;background:transparent;text-align:left;font:500 15px/1.45 Barlow,sans-serif;color:var(--ink);white-space:normal}.admin-tabs button:hover{background:#f0f4f3}.admin-tabs button.selected{background:#e1ebea;box-shadow:inset 3px 0 #638a85}.admin-tabs button.admin-new{background:var(--ink);color:white;margin-bottom:10px;text-align:center}.admin-tabs button[hidden]{display:none}.admin-form{background:white;border:1px solid #e0e7e5;border-radius:26px;padding:32px;min-width:0}.admin-form .field{margin-bottom:22px}.admin-form label{font-size:15px;font-weight:600;display:block;margin-bottom:8px}.admin-form input,.admin-form select,.admin-form textarea{background:#f8faf9;border:1px solid #d0dbd9;border-radius:12px;padding:12px 14px;width:100%;color:var(--ink);font-size:16px}.admin-form textarea{min-height:120px;resize:vertical}.admin-form .help{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.admin-section-title{border-top:1px solid #e0e7e5;padding-top:28px;margin-top:32px}.admin-counter{display:block;color:var(--muted);font-size:13px;margin-top:7px}.admin-savebar{position:sticky;bottom:12px;background:#f0f5f3;border:1px solid #d2dfdb;border-radius:18px;padding:16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;box-shadow:0 8px 24px #30393a12}.admin-savebar .button{border-radius:30px;padding:12px 22px}.admin-savebar .status{font-size:14px;margin:0;flex-basis:100%}.admin-view{font-size:15px}.admin-image-preview img{margin-top:14px;border-radius:14px;width:100%;max-height:220px;object-fit:contain;background:#f3f6f5}.admin-tools{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.admin-tools .button{font:500 15px Barlow,sans-serif;border-radius:25px;padding:12px 20px;background:white;border:1px solid #cfdbd8;text-transform:none}.admin-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-media-grid article{padding:12px;border:1px solid #d2ddda;border-radius:16px;background:white}.admin-media-grid img{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:10px;margin-bottom:12px}.admin-media-grid button{display:block;width:100%;border:1px solid #d2ddda;background:#f0f5f3;border-radius:12px;padding:8px;margin-top:8px;font-size:14px}@media(max-width:900px){.admin-list{grid-template-columns:1fr}.admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.admin-overview{gap:8px}.admin-overview>div{padding:12px;display:block}.admin-overview span{font-size:12px;display:block}.admin-nav{gap:4px}.admin-nav button{padding:10px 14px;font-size:14px}.admin-form{padding:20px 16px}.admin-tabs{grid-template-columns:1fr}.admin-savebar{bottom:8px}.admin-tools .button{width:auto}.admin-form .fields{display:block}}

.admin-step{border-bottom:1px solid #e0e7e5;margin-bottom:24px;padding-bottom:8px}.admin-step summary{cursor:pointer;font:600 21px Barlow,sans-serif;padding:14px 0 22px}.admin-step .field{margin-bottom:20px}.admin-step summary::marker{color:#638a85}

.admin-gallery-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.admin-gallery-preview figure{margin:0;border:1px solid #d2ddda;padding:10px;border-radius:14px;background:#f8faf9;min-width:0}.admin-gallery-preview img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.admin-gallery-preview figcaption{font-size:13px;padding:8px 0}.admin-gallery-preview button{font-size:13px;background:white;border:1px solid #d2ddda;border-radius:10px;padding:7px 10px;color:var(--ink)}@media(max-width:600px){.admin-gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}

.admin-nav{flex-wrap:wrap}.admin-inbox-item{background:white;border:1px solid #d2ddda;border-radius:20px;padding:24px;margin-bottom:16px}.admin-inbox-item>div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-inbox-item p{font-size:15px;margin:12px 0 0}.admin-message{white-space:pre-wrap;overflow-wrap:anywhere}.admin-badge{background:#e1ebea;border-radius:20px;padding:4px 12px;font-size:12px}

.admin-access{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-access form{margin:0}.admin-access button{cursor:pointer;font:inherit}

/* Portfolio editorial layout. Existing project addresses and captions retained. */
.portfolio-intro{background:var(--mist);overflow:hidden;padding:44px 0 42px}.portfolio-intro-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:40px;align-items:center}.portfolio-intro .eyebrow{font:500 12px/1.5 Barlow,Arial,sans-serif;letter-spacing:.12em}.portfolio-intro h1{font-size:clamp(72px,10vw,148px);line-height:.87;letter-spacing:-.025em;margin:35px 0 50px}.portfolio-intro h1 span{display:block;font-weight:300;margin-top:15px}.portfolio-intro-side{display:flex;flex-direction:column;align-items:center;gap:28px}.portfolio-intro-side p{font-size:19px;line-height:1.6;margin:0}.portfolio-emblem{position:relative;width:clamp(130px,18vw,245px);aspect-ratio:1}.portfolio-emblem>.brand-mark{width:100%;height:100%;transform:rotate(-18deg);color:var(--ink)}.portfolio-emblem>span{position:absolute;inset:-12px;border:1px solid #8b9da0;border-radius:50%;animation:portfolio-orbit 14s linear infinite}.portfolio-emblem>span:after{content:'';position:absolute;top:12%;left:12%;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px var(--mist)}.portfolio-intro-foot{border-top:1px solid #acbcbf;padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:40px}.portfolio-intro-foot p{max-width:540px;font-size:17px;margin:0}.portfolio-jump{display:flex;gap:16px;align-items:center;text-decoration:none;font-size:15px;white-space:nowrap}.portfolio-jump .brand-mark{width:32px;height:32px}.portfolio-showcase{padding-top:50px}.portfolio-filter-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:56px}.portfolio-filter-row .filters{margin:0;gap:8px}.portfolio-filter-row .filters a{font:500 14px/1.3 Barlow,Arial,sans-serif;text-transform:none;border-radius:40px;padding:12px 18px;border-color:#d2dcdd;transition:background .2s,color .2s}.portfolio-filter-row .filters a:hover{background:var(--mist);color:var(--ink)}.portfolio-selection{font-size:12px;color:var(--muted);white-space:nowrap}.portfolio-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:72px 48px;align-items:start;counter-reset:work}.portfolio-grid .project{grid-column:span 7;counter-increment:work}.portfolio-grid .project:nth-child(4n+2),.portfolio-grid .project:nth-child(4n+3){grid-column:span 5}.portfolio-grid .project:nth-child(4n+2){margin-top:100px}.portfolio-grid .project:nth-child(4n+4){margin-top:72px}.portfolio-grid .project .cover{aspect-ratio:6/5;position:relative;border-radius:8px 72px 8px 8px;transition:border-radius .5s,transform .5s}.portfolio-grid .project:nth-child(4n+2) .cover,.portfolio-grid .project:nth-child(4n+3) .cover{aspect-ratio:4/5;border-radius:56px 8px 8px 8px}.portfolio-grid .project:nth-child(4n+4) .cover{border-radius:8px 8px 64px 8px}.portfolio-grid .project .cover:after{content:'';position:absolute;width:40px;height:40px;bottom:20px;right:20px;border:2px solid #fff;border-radius:50%;background:radial-gradient(circle,#fff 0 5px,transparent 5.5px);box-shadow:0 0 0 6px #30393a30;transition:transform .4s}.portfolio-grid .project .cover img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.portfolio-grid .project a:hover .cover,.portfolio-grid .project a:focus-visible .cover{border-radius:28px;transform:translateY(-5px)}.portfolio-grid .project a:hover img{transform:scale(1.055)}.portfolio-grid .project a:hover .cover:after{transform:rotate(90deg) scale(1.12)}.portfolio-grid .project .category{font:500 11px/1.5 Barlow,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:21px 0 7px;display:flex;align-items:center;gap:10px}.portfolio-grid .project .category:before{content:counter(work,decimal-leading-zero);color:#85989b;font-size:11px}.portfolio-grid .project h3{font:400 19px/1.45 Barlow,Arial,sans-serif;text-transform:none;max-width:95%;color:#435559}.portfolio-outro{display:flex;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding-top:28px;margin-top:90px}.portfolio-outro p{margin:0}.portfolio-outro a{display:flex;align-items:center;gap:16px;font-size:15px;text-decoration:none}.portfolio-outro .brand-mark{width:30px;height:30px}.portfolio-invite{padding:78px 0;background:var(--ink);color:white;overflow:hidden}.portfolio-invite .wrap{position:relative}.portfolio-invite h2{font-size:clamp(56px,7vw,96px);font-weight:400}.portfolio-invite .button{background:var(--mist);color:var(--ink);border:0;border-radius:40px}.portfolio-empty{padding:50px 0}.portfolio-grid .project.work-reveal{animation:portfolio-arrive .85s cubic-bezier(.16,1,.3,1) both}.portfolio-grid .project:nth-child(even).work-reveal{animation-delay:.1s}@keyframes portfolio-orbit{to{transform:rotate(360deg)}}@keyframes portfolio-arrive{from{opacity:.25;transform:translateY(60px)}to{opacity:1;transform:none}}
@media(max-width:900px){.portfolio-intro h1{font-size:clamp(60px,10vw,98px)}.portfolio-grid{gap:48px 28px}.portfolio-filter-row{display:block}.portfolio-selection{display:block;margin-top:20px}.portfolio-intro-foot{gap:24px}.portfolio-jump{white-space:normal}.portfolio-grid .project:nth-child(4n+2){margin-top:70px}}
@media(max-width:600px){.portfolio-intro{padding:30px 0}.portfolio-intro-grid{grid-template-columns:1fr;gap:0;position:relative}.portfolio-intro h1{font-size:clamp(55px,13vw,78px);margin:26px 0 28px}.portfolio-intro-side{flex-direction:row;justify-content:flex-start;gap:25px;margin:0 0 28px}.portfolio-emblem{width:75px;flex-shrink:0;margin:12px}.portfolio-emblem>span{inset:-7px}.portfolio-emblem>span:after{width:10px;height:10px;box-shadow:0 0 0 4px var(--mist)}.portfolio-intro-side p{font-size:16px}.portfolio-intro-foot{display:block}.portfolio-intro-foot p{font-size:16px}.portfolio-jump{margin-top:22px}.portfolio-grid{grid-template-columns:1fr;gap:40px}.portfolio-grid .project:nth-child(n){grid-column:auto;margin-top:0}.portfolio-grid .project:nth-child(n) .cover{aspect-ratio:5/4;border-radius:8px 42px 8px 8px}.portfolio-grid .project:nth-child(even) .cover{border-radius:42px 8px 8px 8px}.portfolio-filter-row{margin-bottom:34px}.portfolio-filter-row .filters a{padding:10px 14px;font-size:13px}.portfolio-outro{display:block;margin-top:52px}.portfolio-outro a{margin-top:14px}.portfolio-invite{padding:54px 0}.portfolio-invite .button{font-size:18px}}
@media(prefers-reduced-motion:reduce){.portfolio-emblem>span,.portfolio-grid .project.work-reveal{animation:none}.portfolio-grid .project .cover,.portfolio-grid .project .cover img,.portfolio-grid .project .cover:after{transition:none}.portfolio-grid .project a:hover .cover{transform:none}}

/* Match the original 512 × 640 artwork, with no inset frame. */
#main .project a[href="/portfolio/academia-cv-reportagem-fotografica/"] .cover{aspect-ratio:4/5}

/* Service links: brand gesture instead of an underline. */
.service .more{display:inline-flex;align-items:center;gap:14px;position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .35s}
.service:hover .more,.service:focus-visible .more{text-decoration:none;transform:translateX(5px)}
.service .more .brand-mark{transition:transform .45s cubic-bezier(.2,.8,.2,1);transform-origin:center}
.service:hover .more .brand-mark,.service:focus-visible .more .brand-mark{transform:translateX(5px) scale(1.22)}
.service:hover .more .brand-mark circle:first-child,.service:focus-visible .more .brand-mark circle:first-child{stroke-dasharray:57;animation:service-ring-draw .65s ease both}
.service .more .brand-mark circle:last-child{transform-box:fill-box;transform-origin:center}
.service:hover .more .brand-mark circle:last-child,.service:focus-visible .more .brand-mark circle:last-child{animation:service-point-bounce .65s ease both}
@keyframes service-ring-draw{from{stroke-dashoffset:57}to{stroke-dashoffset:0}}
@keyframes service-point-bounce{0%{transform:scale(1)}35%{transform:translateY(-3px) scale(.65)}70%{transform:translateY(1px) scale(1.3)}100%{transform:scale(1)}}
#main .project a[href="/portfolio/landsea-identidade-visual/"] .cover{aspect-ratio:4/5}
@media(prefers-reduced-motion:reduce){.service .more,.service .more .brand-mark{transition:none}.service:hover .more,.service:focus-visible .more,.service:hover .more .brand-mark,.service:focus-visible .more .brand-mark{transform:none}.service .more .brand-mark circle{animation:none!important}}

/* Softer contact typography and editorial project pages. */
.contact-links .contact-item a{font-family:Barlow,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}
.project-intro{background:var(--mist);padding:46px 0 65px;overflow:hidden}.project-intro-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:35px 0 24px}.project-intro-top .eyebrow{font:500 12px/1.5 Barlow,Arial,sans-serif;letter-spacing:.15em;margin:0}.project-intro-mark .brand-mark{width:54px;height:54px}.project-intro h1{font-family:Barlow,Arial,sans-serif;text-transform:none;font-weight:400;font-size:clamp(30px,4.8vw,64px);line-height:1.12;letter-spacing:-.02em;max-width:920px;margin-bottom:30px}.project-summary{font-size:19px;line-height:1.7;max-width:790px;margin-bottom:25px}.project-service-link{display:inline-flex;align-items:center;gap:14px;font-size:15px;text-decoration:none}.project-service-link .brand-mark{width:26px;height:26px;transition:transform .3s}.project-service-link:hover .brand-mark{transform:scale(1.2)}.project-showcase{padding:60px 0 80px}.project-main-image{margin:0 0 40px;border-radius:24px;overflow:hidden;background:#edf1f1}.project-main-image img{width:100%;height:auto;max-height:850px;object-fit:contain}.project-showcase .video-box{margin:0 0 45px;border-radius:24px;overflow:hidden}.project-gallery{gap:28px}.project-gallery img{height:auto;max-height:650px;border-radius:16px;object-fit:contain}.project-next-step{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:45px;border-radius:28px;background:var(--mist);margin:65px 0 40px}.project-next-step .eyebrow{font:500 12px/1.5 Barlow,Arial,sans-serif;letter-spacing:.12em}.project-next-step h2{font-size:clamp(30px,3.5vw,48px);font-weight:400;margin:0}.project-next-step .button{border-radius:40px;white-space:nowrap}.project-pagination{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--line);padding-top:28px;font-size:15px}.project-pagination a{display:flex;align-items:center;gap:16px;text-decoration:none;max-width:60%}.project-pagination a:last-child{flex-wrap:wrap;justify-content:flex-end;text-align:right}.project-pagination span{display:block;width:100%;font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.project-pagination .brand-mark{width:26px;height:26px;flex-shrink:0}.project-main-image img{animation:project-image-arrive .7s ease both}@keyframes project-image-arrive{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.contact-links .contact-item a{font-size:17px}.project-intro{padding:30px 0 42px}.project-intro h1{font-size:34px}.project-summary{font-size:17px}.project-intro-mark .brand-mark{width:38px;height:38px}.project-showcase{padding:35px 0 50px}.project-next-step{display:block;padding:26px;margin-top:40px}.project-next-step .button{margin-top:25px;white-space:normal;font-size:18px}.project-pagination{gap:24px;font-size:14px}.project-pagination a{max-width:55%}.project-main-image{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.project-main-image img{animation:none}.project-service-link .brand-mark{transition:none}}

/* Compact project media with a clear gallery rhythm. */
.project-showcase{padding-top:38px}.project-main-image{width:fit-content;max-width:100%;margin:0 auto 38px;background:transparent;border-radius:20px;box-shadow:0 15px 35px #30393a12}.project-main-image img{width:auto;max-width:100%;height:auto;max-height:500px;margin:auto;object-fit:contain}.project-showcase .video-box{max-width:850px;margin:0 auto 40px}.project-gallery{max-width:940px;margin:40px auto;gap:24px}.project-gallery img{width:100%;height:300px;max-height:300px;object-fit:contain;background:#f5f7f6;border-radius:14px}.project-next-step{max-width:1040px;margin-left:auto;margin-right:auto}.project-pagination{max-width:1040px;margin:auto}
@media(max-width:600px){.project-main-image img{max-height:360px}.project-main-image{margin-bottom:28px;border-radius:14px}.project-gallery img{height:auto;max-height:330px}.project-showcase{padding-top:28px}.project-gallery{gap:20px}}

.back-to-top{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));z-index:35;display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #ffffff70;border-radius:40px;background:var(--ink);color:#fff;box-shadow:0 5px 22px #30393a28;font:500 13px/1.2 Barlow,Arial,sans-serif;min-height:48px;min-width:48px;cursor:pointer;transition:transform .25s,background .25s}.back-to-top .brand-mark{width:22px;height:22px;margin:0;flex-shrink:0}.back-to-top:hover{transform:translateY(-4px);background:#4b6268}.back-to-top:focus-visible{outline:3px solid #658f97;outline-offset:4px}@media(max-width:600px){.back-to-top{right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));padding:12px 14px;min-height:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-to-top{transition:none}.back-to-top:hover{transform:none}}

/* Explicit brand colours override native blue controls on mobile. */
.header .menu-button{color:var(--ink);-webkit-text-fill-color:var(--ink);appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.header .menu-button .brand-mark{color:var(--ink)}#main-nav a,#main-nav a:visited{color:var(--ink)}
.project-website-action{text-align:center;margin:28px 0 45px}.project-website-action .button{border-radius:35px}
#main .project a[href="/portfolio/engecoop-logotipo/"] .cover{background:#111;aspect-ratio:1}#main .project a[href="/portfolio/engecoop-logotipo/"] .cover img{object-fit:contain;padding:26px}.project-main-image img[src$="engecoop-logotipo.png"]{background:#111;padding:30px;max-width:min(100%,560px)}
#main .project a[href="/portfolio/ovarnews-website/"] .cover{aspect-ratio:16/10}
#main .project a[href="/portfolio/engecoop-website/"] .cover{aspect-ratio:16/10}
#main .project a[href="/portfolio/landsea-website/"] .cover{aspect-ratio:16/10}
#main .project a[href="/portfolio/beenge-website/"] .cover{aspect-ratio:16/10}
#main .project a[href="/portfolio/tiagosousa-website/"] .cover{aspect-ratio:16/10}
#main .project a[href="/portfolio/getmarried-website/"] .cover{aspect-ratio:16/10}

/* A finite editorial selection, with server-rendered pagination. */
.portfolio-intro h1{font-size:clamp(60px,8vw,108px);margin:25px 0 36px}.portfolio-intro-grid{gap:48px}.portfolio-emblem{width:clamp(120px,15vw,205px)}.portfolio-showcase .portfolio-filter-row{margin-bottom:38px}.portfolio-page-summary{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px;border-top:1px solid var(--line);padding-top:28px}.portfolio-page-summary h2{font:400 clamp(25px,3vw,36px)/1.2 Barlow,Arial,sans-serif;text-transform:none;margin:0;letter-spacing:-.02em}.portfolio-page-summary p{font-size:13px;color:var(--muted);margin:0;white-space:nowrap}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 38px}.portfolio-grid .project:nth-child(n){grid-column:auto;margin-top:0}.portfolio-grid .project a{padding-bottom:22px;border-bottom:1px solid var(--line)}.portfolio-grid .project:nth-child(n) .cover{border-radius:24px 8px 24px 8px}.portfolio-grid .project:nth-child(even) .cover{border-radius:8px 24px 8px 24px}.portfolio-grid .project h3{font-size:18px}.portfolio-grid .project .category{margin-top:18px}.portfolio-pages{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:50px 0 10px;padding-top:28px;border-top:1px solid var(--line)}.portfolio-pages a{text-decoration:none}.page-number{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%;font:500 15px/1 Barlow,Arial,sans-serif;background:#edf2f2;border:1px solid transparent}.page-number.current{background:var(--ink);color:white}.page-number:hover{border-color:var(--ink)}.page-direction{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 17px;font-size:14px;border-radius:30px;background:var(--mist)}.page-direction.disabled{opacity:.45;background:transparent}.page-direction .brand-mark{width:22px;height:22px}.page-gap{padding:0 5px}.portfolio-outro{margin-top:45px}
@media(max-width:600px){.portfolio-intro h1{font-size:clamp(54px,12vw,72px)}.portfolio-grid{grid-template-columns:1fr;gap:30px}.portfolio-page-summary{display:block;margin-bottom:28px}.portfolio-page-summary h2{font-size:25px}.portfolio-page-summary p{margin-top:12px}.portfolio-pages{gap:6px;margin-top:35px}.page-direction{padding:10px 12px}.page-number{min-width:40px;min-height:44px}.portfolio-grid .project:nth-child(n) .cover{border-radius:18px}}

/* Compact, balanced footer contacts and social links. */
.footer .footer-label{font-size:11px;letter-spacing:1.4px;margin-bottom:18px}
.footer .contact-links{gap:14px}
.footer .contact-item{gap:11px;align-items:center}
.footer .contact-icon{width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:transparent;border:1px solid #b6c9cd66;color:#d5dfe1}
.footer .contact-glyph{width:16px;height:16px}
.footer .contact-item a,.footer .contact-links .contact-item a{font:400 15px/1.45 Barlow,Arial,sans-serif;letter-spacing:0}
.footer .contact-item .help{font-size:10px;line-height:1.5;margin-top:4px}
.footer .footer-address{font-size:12px;line-height:1.7;margin-top:18px;padding-left:39px;max-width:330px}
.footer-social>a{font:400 15px/1.45 Barlow,Arial,sans-serif;letter-spacing:.025em;text-transform:none;padding:9px 0;max-width:180px;min-height:40px;border-bottom-color:#d5dfe126}
.footer-social .brand-mark{width:16px;height:16px;flex:0 0 16px}
@media(max-width:600px){.footer .contact-item a,.footer .contact-links .contact-item a{font-size:15px}.footer-social>a{max-width:240px}.footer-grid{gap:28px}}

/* Keep the navigation contact label readable on its dark hover background. */
#main-nav a.nav-contact:hover,#main-nav a.nav-contact:focus-visible{background:var(--ink);color:#fff;-webkit-text-fill-color:#fff}
#main-nav a.nav-contact:hover .brand-mark,#main-nav a.nav-contact:focus-visible .brand-mark{color:#fff}
.button.light:hover,.button.light:focus-visible{background:var(--ink);color:#fff}

.service-detail-process{margin-top:64px}.service-delivery{max-width:820px;margin:60px 0;padding:32px;background:var(--mist);border-radius:24px}.service-delivery h2{font-size:32px;font-weight:500}.service-detail .faq{max-width:900px}.project-case{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1040px;margin:0 auto 38px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-case .eyebrow{font:500 11px/1.5 Barlow,sans-serif;letter-spacing:.08em;margin-bottom:9px}.project-case p{font-size:16px;margin:0}@media(max-width:600px){.project-case{grid-template-columns:1fr;gap:20px}.service-delivery{padding:24px}.service-detail-process{margin-top:40px}}
