/* ==========================================================================
   Paivoso — Tema "filme vencido"
   Paleta base: #9B60DC (texto/destaque) + #FCF5E8 (fundo)
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap");

:root{
  /* ---- papel ---- */
  --paper:#FCF5E8;
  --paper-2:#F7EDDC;
  --paper-3:#F0E3CC;
  --cream:#FCF5E8;

  /* ---- tinta (derivados do #9B60DC) ---- */
  --ink:#3E2A5C;
  --ink-2:#5B4880;
  --ink-3:#7D6E96;
  --violet:#9B60DC;
  --violet-deep:#6C3FA8;
  --violet-soft:#C7A8EF;

  /* ---- viragens de filme ---- */
  --leaf:#7E9070;
  --ember:#C8794A;

  --line:rgba(62,42,92,.18);
  --line-2:rgba(62,42,92,.34);
  --shadow:0 18px 40px -24px rgba(62,42,92,.45);

  --ease:cubic-bezier(.22,.61,.36,1);
  --max:1180px;
  --hand:"Caveat","Bradley Hand","Segoe Script",cursive;
  --sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;

  /* ---- camada analógica editorial (refs do cliente) ---- */
  --clay:#B24A2E;
  --clay-soft:#D98E70;
  --film:#2E1C46;
  --strip:#3A2713;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
::selection{background:var(--violet);color:var(--cream);}

/* ---------- grão de filme sobre a página inteira ---------- */
body::after{
  content:"";position:fixed;inset:-40%;z-index:200;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23n)' opacity='.42'/></svg>");
  opacity:.34;mix-blend-mode:multiply;
  animation:grain 1.1s steps(4) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}
  25%{transform:translate(-1.5%,1%)}
  50%{transform:translate(1%,-1.5%)}
  75%{transform:translate(-1%,-1%)}
  100%{transform:translate(0,0)}
}

/* ---------- genéricos ---------- */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 28px;}
.wrap--narrow{max-width:860px;}
.eyebrow{
  font-family:var(--hand);font-size:19px;line-height:1.1;
  letter-spacing:.01em;color:var(--violet);
}
.h1,.h2,.h3{font-weight:800;text-transform:uppercase;line-height:.95;letter-spacing:-.01em;margin:0;color:var(--ink);}
.h1{font-size:clamp(2.4rem,7vw,5rem);}
.h2{font-size:clamp(2rem,5.2vw,3.6rem);}
.h2--loose{line-height:1.08;}
.h3{font-size:clamp(1.4rem,3vw,2rem);}
.lead{color:var(--ink-2);max-width:52ch;font-size:15px;text-wrap:pretty;}
.lead--wide{max-width:none;}
.text-muted{color:var(--ink-3);}
.mt-0{margin-top:0;}
.mt-1{margin-top:14px;}
.mt-2{margin-top:26px;}
.mt-3{margin-top:42px;}
.mt-4{margin-top:64px;}
.center{text-align:center;}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--paper-3);padding:2px 6px;border-radius:3px;}

/* ---------- rabisco / anotação à mão ---------- */
.scrawl{
  font-family:var(--hand);color:var(--violet);line-height:1.05;
  font-size:clamp(1.15rem,1.9vw,1.5rem);pointer-events:none;
}
.scrawl--lg{font-size:clamp(1.4rem,2.6vw,2.1rem);}
.scrawl--ink{color:var(--ink-2);}
/* manuscrito que vai sendo escrito conforme o scroll (--write é definido no app.js) */
.scrawl[data-write]{--write:0;}
.scrawl[data-write].is-writable{
  -webkit-mask-image:linear-gradient(135deg,#000 0,#000 calc(var(--write) * 1%),transparent calc(var(--write) * 1% + 8%));
  mask-image:linear-gradient(135deg,#000 0,#000 calc(var(--write) * 1%),transparent calc(var(--write) * 1% + 8%));
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.mark{
  background-image:linear-gradient(var(--violet),var(--violet));
  background-repeat:no-repeat;background-size:100% 2px;background-position:0 96%;
  padding-bottom:3px;
}
.mark-u{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'><path d='M1 5.5C22 2.2 44 2.6 62 4.2 82 6 100 5.4 119 3.4' fill='none' stroke='%239B60DC' stroke-width='2' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-size:100% 8px;background-position:0 100%;
  padding-bottom:6px;
}
.circle-word{position:relative;display:inline-block;}
.circle-word::after{
  content:"";position:absolute;inset:-8px -12px;border:2px solid var(--violet);
  border-radius:50% 46% 52% 48%/54% 50% 48% 46%;transform:rotate(-2deg);
}
.circle-word--hand::after{
  inset:-.26em -.36em -.2em;border:.04em solid var(--clay);
  border-radius:49% 45% 53% 47%/57% 51% 45% 49%;transform:rotate(-2.5deg);
  filter:drop-shadow(0 0 1px rgba(252,245,232,.6));
}
.strike-word{position:relative;display:inline-block;}
.strike-word::after{
  content:"";position:absolute;left:-.1em;right:-.1em;top:54%;height:.055em;
  background:var(--clay);border-radius:999px;transform:rotate(-1.6deg);
  filter:drop-shadow(0 0 1px rgba(252,245,232,.6));
}
/* ---------- fita crepe (textura real: papel translúcido, rugas e borda rasgada) ---------- */
.tape,.polaroid__tape{
  position:absolute;z-index:6;
  background-image:url("img/fita-crepe.svg");
  background-size:100% 100%;background-repeat:no-repeat;
  filter:drop-shadow(0 1px 1px rgba(46,28,70,.18)) drop-shadow(0 3px 6px rgba(46,28,70,.14));
}
.tape{
  top:-14px;left:50%;width:108px;height:30px;
  transform:translateX(-50%) rotate(-3deg);
}

/* ---------- tratamento "filme vencido" nas mídias ---------- */
.hero__media img,.hero__video,
.grid-photos img,.masonry img,.card img,.work-card img,
.page-head__media img,.footer__media img,.hero__poster img{
  filter:sepia(.3) saturate(.68) contrast(.9) brightness(1.09) hue-rotate(-8deg);
}
.about-grid__media img{filter:none;}
.grid-photos figure:hover img,.masonry figure:hover img,
.card:hover img,.work-card:hover img{
  filter:sepia(.12) saturate(.95) contrast(.95) brightness(1.1) hue-rotate(-4deg);
}

/* ---------- marcas de corte (cantos) ---------- */
.grid-photos figure::before,.work-card::before,.about-grid__media::before{
  content:"";position:absolute;inset:-13px;pointer-events:none;z-index:4;
  background:
    linear-gradient(var(--line-2),var(--line-2)) left top/20px 1px no-repeat,
    linear-gradient(var(--line-2),var(--line-2)) left top/1px 20px no-repeat,
    linear-gradient(var(--line-2),var(--line-2)) right top/20px 1px no-repeat,
    linear-gradient(var(--line-2),var(--line-2)) right top/1px 20px no-repeat,
    linear-gradient(var(--line-2),var(--line-2)) left bottom/20px 1px no-repeat,
    linear-gradient(var(--line-2),var(--line-2)) left bottom/1px 20px no-repeat,
    linear-gradient(var(--line-2),var(--line-2)) right bottom/20px 1px no-repeat,
    linear-gradient(var(--line-2),var(--line-2)) right bottom/1px 20px no-repeat;
}

/* ---------- barra de progresso ---------- */
.progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:220;
  background:linear-gradient(90deg,var(--violet),var(--violet-deep));
}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
  padding:14px 26px;border:1.5px solid var(--ink);border-radius:2px;
  color:var(--ink);background:transparent;
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);
  white-space:nowrap;
}
.btn:hover{background:var(--violet);color:var(--cream);border-color:var(--violet);}
.btn--ghost{padding:0;border:0;letter-spacing:.16em;color:var(--violet);}
.btn--ghost:hover{background:none;color:var(--violet-deep);}
.btn--ghost:hover .arrow{transform:translateX(6px);}
.btn .arrow,.btn--solid .arrow{transition:transform .35s var(--ease);display:inline-block;}
.btn:hover .arrow{transform:translateX(6px);}

.link-underline{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  padding-bottom:8px;border-bottom:1.5px solid var(--line-2);color:var(--ink);
  transition:border-color .35s var(--ease),color .35s var(--ease);
}
.link-underline:hover{border-color:var(--violet);color:var(--violet);}

/* ---------- header ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s var(--ease),backdrop-filter .4s var(--ease),border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.header.is-stuck{
  background:rgba(252,245,232,.9);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom-color:var(--line);
}
.header__bar{display:flex;align-items:center;gap:26px;height:70px;max-width:var(--max);margin:0 auto;padding:0 28px;}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.01em;font-size:19px;flex:none;color:var(--ink);transition:color .35s var(--ease);}
.logo__mark{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--violet);position:relative;flex:none;}
.logo__mark::before,.logo__mark::after{content:"";position:absolute;inset:0;margin:auto;background:var(--violet);}
.logo__mark::before{width:1.5px;height:12px;}
.logo__mark::after{width:12px;height:1.5px;}

.nav{display:flex;gap:22px;margin-left:auto;}
.nav a{
  position:relative;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
  color:var(--ink-2);transition:color .3s var(--ease);padding:6px 0;white-space:nowrap;
}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--violet);transition:width .35s var(--ease);border-radius:2px;}
.nav a:hover,.nav a.is-active{color:var(--violet);}
.nav a:hover::after,.nav a.is-active::after{width:100%;}

.header__cta{display:flex;align-items:center;gap:16px;flex:none;}
.header__cta .order{font-family:var(--hand);font-size:19px;color:var(--violet);}
/* botão de menu: claquete (a vareta bate quando o menu abre) */
.burger{
  position:relative;width:40px;height:40px;display:grid;place-items:center;flex:none;
}
.burger__clap{
  position:relative;width:23px;height:15px;margin-top:6px;border-radius:2px;
  background-color:var(--film);
  background-image:
    linear-gradient(var(--clay-soft),var(--clay-soft)),
    linear-gradient(rgba(252,245,232,.62),rgba(252,245,232,.62));
  background-size:13px 1.5px,8px 1.5px;
  background-position:3px 3.5px,3px 7.5px;
  background-repeat:no-repeat;
  box-shadow:inset 0 0 0 1px rgba(252,245,232,.22),0 1px 2px rgba(46,28,70,.3);
}
.burger__clap::before{
  content:"";position:absolute;left:-1px;right:-1px;bottom:100%;height:4.5px;
  border-radius:1.5px 1.5px 0 0;
  background:repeating-linear-gradient(45deg,var(--film) 0 3.5px,var(--cream) 3.5px 7px);
  box-shadow:inset 0 0 0 1px rgba(46,28,70,.25);
  transform-origin:1.5px 100%;transform:rotate(-18deg);
  transition:transform .5s var(--ease);
}
.burger:hover .burger__clap::before{transform:rotate(-31deg);}
.burger.is-open .burger__clap::before{transform:rotate(0deg);transition-timing-function:cubic-bezier(.2,1.7,.45,1);}

/* header sobre a mídia escura (ainda não rolou): textos claros */
.header:not(.is-stuck) .logo{color:var(--cream);}
.header:not(.is-stuck) .logo__mark{border-color:rgba(252,245,232,.55);}
.header:not(.is-stuck) .logo__mark::before,
.header:not(.is-stuck) .logo__mark::after{background:rgba(252,245,232,.85);}
.header:not(.is-stuck) .nav a{color:rgba(252,245,232,.78);}
.header:not(.is-stuck) .nav a:hover,
.header:not(.is-stuck) .nav a.is-active{color:var(--cream);}
.header:not(.is-stuck) .nav a::after{background:var(--violet-soft);}
.header:not(.is-stuck) .header__cta .order{color:var(--violet-soft);}
.header:not(.is-stuck) .burger__clap{box-shadow:inset 0 0 0 1px rgba(252,245,232,.3),0 1px 3px rgba(0,0,0,.45);}

.drawer{
  position:fixed;inset:0;z-index:99;background:var(--paper);
  display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 32px;
  opacity:0;visibility:hidden;overflow-y:auto;
  transition:opacity .45s var(--ease),visibility .45s var(--ease);
}
.drawer.is-open{opacity:1;visibility:visible;}
.drawer a{
  font-size:clamp(1.5rem,6.4vw,2.6rem);font-weight:800;text-transform:uppercase;line-height:1.28;
  letter-spacing:-.01em;color:var(--ink-2);transform:translateY(18px);opacity:0;
  transition:transform .6s var(--ease),opacity .6s var(--ease),color .3s var(--ease);
}
.drawer.is-open a{transform:none;opacity:1;}
.drawer.is-open a:nth-of-type(1){transition-delay:.06s;}
.drawer.is-open a:nth-of-type(2){transition-delay:.1s;}
.drawer.is-open a:nth-of-type(3){transition-delay:.14s;}
.drawer.is-open a:nth-of-type(4){transition-delay:.18s;}
.drawer.is-open a:nth-of-type(5){transition-delay:.22s;}
.drawer.is-open a:nth-of-type(6){transition-delay:.26s;}
.drawer.is-open a:nth-of-type(7){transition-delay:.3s;}
.drawer a.is-active{color:var(--violet);}
.drawer__label{margin-bottom:26px;}

/* ---------- trilhos verticais ---------- */
.rail{position:absolute;top:0;bottom:0;width:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;pointer-events:none;z-index:3;}
.rail--left{left:0;}
.rail--right{right:0;}
.rail__item{writing-mode:vertical-rl;font-family:var(--hand);font-size:15px;letter-spacing:.04em;color:var(--violet);opacity:.8;}
.rail__line{width:1px;flex:1;min-height:60px;background:linear-gradient(to bottom,transparent,var(--line-2));}
.rail__line--b{background:linear-gradient(to top,transparent,var(--line-2));}
.rail--left .rail__item:nth-child(odd){transform:rotate(180deg);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#2E1C46;}
.hero__media{position:absolute;inset:-6% 0 -6%;z-index:0;will-change:transform;background:#2E1C46;}
.hero__media img{width:100%;height:100%;object-fit:cover;}
.hero__video{width:100%;height:100%;object-fit:cover;display:block;}
.hero__scrim{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to right,rgba(46,28,70,.94) 0%,rgba(46,28,70,.5) 45%,rgba(46,28,70,.16) 72%),
    linear-gradient(to top,var(--paper) 0%,rgba(46,28,70,.62) 26%,rgba(46,28,70,.3) 62%,rgba(46,28,70,.72) 100%);
}
.hero__inner{position:relative;z-index:2;width:100%;min-width:0;padding-bottom:96px;}
.hero__title{font-size:clamp(2rem,5.4vw,3.4rem);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1;margin:0 0 14px;color:var(--cream);text-align:center;}
.hero__accent{
  position:relative;display:inline-block;color:var(--clay-soft);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'><path d='M1 5.5C22 2.2 44 2.6 62 4.2 82 6 100 5.4 119 3.4' fill='none' stroke='%23D98E70' stroke-width='2.6' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-size:100% 8px;background-position:0 100%;
  padding-bottom:6px;
}
.hero__desc{max-width:none;color:rgba(252,245,232,.82);font-size:20px;margin:0 auto;text-align:center;}
.hero__mega{
  font-family:"Syne",var(--sans);
  font-weight:800;text-transform:uppercase;
  font-size:clamp(2.4rem,12vw,10rem);
  line-height:.82;letter-spacing:-.02em;margin:22px 0 0;
  color:var(--cream);
  text-align:center;
  position:relative;left:-.15em;
  user-select:none;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;}
.hero__actions .btn{border-color:var(--cream);color:var(--cream);}
.hero__actions .btn:hover{background:var(--violet);border-color:var(--violet);color:var(--cream);}
.hero__actions .btn--solid{background:var(--violet);border-color:var(--violet);color:var(--cream);}
.hero__actions .btn--solid:hover{background:transparent;border-color:var(--cream);color:var(--cream);}
.hero__meta{position:absolute;z-index:3;left:0;right:0;bottom:22px;display:flex;justify-content:flex-end;align-items:center;gap:20px;}
.hero__meta-right{display:flex;align-items:center;gap:14px;}
.hero__scrawl{position:absolute;z-index:3;top:22%;right:6%;max-width:320px;text-align:right;color:var(--clay-soft);}

.video-sound{
  display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;
  border:1.5px solid rgba(252,245,232,.5);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(252,245,232,.85);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.video-sound:hover{background:var(--cream);color:var(--ink);border-color:var(--cream);}
.video-sound svg{width:14px;height:14px;}
.video-sound__on{display:none;}
.video-sound[aria-pressed="true"] .video-sound__on{display:block;}
.video-sound[aria-pressed="true"] .video-sound__off{display:none;}

.socials{display:flex;gap:10px;}
.socials a{
  width:34px;height:34px;border:1.5px solid var(--line-2);border-radius:50%;
  display:grid;place-items:center;color:var(--ink-2);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.socials a:hover{background:var(--violet);color:var(--cream);border-color:var(--violet);}
.hero .socials a{border-color:rgba(252,245,232,.5);color:var(--cream);}
.hero .socials a:hover{background:var(--violet);border-color:var(--violet);}

/* ---------- cabeçalho de página interna ---------- */
.page-head{position:relative;padding:170px 0 70px;overflow:hidden;background:#2E1C46;}
.page-head__media{position:absolute;inset:0;z-index:0;}
.page-head__media img{width:100%;height:100%;object-fit:cover;}
.page-head__scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(46,28,70,.9) 0%,rgba(46,28,70,.72) 45%,rgba(46,28,70,.9) 100%);
}
.page-head__inner{position:relative;z-index:2;}
.page-head .h1,.page-head .lead{color:var(--cream);}
.page-head .lead{color:rgba(252,245,232,.84);}
.page-head .eyebrow{color:var(--violet-soft);}
.crumbs{display:flex;gap:10px;align-items:center;font-family:var(--hand);font-size:17px;color:rgba(252,245,232,.75);margin-bottom:14px;}
.crumbs a:hover{color:var(--violet-soft);}
.crumbs span{opacity:.5;}
.page-head__scrawl{position:absolute;z-index:3;right:6%;bottom:56px;max-width:240px;text-align:right;color:var(--violet-soft);}

/* ---------- seções ---------- */
.section{position:relative;padding:110px 0;}
.section--tight{padding:74px 0;}
/* divisor em tira de filme 35mm (tira marrom: assets/img/filme-35mm-brown.svg) */
.divider{
  height:44px;border:0;margin:0;
  background-color:var(--strip);
  background-image:url("img/filme-35mm-brown.svg");
  background-repeat:repeat-x;
  background-position:center;
  background-size:256px 44px;
}
.section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:44px;}
.section__head--center{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0;}
.section__head--center .eyebrow{align-self:flex-start;text-align:left;}

/* ---------- cartões de categoria ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.card{
  position:relative;display:block;overflow:hidden;background:var(--paper-3);
  aspect-ratio:4/3;border:1.5px solid var(--line-2);
  border-radius:16px 6px 18px 8px/8px 18px 6px 16px;
  transition:transform .4s var(--ease);
}
.card--wide{grid-column:span 2;aspect-ratio:auto;}
.card--tall{grid-row:span 2;aspect-ratio:auto;}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s var(--ease);}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(46,28,70,.94) 0%,rgba(46,28,70,.28) 58%,transparent 100%);}
.card:hover img{transform:scale(1.06);}
.card:hover{transform:translateY(-4px);}
.card__body{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;}
.card__index{font-family:var(--hand);font-size:17px;color:var(--violet-soft);margin-bottom:4px;}
.card__title{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1;color:var(--cream);}
.card__sub{font-size:13px;color:rgba(252,245,232,.78);margin-top:6px;max-width:34ch;}
.card__go{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(252,245,232,.8);transition:color .3s var(--ease);}
.card:hover .card__go{color:var(--cream);}
.card:hover .card__go .arrow{transform:translateX(6px);}

/* ---------- grades de fotos ---------- */
.grid-photos{display:grid;gap:22px;}
.grid-photos--3{grid-template-columns:repeat(3,1fr);}
.grid-photos--4{grid-template-columns:repeat(4,1fr);}
.grid-photos--2{grid-template-columns:repeat(2,1fr);}
.grid-photos figure{
  margin:0;position:relative;cursor:pointer;background:var(--paper-3);
  border:1.5px solid var(--line-2);
  border-radius:14px 5px 16px 6px/6px 16px 5px 14px;
  transition:transform .5s var(--ease);
}
.grid-photos figure:nth-child(3n+2){transform:rotate(-.7deg);}
.grid-photos figure:nth-child(4n+3){transform:rotate(.6deg);}
.grid-photos figure:hover{transform:rotate(0) translateY(-4px);}
.grid-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--ease),filter .5s var(--ease);}
.grid-photos figure:hover img{transform:scale(1.06);}
.grid-photos figcaption{
  position:absolute;left:14px;bottom:12px;z-index:2;font-family:var(--hand);font-size:16px;
  color:var(--cream);opacity:0;transform:translateY(8px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
  text-shadow:0 2px 12px rgba(30,16,50,.9);
}
.grid-photos figure:hover figcaption{opacity:1;transform:none;}

/* reels verticais (mobile) — formato 9:16 para vídeos de iPhone */
.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.reel{
  margin:0;position:relative;cursor:pointer;overflow:hidden;aspect-ratio:9/16;
  background:var(--paper-3);border:1.5px solid var(--line-2);
  border-radius:14px 5px 16px 6px/6px 16px 5px 14px;
  transition:transform .5s var(--ease);
}
.reel:nth-child(3n+2){transform:rotate(-.7deg);}
.reel:nth-child(4n+3){transform:rotate(.6deg);}
.reel:hover{transform:rotate(0) translateY(-4px);}
.reel video{width:100%;height:100%;object-fit:cover;display:block;background:var(--paper-3);transition:transform .7s var(--ease);}
.reel:hover video{transform:scale(1.04);}
.reel__play{
  position:absolute;inset:0;margin:auto;width:52px;height:52px;border-radius:50%;
  border:1.5px solid rgba(252,245,232,.9);display:grid;place-items:center;
  background:rgba(46,28,70,.42);backdrop-filter:blur(4px);color:var(--cream);font-size:12px;
  pointer-events:none;transition:transform .4s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.reel:hover .reel__play{transform:scale(1.07);background:var(--violet);border-color:var(--violet);}

/* masonry (instax) */
.masonry{column-count:4;column-gap:20px;}
.masonry figure{
  margin:0 0 20px;break-inside:avoid;position:relative;cursor:pointer;background:var(--paper-3);
  border:1.5px solid var(--line-2);border-radius:12px 4px 14px 5px/5px 14px 4px 12px;
  transition:transform .5s var(--ease);
}
.masonry figure:nth-child(2n){transform:rotate(.8deg);}
.masonry figure:nth-child(3n){transform:rotate(-.6deg);}
.masonry figure:hover{transform:rotate(0) translateY(-3px);}
.masonry img{width:100%;transition:transform .7s var(--ease),filter .5s var(--ease);}
.masonry figure:hover img{transform:scale(1.05);}

/* ---------- sobre ---------- */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;}
.about-grid__media{position:relative;border:1.5px solid var(--line-2);background:var(--paper-2);padding:12px 12px 46px;border-radius:4px;box-shadow:var(--shadow);}
.about-grid__media img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.about-grid__media::after{
  content:"";position:absolute;left:12px;right:12px;top:12px;bottom:46px;pointer-events:none;
  background:radial-gradient(120% 100% at 50% 40%,transparent 45%,rgba(62,42,92,.28)),linear-gradient(160deg,rgba(200,121,74,.14),transparent 45%,rgba(126,144,112,.16));
}
.about-bio p{color:var(--ink-2);font-size:14.5px;margin:0 0 16px;text-wrap:pretty;}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px;border-top:1px solid var(--line);padding-top:28px;}
.fact__num{font-size:28px;font-weight:800;line-height:1;color:var(--violet);}
.fact__label{font-family:var(--hand);font-size:16px;color:var(--ink-3);margin-top:4px;}

/* ---------- listas ---------- */
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.block h4{font-family:var(--hand);font-size:20px;font-weight:600;color:var(--violet);margin:0 0 12px;}
.block ul{list-style:none;margin:0;padding:0;}
.block li{position:relative;padding-left:18px;font-size:14px;color:var(--ink-2);margin-bottom:9px;}
.block li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1.5px;background:var(--violet);}

/* ---------- acordeão ---------- */
.days{border-top:1.5px solid var(--line-2);}
.day{border-bottom:1.5px solid var(--line-2);}
.day__btn{width:100%;display:grid;grid-template-columns:120px 1fr 34px;align-items:center;gap:20px;padding:26px 0;text-align:left;}
.day__name{font-family:var(--hand);font-size:21px;color:var(--violet);}
.day__place{font-size:13.5px;color:var(--ink-2);transition:color .3s var(--ease);}
.day__icon{width:28px;height:28px;border:1.5px solid var(--line-2);border-radius:50%;display:grid;place-items:center;justify-self:end;transition:transform .4s var(--ease),background .3s var(--ease),color .3s var(--ease);font-size:13px;}
.day__btn:hover .day__place{color:var(--ink);}
.day.is-open .day__icon{transform:rotate(45deg);background:var(--violet);border-color:var(--violet);color:var(--cream);}
.day__panel{overflow:hidden;height:0;transition:height .5s var(--ease);}
.day__inner{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:0 0 30px;}
.day__inner p{margin:0;color:var(--ink-2);font-size:14.5px;max-width:70ch;}

/* ---------- trabalhos (filme) ---------- */
.works{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.work{position:relative;display:block;overflow:hidden;background:var(--paper-3);cursor:pointer;border:1.5px solid var(--line-2);border-radius:16px 6px 18px 8px/8px 18px 6px 16px;}
.work img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .8s var(--ease),filter .5s var(--ease);}
.work:hover img{transform:scale(1.05);}
.work__play{
  position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;
  border:1.5px solid var(--cream);display:grid;place-items:center;
  background:rgba(46,28,70,.4);backdrop-filter:blur(4px);color:var(--cream);
  transition:transform .4s var(--ease),background .3s var(--ease),color .3s var(--ease);
}
.work:hover .work__play{transform:scale(1.08);background:var(--violet);color:var(--cream);border-color:var(--violet);}
.work__body{position:absolute;left:22px;bottom:20px;right:22px;z-index:2;}
.work__title{font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--cream);}
.work__meta{font-family:var(--hand);font-size:17px;color:var(--violet-soft);margin-top:2px;}
.work::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(46,28,70,.92),transparent 62%);}

/* ---------- redes sociais (pílulas) ---------- */
.icon{width:16px;height:16px;display:block;}

/* ---------- marcas em movimento ---------- */
.brands-section{overflow:hidden;background:var(--film);color:var(--cream);}
.brands-section .eyebrow{color:var(--violet-soft);}
.brands-section .h2{color:var(--cream);}
.brands__viewport{
  width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;padding:8px 0 18px;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%);
}
.brands__track{display:flex;width:max-content;animation:brands-scroll 48s linear infinite;}
.brands__viewport:hover .brands__track{animation-play-state:paused;}
.brands__group{display:flex;flex:none;align-items:center;gap:18px;padding:0 9px;}
.brand{
  width:clamp(132px,16vw,208px);height:112px;flex:none;display:grid;place-items:center;
  padding:18px 20px;background:rgba(252,245,232,.06);border:1px solid rgba(252,245,232,.13);
  border-radius:12px 5px 14px 6px/6px 14px 5px 12px;
  transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease);
}
.brand img{width:100%;height:100%;object-fit:contain;opacity:.84;transition:opacity .35s var(--ease),transform .35s var(--ease);}
.brand:hover{z-index:1;transform:translateY(-5px) scale(1.08);background:rgba(252,245,232,.14);border-color:rgba(252,245,232,.42);}
.brand:hover img{opacity:1;transform:scale(1.06);}
@keyframes brands-scroll{to{transform:translateX(-50%);}}

/* ---------- Trabalhos (split) ---------- */
.works-split{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.work-card{position:relative;display:block;overflow:hidden;aspect-ratio:5/4;background:var(--paper-3);border:1.5px solid var(--line-2);border-radius:18px 7px 20px 9px/9px 20px 7px 18px;}
.work-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(46,28,70,.94),rgba(46,28,70,.24) 58%,transparent);}
.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s var(--ease);}
.work-card:hover img{transform:scale(1.06);}
.work-card__body{position:absolute;left:30px;right:30px;bottom:28px;z-index:2;}
.work-card__count{font-family:var(--hand);font-size:18px;color:var(--violet-soft);margin-bottom:6px;}
.work-card__title{font-size:clamp(1.6rem,3.6vw,2.6rem);font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:-.01em;color:var(--cream);}
.work-card__cta{margin-top:16px;display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(252,245,232,.85);border-bottom:1.5px solid rgba(252,245,232,.35);padding-bottom:8px;transition:color .3s var(--ease),border-color .3s var(--ease);}
.work-card:hover .work-card__cta{color:var(--cream);border-color:var(--cream);}
.work-card:hover .work-card__cta .arrow{transform:translateX(6px);}

/* ---------- CTA final ---------- */
.cta{position:relative;overflow:hidden;border-top:1px solid var(--line);background:var(--paper);}
.cta__glow{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(900px 460px at 50% 0%,rgba(155,96,220,.15),transparent 72%),
    radial-gradient(760px 420px at 50% 100%,rgba(200,121,74,.12),transparent 72%),
    linear-gradient(to bottom,var(--paper),var(--paper-2));
}
.cta .wrap{position:relative;z-index:1;}
.cta__grid{
  display:grid;grid-template-columns:1fr 1fr;max-width:620px;margin:0 auto;
  gap:46px 24px;justify-items:center;text-align:center;
}
.cta__lead{grid-column:1 / -1;width:100%;}
.cta__lead .h2{max-width:none;margin:0 auto;}
.cta__lead p{color:var(--ink-2);font-size:15px;max-width:46ch;margin:22px auto 0;}
.cta__lead .btn{margin-top:30px;}
.cta__info{
  grid-column:1 / -1;width:100%;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px 40px;justify-items:center;text-align:center;
}
.cta__local,.cta__socials{grid-column:1 / -1;}
.cta__label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--ink-3);margin-bottom:10px;}
.cta__info a{font-size:15px;font-weight:700;color:var(--ink);transition:color .3s var(--ease);}
.cta__info a:hover{color:var(--violet);}
.cta__place{font-size:15px;font-weight:700;text-transform:uppercase;color:var(--ink);margin:0;line-height:1.55;}

.btn--wa{background:var(--violet);color:var(--cream);border-color:var(--violet);}
.btn--wa:hover{background:var(--violet-deep);border-color:var(--violet-deep);color:var(--cream);}
.btn--wa svg{width:18px;height:18px;flex:none;}
.btn--solid{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.btn--solid:hover{background:transparent;color:var(--ink);border-color:var(--ink);}

/* ---------- formulário (componente reutilizável) ---------- */
.form{max-width:640px;margin-top:30px;}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;}
.field{position:relative;padding:22px 0 12px;border-bottom:1.5px solid var(--line-2);}
.field--full{grid-column:1 / -1;}
.field input,.field textarea,.field select{width:100%;background:none;border:0;outline:none;color:var(--ink);font:inherit;font-size:15px;resize:none;padding:0;}
.field select{appearance:none;cursor:pointer;}
.field label{position:absolute;left:0;top:22px;color:var(--ink-3);font-size:15px;pointer-events:none;transition:.3s var(--ease);}
.field input:focus + label,.field textarea:focus + label,.field select:focus + label,
.field.is-filled label{top:0;font-family:var(--hand);font-size:16px;color:var(--violet);}
.field::after{content:"";position:absolute;left:0;bottom:-1.5px;height:1.5px;width:0;background:var(--violet);transition:width .45s var(--ease);}
.field:focus-within::after{width:100%;}
.form__foot{display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap;}
.form__note{font-size:12.5px;color:var(--ink-3);}
.form__note.is-error{color:#B04A5A;}
.form__note.is-ok{color:#4E7A54;}

/* ---------- pager ---------- */
.pager{border-top:1.5px solid var(--line-2);}
.pager a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px 0;transition:padding .4s var(--ease);}
.pager a:hover{padding-left:14px;padding-right:0;}
.pager__label{font-family:var(--hand);font-size:18px;color:var(--violet);}
.pager__title{font-size:clamp(1.3rem,3.4vw,2.2rem);font-weight:800;text-transform:uppercase;line-height:1.05;margin-top:4px;color:var(--ink);}
.pager__arrow{font-size:22px;color:var(--violet);transition:transform .4s var(--ease);}
.pager a:hover .pager__arrow{transform:translateX(8px);}

/* ---------- footer ---------- */
.footer{position:relative;padding:90px 0 50px;text-align:center;overflow:hidden;background:#2E1C46;}
.footer__media{position:absolute;inset:0;z-index:0;}
.footer__media img{width:100%;height:100%;object-fit:cover;opacity:.5;}
.footer__inner{position:relative;z-index:1;}
.footer__logo{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:26px;color:var(--cream);margin-bottom:30px;transition:color .3s var(--ease);}
.footer__logo .logo__mark{border-color:rgba(252,245,232,.6);}
.footer__logo .logo__mark::before,.footer__logo .logo__mark::after{background:rgba(252,245,232,.85);}
.footer__logo:hover{color:var(--violet-soft);}
.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:0 0 6px;}
.footer__nav a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:rgba(252,245,232,.65);transition:color .3s var(--ease);}
.footer__nav a:hover,.footer__nav a.is-active{color:var(--cream);}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(252,245,232,.18);padding-top:24px;margin-top:26px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(252,245,232,.55);}

/* ---------- lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:130;background:rgba(46,28,70,.95);
  display:grid;place-items:center;padding:6vw;
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease);
}
.lightbox.is-open{opacity:1;visibility:visible;}
.lightbox img,.lightbox video{
  max-width:100%;max-height:82vh;object-fit:contain;transform:scale(.96);
  transition:transform .5s var(--ease);
  border:6px solid var(--paper);border-radius:2px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);
}
.lightbox img{filter:sepia(.18) saturate(.8) contrast(.94) brightness(1.06);}
.lightbox.is-open img,.lightbox.is-open video{transform:scale(1);}
.lightbox [hidden]{display:none!important;}
.lightbox__close{position:absolute;top:24px;right:28px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(252,245,232,.7);}
.lightbox__close:hover{color:var(--cream);}
.lightbox__nav{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:center;gap:26px;}
.lightbox__nav button{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(252,245,232,.7);}
.lightbox__nav button:hover{color:var(--cream);}

/* ---------- revelação ---------- */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s);}
[data-reveal].is-visible{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
  [data-reveal]{opacity:1;transform:none;}
  body::after{animation:none;}
  .brands__viewport{width:auto;margin:0;overflow:visible;padding:8px 28px 18px;-webkit-mask-image:none;mask-image:none;}
  .brands__track{display:block;width:auto;transform:none;}
  .brands__group{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:12px;padding:0;}
  .brands__group[aria-hidden="true"]{display:none;}
  .brands__group .brand{width:auto;height:96px;padding:14px;}
}

/* ---------- responsivo ---------- */
@media (max-width:1180px){
  .nav{gap:16px;}
  .nav a{font-size:10px;letter-spacing:.1em;}
}
@media (max-width:1040px){
  .nav{display:none;}
  .rail{display:none;}
  .hero__scrawl,.page-head__scrawl{display:none;}
}
@media (max-width:1024px){
  .cards{grid-template-columns:repeat(2,1fr);}
  .card--wide{grid-column:span 2;}
  .masonry{column-count:3;}
  .grid-photos--4{grid-template-columns:repeat(3,1fr);}
  .reels{grid-template-columns:repeat(3,1fr);}
  .about-grid{grid-template-columns:1fr;gap:40px;}
  .about-grid__media img{aspect-ratio:16/12;}
  .works-split{grid-template-columns:1fr;}
  .work-card{aspect-ratio:4/3;}
}
@media (max-width:760px){
  .header__cta .order{display:none;}
  .section{padding:78px 0;}
  .section--tight{padding:56px 0;}
  .page-head{padding:140px 0 56px;}
  .cards{grid-template-columns:1fr;gap:14px;}
  .card--wide,.card--tall{grid-column:auto;grid-row:auto;aspect-ratio:4/3;}
  .masonry{column-count:2;}
  .grid-photos--3,.grid-photos--4{grid-template-columns:repeat(2,1fr);}
  .reels{grid-template-columns:repeat(2,1fr);}
  .grid-photos--2{grid-template-columns:1fr;}
  .cols-2,.cols-3,.works,.facts{grid-template-columns:1fr;gap:26px;}
  .day__btn{grid-template-columns:86px 1fr 30px;gap:14px;padding:20px 0;}
  .day__inner{grid-template-columns:1fr;}
  .form__row{grid-template-columns:1fr;}
  .hero__meta{bottom:14px;}
  .hero__inner{padding-bottom:88px;}
  .work-card__body{left:20px;right:20px;bottom:20px;}
  .cta__grid{grid-template-columns:1fr;gap:38px;}
  .cta__info{grid-template-columns:1fr;gap:26px;}
  .footer__bottom{flex-direction:column;gap:16px;text-align:center;}
}
@media (max-width:420px){
  .day__btn{grid-template-columns:1fr 30px;}
  .day__place{display:none;}
  .masonry{column-count:1;}
}

/* ==========================================================================
   CAMADA ANALÓGICA EDITORIAL — referências do cliente
   (PLENKACORE · still-2026 · Moving Spirit · Olga Pervahuman · Manor DAO ·
    DONS · INNOVIX)
   Fio condutor: fotografia PB/dessaturada com grão, manuscrito como acento
   emocional, colagem polaroide com fita, tipografia editorial (sans forte ×
   serif delicada × script), overlay de texto e muito respiro.
   ========================================================================== */

/* ---------- serifada de display + declarações editoriais ---------- */
.serif{font-family:var(--serif);text-transform:none;letter-spacing:0;font-weight:400;}
.statement{
  font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:-.005em;
  font-size:clamp(1.8rem,4.6vw,3.3rem);line-height:1.06;color:var(--ink);margin:0;
}
.statement em{font-style:italic;color:var(--clay);}
.statement--big{font-size:clamp(2.1rem,6vw,4.6rem);}
.statement--center{text-align:center;margin-left:auto;margin-right:auto;max-width:22ch;}

/* ---------- manuscrito maior (declaração emocional) ---------- */
.scrawl--xxl{font-size:clamp(2.4rem,7.6vw,5.6rem);line-height:.92;}
.scrawl--clay{color:var(--clay);}
.mark-u--clay{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'><path d='M1 5.5C22 2.2 44 2.6 62 4.2 82 6 100 5.4 119 3.4' fill='none' stroke='%23D98E70' stroke-width='2' stroke-linecap='round'/></svg>");
}

/* ---------- tira de filme como moldura ---------- */
.film-frame{position:relative;background:var(--strip);padding:34px 40px;}
.film-frame::before,.film-frame::after{
  content:"";position:absolute;left:0;right:0;height:11px;z-index:4;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='11'><rect x='6.5' y='1.5' width='17' height='8' rx='2.5' fill='%23FCF5E8'/></svg>");
  background-repeat:repeat-x;background-size:30px 11px;
}
.film-frame::before{top:7px;}
.film-frame::after{bottom:7px;}
.film-frame img{position:relative;z-index:2;width:100%;display:block;}

/* tira de filme na base do cabeçalho das páginas internas */
.page-head::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:44px;z-index:3;pointer-events:none;
  background-color:var(--strip);
  background-image:url("img/filme-35mm-brown.svg");
  background-repeat:repeat-x;
  background-position:center;
  background-size:256px 44px;
}

/* ---------- polaroides coladas com fita ---------- */
.polaroid{
  position:relative;background:var(--paper);padding:12px 12px 46px;
  border:1px solid rgba(62,42,92,.12);box-shadow:var(--shadow);
  transition:transform .5s var(--ease);
}
.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover;
  filter:sepia(.22) saturate(.62) contrast(.94) brightness(1.05);}
.polaroid--bw img{filter:grayscale(1) contrast(1.02) brightness(1.04);}
.polaroid__cap{position:absolute;left:16px;bottom:12px;font-family:var(--hand);font-size:18px;color:var(--ink-2);}
.polaroid__tape{
  top:-15px;left:50%;width:var(--tw,124px);height:var(--th,32px);
  transform:translateX(-50%) rotate(-2.4deg);
  display:flex;align-items:center;justify-content:center;padding:0 12px;
  font-family:var(--hand);font-weight:600;font-size:19px;line-height:1;white-space:nowrap;
  color:rgba(62,42,92,.8);letter-spacing:.01em;
  text-shadow:0 .5px 0 rgba(255,255,255,.5);
}
.polaroid-strip .polaroid:nth-child(1) .polaroid__tape{--tw:126px;--th:32px;opacity:.97;}
.polaroid-strip .polaroid:nth-child(2) .polaroid__tape{--tw:116px;--th:30px;opacity:.92;transform:translateX(-50%) rotate(1.8deg);}
.polaroid-strip .polaroid:nth-child(3) .polaroid__tape{--tw:132px;--th:33px;opacity:.95;transform:translateX(-50%) rotate(-1.2deg);}

/* ---------- rabisco de caneta sobre as polaroides ---------- */
.polaroid__ink{position:absolute;z-index:5;width:118px;height:76px;color:var(--clay);pointer-events:none;}
.polaroid__ink svg{display:block;width:100%;height:100%;overflow:visible;}
.polaroid__ink svg path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.polaroid__ink em{
  position:absolute;left:58%;top:41%;transform:translate(-50%,-50%) rotate(-4deg);
  font-family:var(--hand);font-style:normal;font-weight:700;font-size:27px;line-height:1;color:var(--clay);
}
.polaroid__ink--a{right:-16px;top:22px;transform:rotate(5deg);}
.polaroid__ink--b{left:-14px;top:38%;transform:rotate(-6deg);}
.polaroid__ink--c{right:6px;bottom:50px;transform:rotate(3deg);}
.polaroid-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:26px 6px 10px;}
.polaroid-strip .polaroid{min-width:0;width:100%;}
.polaroid-strip .polaroid:hover{transform:translateY(-4px);}

/* ---------- faixas de cor (verde-oliva / escura) ---------- */
.band{position:relative;padding:78px 0;background:var(--leaf);color:var(--paper);overflow:hidden;}
.band--ink{background:var(--film);}
.band::before,.band::after{content:"";position:absolute;left:0;right:0;height:1px;background:rgba(252,245,232,.35);}
.band::before{top:0;}
.band::after{bottom:0;}
.band__kicker{font-family:var(--hand);font-size:21px;color:rgba(252,245,232,.85);margin:0 0 14px;}
.band .statement{color:var(--paper);}
.band .statement em{color:rgba(252,245,232,.72);}
.band .statement .circle-word{color:var(--paper);}

/* ---------- tipografia fantasma de fundo ---------- */
.ghost{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;
  display:flex;flex-direction:column;justify-content:center;gap:4px;
}
.ghost span{
  font-weight:800;text-transform:uppercase;white-space:nowrap;
  font-size:clamp(3rem,12vw,9rem);line-height:.86;letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:1px rgba(62,42,92,.1);
}
.section > .wrap{position:relative;z-index:1;}

/* ---------- selo circular (carimbo) ---------- */
.seal{display:inline-block;width:124px;height:124px;color:var(--clay);}
.seal svg{width:100%;height:100%;overflow:visible;animation:seal-spin 34s linear infinite;}
.seal text{font-family:var(--sans);font-weight:700;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;fill:currentColor;}
@keyframes seal-spin{to{transform:rotate(360deg);}}
.hero__seal{position:absolute;z-index:3;left:6%;top:22%;color:var(--clay-soft);}

/* ---------- cartões "polaroide" e "super 8" ---------- */
.work-card--photo{
  border:14px solid #FFFBF2;
  border-bottom-width:64px;
  background:#FFFBF2;
  border-radius:3px;
  box-shadow:0 24px 50px -30px rgba(62,42,92,.65),0 1px 0 rgba(62,42,92,.06);
  transition:transform .4s var(--ease);
}
.work-card--photo img{outline:1px solid rgba(62,42,92,.1);outline-offset:-1px;}
.work-card--photo::before{display:none;}
.work-card--photo:hover{transform:translateY(-4px) rotate(-.7deg);}

.work-card--film{
  border:20px solid #17151B;
  padding:0;
  border-radius:13px;
  background:#17151B;
  box-shadow:0 24px 50px -30px rgba(0,0,0,.75);
  transition:transform .4s var(--ease);
}
.work-card--film::before{
  content:"";display:block;position:absolute;z-index:5;
  left:-12px;top:50%;transform:translateY(-50%);
  width:26px;height:56px;border-radius:9px;
  background:#17151B;
  border:1px solid rgba(216,185,140,.42);
  box-shadow:0 0 0 1px rgba(0,0,0,.32);
}
.work-card--film::after{
  inset:0;border-radius:5px;
  background:
    radial-gradient(118% 104% at 50% 50%,rgba(23,21,27,0) 58%,rgba(8,7,10,.4) 100%),
    linear-gradient(to top,rgba(23,21,27,.94),rgba(23,21,27,.22) 58%,transparent);
}
.work-card--film img{
  border-radius:5px;
  outline:1px solid rgba(252,245,232,.08);
  outline-offset:-1px;
}
.work-card--film:hover{transform:translateY(-4px) rotate(.7deg);}

/* ---------- elementos em volta da faixa-manifesto ---------- */
.band__doodle{
  position:absolute;z-index:2;font-family:var(--hand);line-height:1;
  font-size:clamp(1.1rem,2.2vw,1.7rem);color:rgba(252,245,232,.88);
}
.band__doodle svg{width:40px;height:40px;color:rgba(252,245,232,.82);display:block;}
.band__doodle--tl{left:6%;top:16%;transform:rotate(-7deg);}
.band__doodle--tr{right:6%;top:13%;transform:rotate(5deg);}
.band__doodle--bl{left:8%;bottom:14%;transform:rotate(4deg);}
.band__doodle--br{right:8%;bottom:16%;transform:rotate(-5deg);}

@media (max-width:1040px){
  .hero__seal{display:none;}
}
@media (max-width:760px){
  .film-frame{padding:22px 16px;}
  .band{padding:56px 0;}
  .band__doodle{display:none;}
  .polaroid-strip{gap:12px;padding:18px 0 4px;}
  .polaroid{padding:9px 9px 34px;}
  .polaroid__cap{left:11px;bottom:8px;font-size:13px;}
  .polaroid__tape{width:88px;height:25px;top:-12px;font-size:14px;padding:0 8px;}
  .polaroid__ink{width:56px;height:37px;}
  .polaroid__ink em{font-size:13px;}
  .polaroid__ink--a{right:-6px;top:8px;}
  .polaroid__ink--b{left:-6px;}
  .polaroid__ink--c{right:2px;bottom:30px;}
  .work-card--photo{border-width:9px;border-bottom-width:46px;}
  .work-card--film{border-width:13px;}
  .work-card--film::before{left:-8px;width:18px;height:40px;border-radius:7px;}
}

/* ==========================================================================
   ACESSO PRIVADO — painel do Paivoso + portfólios compartilhados por link
   ========================================================================== */

/* ---------- página de login / gerador de links ---------- */
.access{padding:150px 0 120px;}
.access-card{
  max-width:540px;margin:0 auto;padding:44px 40px;
  background:var(--paper-2);border:1.5px solid var(--line-2);
  border-radius:18px 7px 20px 9px/9px 20px 7px 18px;box-shadow:var(--shadow);
}
.access-card .h2{font-size:clamp(1.8rem,5vw,2.6rem);}
.access-form{margin-top:28px;display:grid;gap:22px;justify-items:start;}
.access-error{margin:0;font-size:13px;color:var(--clay);}
.access-panel{max-width:860px;margin:0 auto;}
.access-panel__head{max-width:60ch;}
.access-name{max-width:440px;margin-top:36px;}
.access-links{margin-top:36px;display:grid;gap:16px;}
.access-link{
  padding:24px 26px;background:var(--paper-2);border:1.5px solid var(--line-2);
  border-radius:14px 6px 16px 8px/8px 16px 6px 14px;
}
.access-link__top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.access-link__label{font-family:var(--hand);font-size:26px;line-height:1;color:var(--violet);}
.access-link__tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
.access-link__url{
  margin-top:14px;width:100%;padding:12px 14px;outline:none;
  border:1.5px solid var(--line);border-radius:8px;background:var(--paper);
  color:var(--ink-2);font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.access-link__url:focus{border-color:var(--violet);}
.access-link__actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;}
.access-link__btn{
  display:inline-flex;align-items:center;padding:9px 16px;border-radius:999px;
  border:1.5px solid var(--line-2);font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);
}
.access-link__btn:hover{border-color:var(--violet);color:var(--violet);}
.access-link__btn--main{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.access-link__btn--main:hover,.access-link__btn--main.is-done{background:var(--violet);border-color:var(--violet);color:var(--cream);}
.access-note{margin:30px 0 26px;max-width:60ch;font-size:12.5px;line-height:1.6;color:var(--ink-3);}
.access-note--warn{margin:0 0 4px;color:var(--clay);}
.access-out{
  padding:8px 16px;border-radius:999px;border:1.5px solid var(--line-2);
  font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transition:border-color .3s var(--ease),color .3s var(--ease);
}
.access-out:hover{border-color:var(--violet);color:var(--violet);}
.access-page .footer{padding:50px 0 34px;}
.footer--simple .footer__bottom{justify-content:center;}

/* ---------- tela de bloqueio das páginas privadas ---------- */
.private-lock{display:none;}
html[data-private="locked"] body{background:var(--film);}
html[data-private="locked"] body > *:not(.private-lock){display:none !important;}
html[data-private="locked"] .private-lock{display:grid;place-items:center;min-height:100svh;padding:32px;}
.private-lock__card{
  width:100%;max-width:560px;padding:44px 40px;text-align:center;
  background:rgba(252,245,232,.06);border:1.5px solid rgba(252,245,232,.22);
  border-radius:18px 7px 20px 9px/9px 20px 7px 18px;
  color:var(--cream);box-shadow:0 30px 80px -40px #000;
}
.private-lock__mark{
  width:46px;height:46px;margin:0 auto 22px;border-radius:50%;
  border:1.5px solid rgba(252,245,232,.45);position:relative;display:block;
}
.private-lock__mark::before{
  content:"";position:absolute;inset:0;margin:auto;width:16px;height:12px;
  border-radius:2px;background:var(--violet-soft);
}
.private-lock__mark::after{
  content:"";position:absolute;left:0;right:0;top:8px;margin:auto;width:10px;height:9px;
  border:2px solid var(--violet-soft);border-bottom:0;border-radius:6px 6px 0 0;
}
.private-lock__card .eyebrow{color:var(--violet-soft);}
.private-lock__title{
  margin:10px 0 0;font-size:clamp(1.5rem,4.4vw,2.2rem);font-weight:800;
  line-height:1.05;letter-spacing:-.01em;color:var(--cream);
}
.private-lock__text{margin:18px auto 26px;max-width:42ch;font-size:14.5px;color:rgba(252,245,232,.78);}
.private-lock__card .btn{margin:0 auto;}
.private-lock__back{display:inline-block;margin-top:22px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(252,245,232,.55);border-bottom:1px solid rgba(252,245,232,.25);padding-bottom:4px;}
.private-lock__back:hover{color:var(--cream);}

/* ---------- assinatura "seleção preparada para..." ---------- */
.private-for{
  margin-top:20px;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--hand);font-size:20px;color:var(--violet-soft);
}
.private-for[hidden]{display:none;}
.private-for::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;}

@media (max-width:640px){
  .access{padding:120px 0 80px;}
  .access-card,.private-lock__card{padding:32px 22px;}
  .access-link{padding:20px 18px;}
}

/* ==========================================================================
   POPUP — PÁGINA DO ARTISTA
   ========================================================================== */

body.has-artist-modal { overflow: hidden; }

.grid-hint {
  font-family: var(--hand);
  font-size: 18px;
  color: var(--violet);
  margin: 0;
  text-align: right;
  max-width: 240px;
}

.artist-card__tag {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  background: var(--violet);
  color: var(--cream);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 5px 9px;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .3s var(--ease), transform .3s var(--ease);
  pointer-events: none;
}
.grid-photos figure:hover .artist-card__tag,
.grid-photos figure:focus-visible .artist-card__tag { opacity: 1; transform: none; }
@media (hover: none) { .artist-card__tag { opacity: .92; transform: none; } }

.artist-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 0;
  background: rgba(46, 28, 70, .55);
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s var(--ease), visibility .35s var(--ease);
}
.artist-modal.is-open { opacity: 1; visibility: visible; }

.artist-modal__sheet {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--paper);
  transform: translateY(18px) scale(.995);
  transition: transform .45s var(--ease);
  scrollbar-width: thin;
  scrollbar-color: var(--violet-soft) var(--paper-2);
}
.artist-modal.is-open .artist-modal__sheet { transform: none; }

@media (min-width: 1024px) {
  .artist-modal { padding: 24px; }
  .artist-modal__sheet {
    max-width: 1180px;
    height: calc(100vh - 48px);
    border-radius: 20px 8px 22px 10px / 10px 22px 8px 20px;
    box-shadow: 0 50px 120px -40px rgba(0, 0, 0, .6);
  }
}

.artist-modal__bar {
  position: sticky;
  top: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 22px;
  background: rgba(252, 245, 232, .94);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.artist-modal__back,
.artist-modal__close {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-2);
  transition: color .25s var(--ease);
}
.artist-modal__back:hover,
.artist-modal__close:hover { color: var(--violet-deep); }
.artist-modal__crumb {
  font-family: var(--hand);
  font-size: 16px;
  color: var(--ink-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.artist-modal__hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(430px, 66vh, 640px);
  padding: 96px 0 54px;
  overflow: hidden;
  background: #2E1C46;
}
.artist-modal__cover { position: absolute; inset: 0; z-index: 0; }
.artist-modal__cover img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(.96); }
.artist-modal__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to top, rgba(46, 28, 70, .96) 0%, rgba(46, 28, 70, .72) 46%, rgba(46, 28, 70, .34) 100%),
    radial-gradient(80% 60% at 20% 100%, rgba(155, 96, 220, .35), transparent 70%);
}
.artist-modal__intro { position: relative; z-index: 2; color: var(--cream); }
.artist-modal__kicker { color: var(--violet-soft); }
.artist-modal__name {
  margin: 8px 0 0;
  font-size: clamp(2.5rem, 7vw, 5.2rem);
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--cream);
}
.artist-modal__role {
  margin: 10px 0 0;
  font-family: var(--hand);
  font-size: 21px;
  color: var(--violet-soft);
}
.artist-modal__bio {
  max-width: 56ch;
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(252, 245, 232, .84);
}
.artist-modal__stats {
  display: flex;
  gap: 28px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.artist-modal__stats li { display: flex; align-items: baseline; gap: 7px; }
.artist-modal__stats strong { font-size: 24px; font-weight: 800; color: var(--cream); }
.artist-modal__stats span {
  font-family: var(--hand);
  font-size: 16px;
  color: rgba(252, 245, 232, .7);
}

.artist-modal__content { padding-top: 42px; padding-bottom: 70px; }

.artist-modal__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.artist-modal__filters { display: flex; gap: 8px; flex-wrap: wrap; }
.chip {
  padding: 7px 15px;
  border-radius: 999px;
  border: 1.5px solid var(--line-2);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-2);
  transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.chip:hover { border-color: var(--violet); color: var(--violet-deep); }
.chip.is-active { background: var(--violet); border-color: var(--violet); color: var(--cream); }
.artist-modal__count {
  margin: 0;
  font-family: var(--hand);
  font-size: 17px;
  color: var(--ink-3);
}

.artist-album { padding: 38px 0 12px; border-top: 1px dashed var(--line); margin-top: 22px; }
.artist-album:first-child { border-top: 0; margin-top: 0; }
.artist-album[hidden] { display: none; }
.artist-album__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 26px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.artist-album__title {
  margin: 4px 0 0;
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--ink);
}
.artist-album__desc { max-width: 44ch; margin: 0; font-size: 13.5px; color: var(--ink-2); }

.artist-media { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.artist-media__item {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--paper-3);
  border: 1.5px solid var(--line-2);
  border-radius: 12px 4px 14px 5px / 5px 14px 4px 12px;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.artist-media__item[hidden] { display: none; }
.artist-media__item--photo { cursor: zoom-in; }
.artist-media__item--photo:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.artist-media__item img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  transition: transform .6s var(--ease);
}
.artist-media__item--photo:hover img { transform: scale(1.03); }
.artist-media__item--video { grid-column: span 2; background: #1E1032; }
.artist-media__item video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  background: #1E1032;
}
.artist-media__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 26px 12px 9px;
  font-family: var(--hand);
  font-size: 15px;
  line-height: 1.15;
  color: var(--cream);
  background: linear-gradient(to top, rgba(30, 16, 50, .88), transparent);
  text-shadow: 0 2px 10px rgba(0, 0, 0, .5);
}

.artist-modal__empty {
  margin: 30px 0 0;
  padding: 34px;
  text-align: center;
  border: 1.5px dashed var(--line-2);
  border-radius: 14px;
  background: var(--paper-2);
}
.artist-modal__empty p:last-child { margin: 6px auto 0; max-width: 42ch; color: var(--ink-2); font-size: 14px; }

.artist-modal__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 42px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}
.artist-modal__cta-text { margin: 4px 0 0; font-size: 14px; color: var(--ink-2); }

@media (max-width: 760px) {
  .grid-hint { text-align: left; max-width: none; font-size: 16px; }
  .artist-modal__bar { padding: 12px 16px; }
  .artist-modal__crumb { display: none; }
  .artist-modal__hero { min-height: 72vh; padding: 90px 0 40px; }
  .artist-modal__content { padding-top: 30px; padding-bottom: 50px; }
  .artist-media { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .artist-media__item--video { grid-column: span 2; }
  .artist-album__head { gap: 10px; }
  .artist-modal__toolbar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .artist-modal__stats { gap: 20px; }
  .artist-modal__cta { flex-direction: column; align-items: flex-start; }
}

.lead__note {
  display: block;
  margin-top: 6px;
  font-family: var(--hand);
  font-size: 20px;
  color: var(--violet-soft);
}
