/* Local content proposal: reuse the approved portfolio identity and hero. */
.pf-page .vv-section:not(.pf-hero) { padding-block: clamp(30px, 3vw, 44px); }
.pf-work-heading { margin-bottom: 28px; }
.pf-work-heading h2 { margin: 0; }
.pf-work-heading > p { margin: 16px 0 0; color: var(--ink-quiet); font-size: 17px; }
.pf-proof-cta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--edge-strong); }
.pf-proof-cta p { margin: 0; font: 30px/1.2 var(--editorial-face); }
.pf-draft-services .pf-offer-grid { align-items: start; }
.pf-draft-services .pf-offer-grid > div:last-child { padding-top: 0; }
.pf-service-list { display: grid; gap: 24px; }
.pf-service-list h3 { font: 400 28px/1.2 var(--editorial-face); }
.pf-draft-services .pf-text-link { margin-top: 16px; }
.pf-approach h2 { margin: 0; }
.pf-contact-option > svg { flex-shrink: 0; width: 20px; height: 20px; color: var(--light); }
.pf-draft-process-note { margin: 28px 0 0; max-width: 65ch; font-size: 16px; color: var(--ink-quiet); }
.pf-selected-feature { display: grid; grid-template-columns: 1.85fr 1fr; gap: 42px; align-items: center; }
.pf-selected-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--edge-strong); }
.pf-selected-example { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 26px; align-items: start; }
.pf-selected-example h3 { font-size: 30px; }
.pf-selected-example .pf-case-media { width: 100%; }
.pf-selected-example .pf-case-label { margin-bottom: 14px; }
.pf-selected-example .pf-result { margin-top: 20px; padding-top: 16px; }
.pf-selected-example .pf-result strong { font-size: 40px; }
.pf-selected-example .pf-result span { font-size: 14px; }
.pf-selected-work .pf-selected-context { margin-top: 16px; color: var(--ink-quiet); font-size: 13px; }
.pf-case-media .pf-preview-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; }
.pf-case-media .pf-preview-icon[hidden] { display: none; }
.pf-portfolio-link { font-size: 20px; }
@media (max-width: 1100px) {
  .pf-selected-example { grid-template-columns: 1fr; }
  .pf-selected-example .pf-case-media { width: min(100%, 240px); }
}
@media (max-width: 949px) {
  .pf-selected-feature { grid-template-columns: 1fr; gap: 28px; }
  .pf-selected-pair { gap: 36px; }
}
@media (max-width: 698px) {
  .pf-proof-cta { align-items: flex-start; flex-direction: column; margin-top: 34px; }
  .pf-proof-cta p { font-size: 26px; }
  .pf-draft-services .pf-offer-grid { gap: 32px; }
  .pf-service-list h3 { font-size: 26px; }
  .pf-selected-pair { grid-template-columns: 1fr; gap: 38px; margin-top: 34px; padding-top: 34px; }
  .pf-selected-example { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 22px; }
  .pf-selected-example h3 { font-size: 28px; }
  .pf-selected-example .pf-case-label { font-size: 11px; letter-spacing: .03em; }
  .pf-selected-example .pf-case-media { align-self: start; }
  .pf-selected-example .pf-watch { left: 8px; bottom: 58px; padding: 8px; gap: 10px; font-size: 13px; }
  .pf-selected-example .pf-preview-icon { bottom: 8px; right: 8px; }
  .pf-selected-example .pf-result span { font-size: 14px; }
  .pf-selected-example .pf-proof-note { overflow-wrap: anywhere; }
}

/* Contact gestures animate only the icon artwork; labels and hit areas stay still. */
.pf-contact-icon { display: inline-grid; place-items: center; flex-shrink: 0; width: 20px; height: 20px; color: var(--light); }
.pf-contact-icon > :is(img, svg, span) { display: block; width: 20px; height: 20px; }
.pf-contact-icon-email svg { overflow: visible; }
.pf-mail-envelope { animation: var(--pf-mail-motion, none) 780ms cubic-bezier(.16, 1, .3, 1); }
.pf-mail-trails path { opacity: 0; stroke-dasharray: 1; stroke-dashoffset: 1; animation: var(--pf-trail-motion, none) 780ms ease-out; }
.pf-mail-trails path:nth-child(2) { animation-delay: 30ms; }
.pf-mail-trails path:nth-child(3) { animation-delay: 60ms; }
.pf-form-writing path { stroke-dasharray: 1; stroke-dashoffset: 0; animation: var(--pf-form-write-motion, none) 180ms ease-out both; }
.pf-form-writing path:nth-child(2) { animation-delay: 160ms; }
.pf-form-writing path:nth-child(3) { opacity: 0; animation-delay: 320ms; }
.pf-contact-icon-linkedin > * { grid-area: 1 / 1; }
.pf-linkedin-mark { animation: var(--pf-page-motion, none) 180ms ease-out forwards; }
.pf-contact-message { opacity: 0; transform-origin: center; animation: var(--pf-message-motion, none) 240ms cubic-bezier(.16, 1, .3, 1) 90ms forwards; }
.pf-message-words path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: var(--pf-write-motion, none) 180ms ease-out 250ms forwards; }
.pf-message-words path:nth-child(2) { animation-delay: 400ms; }
.pf-message-words path:nth-child(3) { animation-delay: 550ms; }
.pf-contact-icon-whatsapp > * { animation: var(--pf-chat-motion, none) 420ms ease-out; }
@keyframes pf-mail-send {
  0% { transform: translate(0, 0); opacity: 1; }
  35% { transform: translate(9px, -2px); opacity: 1; }
  55% { transform: translate(12px, -3px); opacity: 0; }
  65% { transform: translate(0, 0); opacity: 0; }
  100% { transform: translate(0, 0); opacity: 1; }
}
@keyframes pf-mail-trail {
  0%, 10% { opacity: 0; stroke-dashoffset: 1; }
  30% { opacity: .85; stroke-dashoffset: 0; }
  55% { opacity: 0; stroke-dashoffset: 0; }
  100% { opacity: 0; stroke-dashoffset: 1; }
}
@keyframes pf-page-hide { to { opacity: 0; transform: scale(.85); } }
@keyframes pf-message-open {
  from { opacity: 0; transform: scale(.85); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes pf-message-write { to { stroke-dashoffset: 0; } }
@keyframes pf-chat-greet {
  0%, 100% { transform: rotate(0); }
  30% { transform: rotate(-12deg); }
  65% { transform: rotate(8deg); }
}
@keyframes pf-form-write {
  from { stroke-dashoffset: 1; opacity: 1; }
  to { stroke-dashoffset: 0; opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  .pf-contact-option:focus-visible { --pf-mail-motion: pf-mail-send; --pf-trail-motion: pf-mail-trail; --pf-page-motion: pf-page-hide; --pf-message-motion: pf-message-open; --pf-write-motion: pf-message-write; --pf-chat-motion: pf-chat-greet; --pf-form-write-motion: pf-form-write; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .pf-contact-option:hover { --pf-mail-motion: pf-mail-send; --pf-trail-motion: pf-mail-trail; --pf-page-motion: pf-page-hide; --pf-message-motion: pf-message-open; --pf-write-motion: pf-message-write; --pf-chat-motion: pf-chat-greet; --pf-form-write-motion: pf-form-write; }
}
