/**
 * MAUP manifest.
 * @maup-path: template-parts/sections/home/featured-projects/style.css
 * @maup-version: 1.34.0
 * @maup-mode: patch
 * @maup-role: Section module
 */
/* Module: featured-projects: estilos específicos deste módulo. */
  .project-card { position: relative; aspect-ratio: .92; overflow: hidden; border-radius: var(--radius-md); background: #151517; isolation: isolate; }
  .project-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease), filter 1s var(--ease); }
  .project-card-scrim { position: absolute; inset: 45% 0 0; background: linear-gradient(to bottom, transparent, rgba(0,0,0,.7)); }
  .project-card-meta { position: absolute; z-index: 2; left: clamp(20px, 3vw, 40px); right: clamp(20px, 3vw, 40px); bottom: clamp(20px, 3vw, 36px); display: grid; gap: 4px; }
  .project-card-meta .mono { margin-bottom: 7px; color: rgba(255,255,255,.65); }
  .project-card-meta strong { font-family: var(--font-display); font-size: clamp(1.5rem, 2.7vw, 2.7rem); font-weight: 400; letter-spacing: -.045em; }
  .project-card-meta small { color: rgba(255,255,255,.68); font-size: .85rem; }
  .project-card-arrow { position: absolute; z-index: 3; top: 24px; right: 24px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(0,0,0,.34); backdrop-filter: blur(12px); transform: translateY(4px) scale(.95); opacity: .8; transition: transform .35s var(--ease), background .35s var(--ease); }
  .project-card:hover img { transform: scale(1.045); }
  .project-card:hover .project-card-arrow, .project-card:focus-visible .project-card-arrow { transform: translateY(0) scale(1); background: rgba(0,0,0,.56); }
  @media (max-width: 700px) {
  .project-card { aspect-ratio: 4 / 3; }
  }
  .project-card img { filter: saturate(.94) contrast(1.02); }
  .project-card:hover img { filter: saturate(1.04) contrast(1.04); }
  .horizontal-projects { position: relative; background: var(--bg); }
  .horizontal-projects-sticky { position: sticky; top: 0; height: 100vh; min-height: 650px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; align-content: center; padding-top: calc(var(--header-h) + 22px); }
  .horizontal-projects-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 22px; }
  .text-link { color: #b9b9be; font-size: .86rem; transition: color .25s ease; }
  .text-link:hover { color: #fff; }
  .horizontal-projects-viewport { min-height: 0; overflow: hidden; display: flex; align-items: center; }
  .horizontal-projects-track { width: max-content; display: flex; gap: clamp(14px,2vw,28px); padding: 0 max(var(--gutter), calc((100vw - var(--container))/2 + var(--gutter))) 6vh; will-change: transform; }
  .project-card--horizontal { flex: 0 0 min(72vw, 860px); width: min(72vw,860px); height: min(72vh,700px); aspect-ratio: auto; }
  .project-placeholder { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; transition: transform 1s var(--ease); }
  .project-placeholder::before, .project-placeholder::after { content:""; position:absolute; border-radius: 999px; filter: blur(1px); }
  .project-placeholder::before { width: 56%; aspect-ratio:1; background: rgba(255,255,255,.08); transform: translate(-26%,-10%); }
  .project-placeholder::after { width: 36%; aspect-ratio:1; border: 1px solid rgba(255,255,255,.18); transform: translate(50%,22%); }
  .project-placeholder i { position: relative; z-index:2; font: 500 .75rem/1 var(--font-mono); letter-spacing:.12em; color:rgba(255,255,255,.58); font-style:normal; }
  .project-placeholder--01 { background: radial-gradient(circle at 70% 30%, rgba(101,213,255,.34), transparent 34%), #111923; }
  .project-placeholder--02 { background: radial-gradient(circle at 72% 28%, rgba(255,111,89,.36), transparent 36%), #1b1112; }
  .project-placeholder--03 { background: radial-gradient(circle at 65% 35%, rgba(124,196,143,.34), transparent 34%), #111915; }
  .project-placeholder--04 { background: radial-gradient(circle at 68% 30%, rgba(215,185,120,.30), transparent 36%), #181610; }
  .project-card--horizontal:hover .project-placeholder { transform: scale(1.035); }
  .project-more-card { flex: 0 0 min(34vw,420px); width:min(34vw,420px); height:min(72vh,700px); display:flex; flex-direction:column; justify-content:space-between; padding:clamp(28px,3vw,46px); border-radius:var(--radius-md); background:#efefe9; color:#0a0a0b; }
  .project-more-card strong { max-width:300px; font:300 clamp(2.4rem,4vw,4.7rem)/.98 var(--font-display); letter-spacing:-.06em; }
  .project-more-card .mono { color:#69696e; }
  .project-more-card-arrow { align-self:flex-end; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#d9d9d3; font-size:1.4rem; }
  @media (max-width: 760px) {
  .horizontal-projects { height:auto !important; padding:80px 0 30px; }
  .horizontal-projects-sticky { position:relative; height:auto; min-height:0; padding-top:0; overflow:visible; }
  .horizontal-projects-head { align-items:flex-end; }
  .horizontal-projects-viewport { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .horizontal-projects-viewport::-webkit-scrollbar{display:none}
  .horizontal-projects-track { transform:none !important; padding:0 20px 20px; }
  .project-card--horizontal { flex-basis:86vw; width:86vw; height:min(68vh,600px); scroll-snap-align:center; }
  .project-more-card { flex-basis:72vw; width:72vw; height:min(68vh,600px); scroll-snap-align:center; }
  }
  .project-placeholder i { color:rgba(255,255,255,.35); letter-spacing:.14em; }
  .project-card:hover .project-card-arrow,.project-card:focus-visible .project-card-arrow{transform:translateY(0) scale(1) rotate(45deg)!important}
  .project-more-card:hover .project-more-card-arrow,.project-more-card:focus-visible .project-more-card-arrow{transform:rotate(45deg)}
  .featured-project-clone{display:none}
  @media (max-width:1024px) {
  .horizontal-projects{height:auto!important;padding:70px 0 44px!important}
  .horizontal-projects-sticky{position:relative!important;height:auto!important;min-height:0!important;padding-top:0!important;overflow:visible!important}
  .horizontal-projects-viewport{overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:none!important;scrollbar-width:none;touch-action:pan-y}
  .horizontal-projects-viewport::-webkit-scrollbar{display:none}
  .horizontal-projects-viewport.is-dragging{cursor:grabbing!important}
  .horizontal-projects-track{transform:none!important;padding:0 20px 18px!important}
  .featured-project-clone{display:flex}
  .project-card.project-card--horizontal{display:block;flex:0 0 min(78vw,760px)!important;width:min(78vw,760px)!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:4 / 3!important}
  .project-card-scrim{inset:30% 0 0!important;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.20) 18%,rgba(0,0,0,.72) 58%,rgba(0,0,0,.94) 100%)!important}
  .project-card-meta{text-shadow:0 2px 18px rgba(0,0,0,.34)}
  .project-more-card{flex-basis:min(46vw,430px)!important}
  }
  .project-card img,.project-card svg,.project-placeholder,.project-marquee-card img{
    -webkit-user-drag:none!important;
    user-select:none!important;
    pointer-events:none;
  }
  .horizontal-projects-head{justify-content:flex-end!important}
  @media (min-width:1025px) {
  .horizontal-projects {
      height:auto !important;
      min-height:100svh;
      padding:0 !important;
      overflow:clip;
    }
  .horizontal-projects-sticky {
      position:relative !important;
      top:auto !important;
      height:100svh !important;
      min-height:0 !important;
      overflow:hidden !important;
      display:grid !important;
      grid-template-rows:auto minmax(0,1fr) !important;
      align-content:stretch !important;
      padding-top:calc(var(--header-h) + clamp(10px,2vh,22px)) !important;
      padding-bottom:clamp(16px,3vh,34px) !important;
    }
  .horizontal-projects-head {
      min-height:0;
      padding-bottom:clamp(10px,2vh,22px) !important;
    }
  .horizontal-projects-viewport {
      min-height:0 !important;
      height:100%;
      overflow:hidden !important;
      display:flex;
      align-items:stretch !important;
    }
  .horizontal-projects-track {
      height:100%;
      min-height:0;
      align-items:center;
      padding-top:0 !important;
      padding-bottom:0 !important;
      will-change:transform;
    }
  .project-card--horizontal,
    .project-more-card {
      height:min(100%,700px) !important;
      max-height:100% !important;
      align-self:center;
    }
  }
  @media (min-width:1025px) and (max-height:800px) {
  .horizontal-projects-sticky {
      padding-top:calc(var(--header-h) + 8px) !important;
      padding-bottom:12px !important;
    }
  .horizontal-projects-head { padding-bottom:8px !important; }
  .project-card--horizontal {
      flex-basis:min(68vw,820px) !important;
      width:min(68vw,820px) !important;
    }
  .project-card-meta {
      left:clamp(18px,2.4vw,34px);
      right:clamp(18px,2.4vw,34px);
      bottom:clamp(18px,2.4vh,30px);
    }
  }
  @media (min-width:1025px) and (max-height:680px) {
  .horizontal-projects-sticky {
      padding-top:calc(var(--header-h) + 4px) !important;
      padding-bottom:8px !important;
    }
  .horizontal-projects-head { padding-bottom:6px !important; }
  .project-card--horizontal {
      flex-basis:min(64vw,760px) !important;
      width:min(64vw,760px) !important;
    }
  .project-card-meta strong { font-size:clamp(1.35rem,2.3vw,2.35rem); }
  .project-card-meta small { font-size:.78rem; }
  }
  @media (min-width:1025px) {
  .horizontal-projects-sticky{
      padding-bottom:var(--bottom-blur-safe)!important;
    }
  .horizontal-projects-viewport{
      align-items:stretch!important;
    }
  .project-card--horizontal,.project-more-card{
      height:min(100%,660px)!important;
    }
  .project-card-meta{
      bottom:clamp(28px,4.2vh,46px)!important;
    }
  .project-more-card{
      padding-bottom:clamp(34px,5vh,58px)!important;
    }
  }
  @media (min-width:1025px) and (max-height:800px) {
  .project-card--horizontal,.project-more-card{height:100%!important}
  .project-card-meta{bottom:clamp(24px,3.8vh,36px)!important}
  }
  @media (min-width:1025px) and (max-height:680px) {
  .horizontal-projects-sticky{padding-top:calc(var(--header-h) + 2px)!important}
  .project-card-meta{bottom:24px!important}
  }
  .button:hover .ui-arrow--right,.button:focus-visible .ui-arrow--right,.text-link:hover .ui-arrow--right{transform:translate3d(3px,0,0)}
  .project-more-card-arrow svg{width:24px;height:24px}
  .project-card:hover .project-card-arrow,.project-card:focus-visible .project-card-arrow{transform:translate3d(2px,-2px,0) scale(1)!important}
  .project-more-card:hover .project-more-card-arrow,.project-more-card:focus-visible .project-more-card-arrow{transform:translate3d(3px,0,0)!important}
  /* Projetos destacados: proporcao consistente em todas as larguras. */
  .project-card--horizontal{aspect-ratio:4 / 3!important;height:auto!important;max-height:none!important}
  @media (max-width:1024px){
    .project-card--horizontal{height:auto!important;aspect-ratio:4 / 3!important}
  }

/* Mobile contract: featured project cards are always exact 4:3. */
@media (max-width:760px){
  .horizontal-projects-track{align-items:flex-start!important}
  .project-card.project-card--horizontal{
    flex:0 0 86vw!important;
    width:86vw!important;
    height:64.5vw!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:4 / 3!important;
  }
  .project-card.project-card--horizontal>img,
  .project-card.project-card--horizontal>.project-cover{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

/* v1.4.0 final responsive geometry: no vh height can override the 4:3 card contract. */
@media (max-width:1024px){
  .horizontal-projects-track{align-items:flex-start!important}
  .project-card.project-card--horizontal{
    flex:0 0 min(86vw,760px)!important;
    width:min(86vw,760px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:4 / 3!important;
  }
  .project-card.project-card--horizontal>img,
  .project-card.project-card--horizontal>.project-cover{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}
@media (max-width:760px){
  .project-card.project-card--horizontal{
    flex-basis:86vw!important;
    width:86vw!important;
    height:64.5vw!important;
  }
}


/* v1.34.0: mobile cards use a portrait-friendly 4:5 frame and optional project portrait cover. */
.project-cover-picture{display:block;width:100%;height:100%}
.project-cover-picture>.project-cover{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:760px){
  .horizontal-projects-track{align-items:flex-start!important}
  .project-card.project-card--horizontal,
  .project-more-card{
    flex:0 0 86vw!important;
    width:86vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:4 / 5!important;
    scroll-snap-align:center;
  }
  .project-card.project-card--horizontal>.project-cover-picture,
  .project-card.project-card--horizontal>img,
  .project-card.project-card--horizontal>.project-cover{
    width:100%!important;
    height:100%!important;
  }
  .project-card.project-card--horizontal .project-cover{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .project-more-card{
    padding:clamp(28px,8vw,38px)!important;
  }
  .project-more-card strong{
    max-width:100%;
    font-size:clamp(2.35rem,11vw,3.8rem);
  }
}
