/* Instagrafite — responsive layer shared by every canonical page */
picture.responsive-picture{display:contents}
img{max-width:100%}
.responsive-menu-toggle{display:none}

/* Shared conversion-focused footer used on Home, About and What We Do. */
.footer-contact{padding:88px 48px;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:80px;background:var(--black)}
.footer-contact__eyebrow{font-size:9px;letter-spacing:4px;color:var(--accent);text-transform:uppercase;margin-bottom:22px;display:flex;align-items:center;gap:12px}
.footer-contact__eyebrow::before{content:"";width:20px;height:1px;background:var(--accent)}
.footer-contact__title{font-family:'Bebas Neue',sans-serif;font-size:clamp(54px,7vw,96px);line-height:.9;color:var(--white);margin:0}
.footer-contact__title em{display:block;color:var(--accent);font-style:normal}
.footer-contact__intro{max-width:500px;margin:28px 0 22px;color:var(--gray);font-size:13px;line-height:1.8}
.footer-contact__email{color:var(--accent);font-size:13px;letter-spacing:2px;text-decoration:none}
.footer-contact__whatsapp{display:flex;align-items:center;gap:14px;background:#25d366;color:#fff;padding:16px 22px;text-decoration:none;margin-bottom:20px;transition:opacity .2s}
.footer-contact__whatsapp:hover{opacity:.88}
.footer-contact__whatsapp svg{width:22px;height:22px;flex:0 0 auto}
.footer-contact__whatsapp small{display:block;font-size:8px;letter-spacing:2px;text-transform:uppercase;opacity:.78;margin-bottom:2px}
.footer-contact__whatsapp strong{display:block;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;font-weight:400}
.footer-contact__form{display:flex;flex-direction:column;gap:12px}
.footer-contact__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.footer-contact__form input,.footer-contact__form select,.footer-contact__form textarea{box-sizing:border-box;width:100%;background:var(--off-black);border:1px solid var(--border);color:var(--white);font:400 13px/1.4 'DM Sans',sans-serif;padding:15px 16px;border-radius:0;appearance:none}
.footer-contact__form textarea{min-height:126px;resize:vertical}
.footer-contact__form input:focus,.footer-contact__form select:focus,.footer-contact__form textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}
.footer-contact__submit{border:1px solid var(--accent);background:var(--accent);color:var(--black);padding:16px 22px;font:500 10px/1 'DM Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.footer-contact__submit:hover{background:transparent;color:var(--accent)}
.footer-contact__submit:disabled{cursor:wait;opacity:.65}
.footer-contact__note,.footer-contact__status{font-size:10px;line-height:1.6;color:var(--gray);letter-spacing:.5px}
.footer-contact__status[data-state="success"]{color:#7bdc9b}
.footer-contact__status[data-state="error"]{color:#ef9a9a}
.hero-bg-img{
  background-image:url('/assets/images/header-work.jpg');
  background-image:image-set(
    url('/assets/optimized/images/header-work--jpg-1600.avif') type('image/avif'),
    url('/assets/optimized/images/header-work--jpg-1600.webp') type('image/webp'),
    url('/assets/images/header-work.jpg') type('image/jpeg')
  )!important;
}

@media (max-width:900px){
  html{scroll-padding-top:72px}
  body{cursor:auto}
  .cursor,.cursor-ring{display:none!important}

  nav:not(.bottom-nav){padding:14px 20px;min-height:68px;background:linear-gradient(to bottom,rgba(8,8,8,.98),rgba(8,8,8,.72),transparent)}
  nav:not(.bottom-nav)::before{display:none}
  nav:not(.bottom-nav) .nav-logo{display:flex!important;align-items:center;z-index:104}
  nav:not(.bottom-nav) .brand-wordmark{height:34px!important;width:auto!important}
  nav:not(.bottom-nav)>.language-switcher{margin-left:auto;z-index:104}
  .responsive-menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:10px;border:1px solid rgba(200,184,154,.34);background:rgba(8,8,8,.82);color:var(--accent);position:relative;z-index:104;cursor:pointer}
  .responsive-menu-toggle span,.responsive-menu-toggle::before,.responsive-menu-toggle::after{content:"";position:absolute;width:17px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}
  .responsive-menu-toggle::before{transform:translateY(-6px)}
  .responsive-menu-toggle::after{transform:translateY(6px)}
  nav[data-menu-open="true"] .responsive-menu-toggle span{opacity:0}
  nav[data-menu-open="true"] .responsive-menu-toggle::before{transform:rotate(45deg)}
  nav[data-menu-open="true"] .responsive-menu-toggle::after{transform:rotate(-45deg)}
  nav:not(.bottom-nav)>.nav-links{position:fixed;top:68px;left:16px;right:16px;display:flex;flex-direction:column;gap:0!important;padding:8px 20px;background:rgba(8,8,8,.98);border:1px solid var(--border);box-shadow:0 18px 50px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,visibility .2s,transform .2s;z-index:103}
  nav[data-menu-open="true"]>.nav-links{opacity:1;visibility:visible;transform:translateY(0)}
  nav:not(.bottom-nav)>.nav-links li{width:100%;border-bottom:1px solid var(--border)}
  nav:not(.bottom-nav)>.nav-links li:last-child{border-bottom:0}
  nav:not(.bottom-nav)>.nav-links a{display:block;padding:15px 0;font-size:11px}

  .hero{min-height:640px;height:auto}
  .hero:has(.hero-content){height:100svh;min-height:640px}
  .hero:not(:has(.hero-content)){padding-left:24px!important;padding-right:24px!important;padding-bottom:48px!important}
  .hero-content{padding:0 24px 36px!important}
  .hero-title{font-size:clamp(48px,15vw,86px)!important;overflow-wrap:anywhere}
  .hero-sub,.hero-intro{font-size:13px!important;line-height:1.7!important}
  .hero-scroll{display:none!important}
  .hero-year{right:20px!important;top:100px!important}
  .hero-meta{display:grid!important;grid-template-columns:1fr 1fr;gap:18px 24px!important;margin-top:22px!important}
  .hero-stats{display:grid!important;grid-template-columns:1fr 1fr}
  .hero-stat{padding:18px 20px!important;border-bottom:1px solid var(--border)}
  .hero-stat:nth-child(even){border-right:0}
  .hero-stat-val{font-size:30px!important}
  .hero-bg{font-size:55vw!important}
  .hero-bg-img{min-height:320px;background-position:center!important}
  .hero-bg-img{
    background-image:image-set(
      url('/assets/optimized/images/header-work--jpg-960.avif') type('image/avif'),
      url('/assets/optimized/images/header-work--jpg-960.webp') type('image/webp'),
      url('/assets/images/header-work.jpg') type('image/jpeg')
    )!important;
  }

  .awards{padding:24px 20px!important;display:grid!important;grid-template-columns:1fr 1fr;gap:20px 0!important}
  .award-item{padding:0 18px!important}
  .award-item:nth-child(odd){padding-left:0!important}
  .award-item:nth-child(even){border-right:0!important}

  .work,.sec,.pilares,.brands-sec,.presence,.results,.video-section,.quote-section,.offices,.contact-right{padding:56px 24px!important}
  .work-index .hero{display:flex!important;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:26px!important}
  .work-index .hero>div:not(.hero-bg-img){position:relative;z-index:1;width:100%}
  .work-index .hero-title{font-size:clamp(42px,11vw,58px)!important;line-height:.94!important;overflow-wrap:normal;word-break:normal;hyphens:none}
  .work-index .hero-desc{max-width:680px}
  .section-header{margin-bottom:24px!important;align-items:center!important}
  .project-featured,.proj-featured{grid-template-columns:1fr!important}
  .proj-row-3,.proj-row{grid-template-columns:1fr 1fr!important}
  .proj-img-main,.proj-img-sm,.proj-img-xs{aspect-ratio:4/3!important}

  .manifesto,.manifesto-body,.intro,.pilares-intro,.presence,.cta,.contact-grid{grid-template-columns:1fr!important;gap:34px!important}
  .manifesto{padding:64px 24px!important;margin-top:48px!important}
  .intro{padding:64px 24px!important}
  .intro-title,.manifesto-title,.manifesto-left h2,.presence-title,.pilares-title{font-size:clamp(38px,11vw,58px)!important}
  .intro-body,.manifesto-right p,.pilares-desc{font-size:14px!important;line-height:1.8!important}

  .stats,.numbers{padding:0 24px!important;grid-template-columns:1fr 1fr!important}
  .stat,.number-item{padding:32px 20px!important;border-bottom:1px solid var(--border)}
  .stat:nth-child(even),.number-item:nth-child(even){border-right:0!important}
  .stat-val,.number-val{font-size:48px!important}

  .clients{padding:28px 0!important}
  .clients-label{padding:0 24px}
  .clients-track{gap:44px!important}
  .cta{padding:64px 24px!important;display:grid!important;align-items:start!important}
  .cta-title{font-size:clamp(46px,14vw,76px)!important}
  .cta-btns{margin-top:24px!important}

  .credits{padding:0 24px 48px!important;grid-template-columns:1fr 1fr!important}
  .credit{padding:28px 18px 28px 0!important;border-bottom:1px solid var(--border)}
  .credit:nth-child(even){border-right:0!important;padding-left:18px!important}
  .full-img{height:60svh!important;min-height:320px!important}
  .video-section{padding-top:56px!important;padding-bottom:56px!important}
  .video-wrap iframe,.video-wrap video{width:100%!important;aspect-ratio:16/9;height:auto!important}
  .quote-section{padding-top:64px!important;padding-bottom:64px!important}
  .quote-text{font-size:clamp(28px,8vw,42px)!important}
  .results-label{margin-bottom:28px!important}
  .results-grid{grid-template-columns:1fr 1fr!important}
  .result-item{padding:32px 24px!important}
  .next-project{padding:56px 24px!important}
  body>.project-navigation{grid-template-columns:1fr!important}
  body>.project-navigation>a{padding:40px 24px!important;align-items:flex-start!important;text-align:left!important;border-right:0!important;border-bottom:1px solid var(--border)}

  .filters{padding-left:24px!important;padding-right:24px!important}
  .all-projects-header{padding:42px 24px 14px!important}
  .project-row{grid-template-columns:42px 1fr auto!important;padding:0 24px!important;min-height:72px!important}
  .proj-row-title{padding-right:14px!important}
  .proj-row-name{font-size:18px!important}
  .proj-row-meta{display:none!important}
  .proj-row-badge{font-size:7px!important}

  .timeline-item{grid-template-columns:82px 1fr!important;gap:22px!important}
  .team-grid{grid-template-columns:1fr 1fr!important}
  .awards-grid{grid-template-columns:1fr!important}
  .brands-grid{grid-template-columns:repeat(4,1fr)!important}
  .presence{align-items:start!important}

  .pilares-grid{grid-template-columns:1fr 1fr!important}
  .sec-grid,.sec-flip{grid-template-columns:1fr!important}
  .sec-text,.sec-flip .sec-text{padding:54px 24px!important}
  .sec-img,.sec-flip .sec-img{border:0!important;min-height:360px}
  .sec-img img{width:100%;height:100%;object-fit:cover}
  .deliv-list{grid-template-columns:1fr 1fr!important}
  .countries,.countries-list{grid-template-columns:1fr 1fr!important}

  .contact-right{padding-top:56px!important;padding-bottom:56px!important}
  .office-item{padding:22px 0!important}
  .form-row{grid-template-columns:1fr!important}
  .whatsapp-btn{padding:15px 20px!important}

  footer{padding:24px;gap:18px;flex-wrap:wrap}
  .footer-links{gap:18px;flex-wrap:wrap}
  .footer-links a{font-size:9px}
}

@media (max-width:600px){
  nav:not(.bottom-nav)>.language-switcher .language-switcher__button{width:38px;padding:0;justify-content:center}
  nav:not(.bottom-nav)>.language-switcher .language-switcher__current{display:none}
  .hero-meta{grid-template-columns:1fr 1fr!important}
  .hero-meta-value{font-size:12px!important}
  .awards{grid-template-columns:1fr!important}
  .award-item{border-right:0!important;border-bottom:1px solid var(--border);padding:0 0 18px!important}
  .proj-row-3,.proj-row{grid-template-columns:1fr!important}
  .stats,.numbers,.credits,.results-grid{grid-template-columns:1fr!important}
  .stat,.number-item,.credit{border-right:0!important;padding-left:0!important}
  .credit:nth-child(even){padding-left:0!important}
  .team-grid,.pilares-grid{grid-template-columns:1fr!important}
  .brands-grid{grid-template-columns:repeat(2,1fr)!important}
  .countries,.countries-list,.deliv-list{grid-template-columns:1fr!important}
  .project-row{grid-template-columns:34px 1fr!important;padding:0 20px!important}
  .proj-row-badge,.proj-row-arrow{display:none!important}
  .timeline-item{grid-template-columns:64px 1fr!important}
  .next-title{font-size:38px!important}
  .full-img{height:52svh!important;min-height:280px!important}
  .footer-contact{padding:64px 24px;grid-template-columns:1fr;gap:42px}
  .footer-contact__title{font-size:clamp(48px,15vw,70px)}
  .footer-contact__row{grid-template-columns:1fr}
  .footer-contact__whatsapp{padding:15px 18px}

  /* Project galleries: portraits/squares share a row; landscapes use the full width. */
  .project-media-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-flow:dense!important;columns:auto!important;column-gap:2px!important;row-gap:2px!important;background:var(--border)!important}
  .project-media-grid>.project-media-item{display:block!important;min-width:0!important;margin:0!important;height:auto!important;aspect-ratio:auto!important;background:var(--black)!important;overflow:hidden!important}
  .project-media-grid>.project-media-landscape{grid-column:1/-1!important}
  .project-media-grid>.project-media-item>picture.responsive-picture{display:block!important}
  .project-media-grid>.project-media-item img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
}

@media (hover:none){
  .proj-overlay{opacity:.25!important}
  .proj-view{opacity:1!important;transform:none!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
