/* Header: intentionally identical to the main page */
.portfolio-page{background:#111;color:#f7f5ef}
.portfolio-page .site-header{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 5vw;position:sticky;top:0;z-index:15;background:rgba(246,245,241,.84);backdrop-filter:blur(16px);border-bottom:1px solid rgba(17,17,17,.07);color:var(--ink)}
.portfolio-page .brand img{width:82px;height:auto;object-fit:contain}
.portfolio-page .nav{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--ink)}
.portfolio-page .nav a{color:var(--ink);opacity:.72;transition:.2s}
.portfolio-page .nav a:hover,.portfolio-page .nav a[aria-current="page"]{opacity:1}
.portfolio-page .header-cta{justify-self:end;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px;color:var(--ink)}
.portfolio-page .header-cta span{font-size:15px;margin-left:5px}
.portfolio-hero{min-height:calc(100vh - 82px);padding:7vw 7vw 8vw;display:flex;align-items:center;background:#111;overflow:hidden;position:relative}
.portfolio-hero:before{content:"";position:absolute;width:56vw;height:56vw;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-17vw;top:-18vw}
.portfolio-hero:after{content:"";position:absolute;width:38vw;height:38vw;border:1px solid rgba(238,115,147,.18);border-radius:50%;left:-20vw;bottom:-19vw}
.portfolio-hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:7vw;width:100%;align-items:center;position:relative;z-index:1}
.portfolio-hero-copy{max-width:760px;position:relative}
.eyebrow.light,.portfolio-page .section-kicker.light{color:#a9a5a0}
.portfolio-index{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#76716d;margin-top:70px}
.portfolio-hero h1{font-size:clamp(66px,9.5vw,146px);margin:18px 0 30px;color:#fff}
.portfolio-hero h1 em{color:var(--pink)}
.portfolio-hero-copy>p{max-width:600px;font-size:18px;line-height:1.65;color:#bab5ae}
.portfolio-text-link{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:8px}
.portfolio-hero-media{min-height:680px;position:relative}
.portfolio-hero-photo{position:absolute;overflow:hidden;background:#2a2a2a;box-shadow:0 32px 90px rgba(0,0,0,.35)}
.portfolio-hero-photo img{width:100%;height:100%;object-fit:cover}
.photo-main{width:60%;aspect-ratio:.78;right:4%;top:2%;transform:rotate(2.5deg)}
.photo-side{width:39%;aspect-ratio:.93;left:2%;bottom:7%;transform:rotate(-7deg)}
.floating-label{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;padding:17px 20px;background:var(--pink);color:#171717;text-transform:uppercase;letter-spacing:.13em;font-size:9px;transform:rotate(-3deg);box-shadow:0 18px 36px rgba(0,0,0,.22)}
.floating-label strong{font-family:var(--display);font-size:24px;text-transform:none;letter-spacing:-.03em;font-weight:500;line-height:1}
.portfolio-marquee{background:#f5c4d2;color:#161616;border-top:1px solid #2c2627;border-bottom:1px solid #2c2627;overflow:hidden}
.portfolio-marquee .marquee-track{color:#161616;animation-duration:31s}
.portfolio-marquee .marquee-track i{color:#111}
.portfolio-intro{background:#f5f2ec;color:#151515;padding-top:11vw;padding-bottom:11vw}
.portfolio-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;margin-top:35px}
.portfolio-bigline{display:flex;align-items:flex-end;gap:16px;font-size:clamp(80px,13vw,190px);line-height:.75;letter-spacing:-.08em;font-weight:600}
.portfolio-bigline span{font-size:11px;line-height:1.45;letter-spacing:.13em;text-transform:uppercase;color:#77716a;font-weight:700;margin-bottom:12px}
.portfolio-bigline.small{font-size:clamp(58px,8vw,110px);margin-top:75px}
.portfolio-intro-copy{padding-top:16px;max-width:650px}
.portfolio-intro-copy p{font-size:16px;color:#5c5852;line-height:1.7}
.portfolio-intro-copy .lead{font-family:var(--display);font-size:30px;line-height:1.25;color:#1c1a18;margin-top:0}
.experience{background:#171717;color:#fff;padding-top:10vw;padding-bottom:11vw;position:relative;overflow:hidden}
.experience:before{content:"FUSION";position:absolute;right:-3vw;top:6vw;font-size:18vw;font-weight:700;letter-spacing:-.08em;color:rgba(255,255,255,.025)}
.experience-top{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;position:relative;z-index:1}
.experience-top h2{font-size:clamp(52px,7vw,100px);line-height:.9;letter-spacing:-.065em;margin:0}
.experience-top h2 em{color:var(--pink)}
.experience-grid{display:grid;grid-template-columns:.35fr 1.65fr;gap:8vw;margin-top:70px;position:relative;z-index:1}
.experience-years{font-size:clamp(80px,12vw,170px);line-height:.75;font-weight:600;letter-spacing:-.08em}
.experience-years span{display:block;margin-top:16px;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.16em;color:#77736d}
.experience-copy>p{font-size:18px;line-height:1.65;color:#c5c1ba;max-width:700px;margin-top:0}
.experience-copy strong{color:#fff}
.experience-list{border-top:1px solid rgba(255,255,255,.14);margin-top:34px}
.experience-list div{display:grid;grid-template-columns:45px 1fr;gap:22px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px;color:#d0ccc5}
.experience-list span{font-family:var(--display);font-style:italic;color:var(--pink);font-size:22px}
.portfolio-services{background:#f5f2ec;color:#151515;padding-top:10vw;padding-bottom:12vw}
.portfolio-services .section-head{margin-bottom:55px}
.expertise-grid{display:grid;grid-template-columns:1fr 1fr}
.expertise-grid article{min-height:320px;border:1px solid rgba(17,17,17,.13);padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.expertise-grid article:nth-child(1),.expertise-grid article:nth-child(2){border-bottom:0}
.expertise-grid article:nth-child(1),.expertise-grid article:nth-child(3){border-right:0}
.expertise-grid article>span{font-size:10px;letter-spacing:.15em;color:#78736b}
.expertise-grid h3{font-size:clamp(34px,4vw,55px);line-height:.95;letter-spacing:-.055em;margin:15px 0 16px}
.expertise-grid p{max-width:520px;color:#625d57;font-size:14px;line-height:1.65;margin:0}
.expertise-grid .pink-card{background:var(--pink);border-color:var(--pink)}
.expertise-grid .pink-card p{color:#2c2325}
.work-section{background:#f5f2ec;color:#151515;padding-top:5vw;padding-bottom:12vw}
.work-head{align-items:end}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.filter-btn{appearance:none;border:1px solid rgba(17,17,17,.14);background:transparent;padding:10px 14px;border-radius:999px;font:700 10px var(--sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;color:#4e4944;transition:all .2s}
.filter-btn:hover,.filter-btn.is-active{background:#151515;color:#fff;border-color:#151515}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.work-card{grid-column:span 4}
.work-card.work-wide{grid-column:span 6}
.work-card.work-tall{grid-column:span 3}
.work-card.is-hidden{display:none}
.work-media{width:100%;aspect-ratio:1.08;border:0;padding:0;background:#ddd;cursor:pointer;position:relative;overflow:hidden;text-align:left}
.work-wide .work-media{aspect-ratio:1.33}
.work-tall .work-media{aspect-ratio:.78}
.work-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);filter:saturate(.96)}
.work-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0) 55%);opacity:.3;transition:.25s}
.work-media:hover img{transform:scale(1.045)}
.work-media:hover:after{opacity:.65}
.work-open{position:absolute;left:18px;bottom:18px;z-index:2;color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.14em;opacity:0;transform:translateY(6px);transition:.25s}
.work-open b{font-size:17px;margin-left:8px}
.work-media:hover .work-open,.work-media:focus-visible .work-open{opacity:1;transform:none}
.work-meta{padding:14px 2px 8px}
.work-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#8a847d}
.work-meta h3{font-size:24px;letter-spacing:-.04em;margin:8px 0 5px}
.work-meta p{margin:0;color:#68625b;font-size:13px;line-height:1.5}
.differentials{background:#151515;color:#fff;padding-top:10vw;padding-bottom:11vw;overflow:hidden}
.diff-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:30px}
.diff-head h2{font-size:clamp(50px,7vw,100px);line-height:.9;letter-spacing:-.065em;margin:0}.diff-head h2 em{color:var(--pink)}
.diff-head>span{font-size:12vw;line-height:.7;font-weight:700;letter-spacing:-.09em;color:rgba(255,255,255,.06)}
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid rgba(255,255,255,.13)}
.diff-grid div{padding:28px 22px 30px 0;border-bottom:1px solid rgba(255,255,255,.13);min-height:150px}
.diff-grid div:nth-child(3n+2),.diff-grid div:nth-child(3n+3){padding-left:25px;border-left:1px solid rgba(255,255,255,.13)}
.diff-grid span{font-size:9px;letter-spacing:.13em;color:var(--pink)}
.diff-grid h3{font-size:22px;line-height:1.1;letter-spacing:-.035em;max-width:320px;margin:22px 0 0}
.portfolio-contact{background:#f5f2ec;color:#151515;padding-top:10vw;padding-bottom:7vw}
.portfolio-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:center}
.portfolio-contact h2{font-size:clamp(58px,8vw,120px);line-height:.88;letter-spacing:-.07em;margin:20px 0 0}.portfolio-contact h2 em{color:#a33d5d}
.contact-links{border-top:1px solid rgba(17,17,17,.15)}
.contact-links a{display:grid;grid-template-columns:100px 1fr 20px;gap:15px;align-items:center;border-bottom:1px solid rgba(17,17,17,.15);padding:20px 0}
.contact-links a span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#7b756e}.contact-links a strong{font-size:15px}.contact-links a b{font-size:18px;font-weight:400;text-align:right}.contact-links a:hover strong{text-decoration:underline}
.company-strip{display:flex;justify-content:space-between;border-top:1px solid rgba(17,17,17,.15);margin-top:70px;padding-top:15px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#7c7771}
.portfolio-footer{background:#f5f2ec;color:#151515}
.portfolio-footer .footer-brand img{width:145px}
.project-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.project-modal.is-open{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.modal-panel{position:relative;z-index:1;width:min(1060px,100%);max-height:92vh;overflow:auto;background:#f5f2ec;color:#151515;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 40px 120px rgba(0,0,0,.4)}
.modal-image{min-height:470px;background:#ddd}.modal-image img{width:100%;height:100%;object-fit:cover}
.modal-copy{padding:55px;display:flex;flex-direction:column;justify-content:center}.modal-type{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#867f77}.modal-title{font-size:clamp(42px,4.4vw,72px);line-height:.92;letter-spacing:-.06em;margin:17px 0 20px}.modal-copy p{color:#6b655e;font-size:14px;line-height:1.65;margin:0 0 28px}.modal-close{position:absolute;right:15px;top:10px;border:0;background:rgba(17,17,17,.78);color:#fff;width:40px;height:40px;border-radius:50%;font-size:25px;cursor:pointer;z-index:3}

/* ===== AJUSTE: trabalhos com apenas foto1 e foto2 ===== */
.work-grid-minimal .work-card.work-wide{grid-column:span 6}
.work-grid-minimal{margin-top:30px}
.partnerships-block{margin-top:9vw;padding-top:7vw;border-top:1px solid rgba(17,17,17,.14)}
.partnerships-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:28px;align-items:end}
.partnerships-intro h3{font-size:clamp(42px,5.5vw,82px);line-height:.91;letter-spacing:-.06em;margin:0}.partnerships-intro h3 em{color:#a33d5d}
.partnerships-intro p{max-width:470px;color:#6b655e;line-height:1.65;margin:0}
.partnership-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(17,17,17,.14);margin-top:55px}
.partnership-grid div{padding:23px 18px 28px 0;min-height:150px;border-bottom:1px solid rgba(17,17,17,.14)}
.partnership-grid div:not(:nth-child(4n+1)){padding-left:22px;border-left:1px solid rgba(17,17,17,.14)}
.partnership-grid span{display:block;font-size:9px;letter-spacing:.14em;color:#a33d5d;margin-bottom:26px}.partnership-grid strong{display:block;font-size:24px;letter-spacing:-.035em;margin-bottom:7px}.partnership-grid p{margin:0;color:#6b655e;font-size:12px;line-height:1.5}
.social-metric{margin:7px 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#8a847d}.social-metric b{color:#151515;font-size:11px}

@media(max-width:960px){.portfolio-hero-grid,.portfolio-intro-grid,.portfolio-contact-grid{grid-template-columns:1fr}.portfolio-hero-media{height:620px;min-height:620px;margin-top:15px}.experience-grid{grid-template-columns:1fr;gap:50px}.portfolio-services .section-head,.work-head{display:block}.filter-row{justify-content:flex-start;margin-top:24px}.work-card,.work-card.work-wide,.work-card.work-tall{grid-column:span 6}.work-grid-minimal .work-card.work-wide{grid-column:span 6}.diff-grid{grid-template-columns:1fr 1fr}.diff-grid div:nth-child(3n+2),.diff-grid div:nth-child(3n+3){padding-left:0;border-left:0}.diff-grid div:nth-child(2n){padding-left:25px;border-left:1px solid rgba(255,255,255,.13)}.modal-panel{grid-template-columns:1fr}.modal-image{min-height:320px;max-height:48vh}}
@media(max-width:640px){.portfolio-hero{padding-top:16vw}.portfolio-hero h1{font-size:17vw}.portfolio-index{margin-top:48px}.portfolio-hero-copy>p{font-size:16px}.portfolio-hero-media{height:500px;min-height:500px}.photo-main{width:62%;right:3%}.photo-side{width:43%;left:0}.floating-label{right:2%;padding:12px 14px}.floating-label strong{font-size:18px}.portfolio-intro,.experience,.portfolio-services,.work-section,.differentials,.portfolio-contact{padding-top:18vw;padding-bottom:18vw}.portfolio-bigline{font-size:25vw}.portfolio-bigline.small{font-size:18vw;margin-top:55px}.portfolio-bigline span{font-size:9px;max-width:100px}.portfolio-intro-copy .lead{font-size:24px}.expertise-grid{grid-template-columns:1fr}.expertise-grid article:nth-child(1),.expertise-grid article:nth-child(2),.expertise-grid article:nth-child(3){border-bottom:0;border-right:1px solid rgba(17,17,17,.13)}.expertise-grid article{min-height:300px}.work-grid{grid-template-columns:1fr 1fr;gap:10px}.work-card,.work-card.work-wide,.work-card.work-tall{grid-column:span 1}.work-card.work-wide:nth-child(1),.work-card.work-wide:nth-child(9){grid-column:span 2}.work-meta h3{font-size:20px}.work-meta p{font-size:12px}.work-open{display:none}.diff-grid{grid-template-columns:1fr}.diff-grid div:nth-child(n){padding-left:0;border-left:0}.contact-links a{grid-template-columns:80px 1fr 15px}.company-strip{display:block;line-height:1.8}.modal-copy{padding:32px}.modal-title{font-size:42px}}

@media(max-width:960px){.portfolio-page .site-header{grid-template-columns:1fr auto}.portfolio-page .nav{display:none}}
@media(max-width:640px){.portfolio-page .site-header{height:70px;padding:0 5.5vw}.portfolio-page .brand img{width:72px}.portfolio-page .header-cta{font-size:9px}}
/* ===== ÍCONE HAMBÚRGUER ===== */
.menu-toggle-label {
  display: none; /* só aparece no mobile */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  padding: 4px;
  background: transparent;
  border: none;
}

.hamburger-line {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--ink); /* cor escura, igual ao texto */
  transition: transform .3s ease, opacity .3s ease;
  border-radius: 2px; /* levemente arredondado para suavizar */
}

/* Animação para "X" quando ativo */
#menu-toggle:checked ~ .menu-toggle-label .hamburger-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
#menu-toggle:checked ~ .menu-toggle-label .hamburger-line:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked ~ .menu-toggle-label .hamburger-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ===== MENU MOBILE ===== */
@media (max-width: 960px) {
  .menu-toggle-label {
    display: flex;
    justify-self: end;
    order: 2; /* coloca ao lado do CTA desktop (que será escondido) */
  }

  /* Esconde o CTA do desktop no mobile */
  .header-cta {
    display: none;
  }

  /* Ajuste do grid do header */
  .site-header {
    grid-template-columns: auto 1fr auto auto;
    gap: 12px;
  }

  /* Nav padrão: escondido, vira dropdown */
  .nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(246, 245, 241, 0.98);
    backdrop-filter: blur(16px);
    flex-direction: column;
    padding: 20px 5vw 30px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.07);
    gap: 16px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    z-index: 20;
  }

  .nav a {
    font-size: 14px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.07);
    opacity: 1;
    text-align: left;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .nav a:last-child {
    border-bottom: 0;
  }

  /* Estilo especial para o CTA dentro do menu */
  .nav-cta {
    color: var(--pink) !important;
    border-bottom: 1px solid var(--pink) !important;
    padding-bottom: 6px !important;
    margin-top: 8px;
    font-weight: 700;
  }
  .nav-cta span {
    font-size: 18px;
    margin-left: 5px;
  }

  /* Exibe o nav quando checkbox está marcado */
  #menu-toggle:checked ~ .nav {
    display: flex;
  }
}

@media (max-width: 640px) {
  .menu-toggle-label {
    width: 26px;
    height: 26px;
  }
  .hamburger-line {
    width: 20px;
    height: 2px;
  }
  .nav a {
    font-size: 13px;
    padding: 12px 0;
  }
}
@media (min-width: 768px) {
  .nav-cta {
    display: none;
  }
}

/* ===== TRABALHOS + PRESENÇA PESSOAL ===== */
.work-section{position:relative;overflow:hidden}
.work-section:before{content:'TRABALHOS';position:absolute;right:-4vw;top:3vw;font-size:13vw;font-weight:700;letter-spacing:-.09em;color:rgba(17,17,17,.035);pointer-events:none}
.work-head,.work-intro,.work-grid,.social-proof{position:relative;z-index:1}
.work-intro{max-width:760px;color:#68625b;font-size:16px;line-height:1.65;margin:0 0 48px}
.social-proof{margin-top:90px;padding-top:75px;border-top:1px solid rgba(17,17,17,.14);display:grid;grid-template-columns:.9fr 1.1fr;gap:55px 8vw}
.social-proof-copy h3{font-size:clamp(42px,5vw,72px);line-height:.92;letter-spacing:-.06em;margin:20px 0}
.social-proof-copy h3 em{color:#a33d5d}
.social-proof-copy p{max-width:480px;color:#68625b;font-size:14px;line-height:1.7}
.social-accounts{display:grid;gap:12px}
.social-account{display:grid;grid-template-columns:48px 1fr 20px;gap:16px;align-items:center;padding:22px 20px;background:#171717;color:#fff;transition:transform .25s ease,background .25s ease}
.social-account:hover{transform:translateX(5px);background:#242020}
.social-account.tiktok{background:#242020}
.social-icon{width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;font-size:22px}
.social-account small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#a9a29a;margin-bottom:5px}
.social-account strong{display:block;font-size:19px;letter-spacing:-.02em}
.social-account p{margin:6px 0 0;color:#aaa49d;font-size:12px;line-height:1.45}
.social-account>b{font-size:18px;font-weight:400}
.partnership-strip{grid-column:1/-1;margin-top:20px;padding-top:25px;border-top:1px solid rgba(17,17,17,.14)}
.partnership-strip>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#817a73;margin-bottom:16px}
.partnership-strip>div{display:flex;flex-wrap:wrap;gap:9px}
.partnership-strip b{border:1px solid rgba(17,17,17,.14);border-radius:999px;padding:9px 13px;font-size:10px;font-weight:700;color:#514c46;background:#fffdf9}
@media(max-width:960px){.social-proof{grid-template-columns:1fr;gap:35px}.partnership-strip{grid-column:auto}}
@media(max-width:640px){.work-intro{font-size:14px;margin-bottom:35px}.social-proof{margin-top:60px;padding-top:50px}.social-account{grid-template-columns:40px 1fr 15px;padding:17px 14px}.social-icon{width:36px;height:36px;font-size:19px}.social-account strong{font-size:16px}.partnership-strip b{font-size:9px;padding:8px 10px}}
