/* Eduardo Fuli: estúdio, FULI PRODUCER e PhotosFuli School.
   Uma só identidade (preto quente, dourado e marfim, como nas peças do estúdio).
   Cada frente muda só o tom do fundo, pela classe no <body>. */

:root {
  --bg: #100d09;
  --surface: #1a1510;
  --text: #efe7d6;
  --muted: #b3a78f;
  --primary: #c9a24b;
  --primary-hover: #dcb965;
  --on-primary: #14110a;
  --accent: #c9a24b;
  --soft: #6f5622;
  --line: rgba(239, 231, 214, 0.16);
  --band: #1e1811;
  --on-band: #efe7d6;
  --band-muted: #b3a78f;
  --band-accent: #dcb965;
  --footer: #070605;
  --on-footer: #b3a78f;
  --frame-a: #1d1812;
  --frame-b: #2b2316;
  --serif: "Zen Old Mincho", Georgia, "Times New Roman", serif;
  --sans: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --wrap: min(1180px, 100% - 2.5rem);
  color-scheme: dark;
}

/* FULI PRODUCER: preto puro */
.area-producer {
  --bg: #08080a;
  --surface: #121214;
  --muted: #aaa395;
  --band: #131316;
  --footer: #040405;
  --frame-a: #1b1b1e;
  --frame-b: #2a2417;
}

/* PhotosFuli School: paleta do logo (azul elétrico, ciano e branco sobre azul-noite) */
.area-escola {
  --bg: #050d18;
  --surface: #0b1a2e;
  --text: #eaf1fa;
  --muted: #9fb2c9;
  --primary: #0f66d6;
  --primary-hover: #1573e6;
  --on-primary: #ffffff;
  --accent: #38a6ff;
  --soft: #16407a;
  --line: rgba(234, 241, 250, 0.16);
  --band: #0a1a30;
  --on-band: #eaf1fa;
  --band-muted: #9fb2c9;
  --band-accent: #5cc3ff;
  --footer: #030812;
  --on-footer: #9fb2c9;
  --frame-a: #0b1a2e;
  --frame-b: #12315a;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }

a { color: var(--primary); text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:hover { color: var(--accent); }

:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.wrap { width: var(--wrap); margin-inline: auto; }

.skip {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--primary);
  color: var(--on-primary);
  padding: 0.6rem 1rem;
  z-index: 100;
}
.skip:focus { left: 0; }

/* Tipografia */
h1, h2, h3 {
  font-family: var(--serif);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 1rem;
  text-wrap: balance;
}
h1 { font-size: clamp(2.4rem, 6.2vw, 4.6rem); line-height: 1.1; }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.8rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.1rem; max-width: 62ch; }
.lead { font-size: 1.2rem; color: var(--muted); }

/* Cabeçalho */
.site-header { padding-block: 1.25rem; position: relative; }
.site-header__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.wordmark {
  font-family: var(--serif);
  font-weight: 900;
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: var(--text);
  white-space: nowrap;
}
.wordmark:hover { color: var(--text); }
.nav__list { display: flex; gap: 1.6rem; list-style: none; margin: 0; padding: 0; }
.nav__link {
  text-decoration: none;
  color: var(--text);
  font-weight: 500;
  font-size: 0.98rem;
  padding-block: 0.4rem;
  border-bottom: 1px solid transparent;
  white-space: nowrap;
}
.nav__link:hover { border-bottom-color: var(--accent); color: var(--text); }
.nav__link[aria-current="page"] { border-bottom-color: var(--accent); }
.nav__toggle {
  display: none;
  background: none;
  border: 1px solid var(--line);
  color: var(--text);
  font: inherit;
  font-weight: 500;
  padding: 0.45rem 0.9rem;
  cursor: pointer;
}

@media (max-width: 960px) {
  .nav__toggle { display: inline-block; }
  .nav__list {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    flex-direction: column;
    gap: 0;
    background: var(--surface);
    border-block: 1px solid var(--line);
    z-index: 30;
  }
  .nav__list[data-open="true"] { display: flex; }
  .nav__list li { border-bottom: 1px solid var(--line); }
  .nav__list li:last-child { border-bottom: 0; }
  .nav__link { display: block; padding: 1rem 1.25rem; border-bottom: 0; }
}

/* Botões */
.btn {
  display: inline-block;
  background: var(--primary);
  color: var(--on-primary);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  padding: 0.95rem 1.7rem;
  border: 1px solid var(--primary);
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.btn:hover { background: var(--primary-hover); border-color: var(--primary-hover); color: var(--on-primary); }
.btn--ghost { background: transparent; color: var(--primary); }
.btn--ghost:hover { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }
.btn--light { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.btn--light:hover { background: var(--on-band); border-color: var(--on-band); color: var(--on-primary); }
.actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 1.75rem; }

/* Molduras de foto (com fundo enquanto a imagem não existe) */
.frame {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: linear-gradient(160deg, var(--frame-a), var(--frame-b));
}
.frame--wide { aspect-ratio: 16 / 10; }
.frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.frame:not(:has(img))::after {
  content: attr(data-slot);
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  font-size: 0.78rem;
  color: var(--muted);
  opacity: 0.8;
  word-break: break-all;
}
.frame:empty:not([data-slot])::after { content: none; }

/* Seções */
.section { padding-block: clamp(3.5rem, 8vw, 7rem); }
.section--tight { padding-block: clamp(2.5rem, 5vw, 4rem); }
.section__head { margin-bottom: clamp(1.75rem, 4vw, 3rem); max-width: 40rem; }
.section__head p { color: var(--muted); }

/* Hero (estúdio) */
.hero { padding-block: clamp(1.5rem, 5vw, 4.5rem) clamp(3rem, 7vw, 6rem); }
.hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.hero__art { position: relative; }
.hero__art::before {
  content: "";
  position: absolute;
  inset: 0.9rem -0.9rem -0.9rem 0.9rem;
  border: 1px solid var(--accent);
}
.hero__art .frame {
  position: relative;
  z-index: 1;
  animation: unveil 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
@keyframes unveil {
  from { clip-path: inset(0 0 100% 0); }
  to { clip-path: inset(0 0 0 0); }
}
@media (max-width: 860px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero__art { max-width: 28rem; }
}

/* Hero de áreas (producer e escola): texto grande, sem foto obrigatória */
.hero-area { padding-block: clamp(3rem, 8vw, 7rem) clamp(3rem, 7vw, 6rem); }
.hero-area--band { background: var(--band); color: var(--on-band); }
.hero-area--band h1 { color: var(--on-band); }
.hero-area--band .lead { color: var(--band-muted); }
.hero-area__brand {
  font-family: var(--serif);
  font-weight: 900;
  font-size: 1.1rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 1.25rem;
}
.hero-area--band .hero-area__brand { color: var(--band-accent); }
.hero-area h1 { max-width: 16ch; }
.hero-area__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.hero-area__logo { width: 100%; max-width: 22rem; justify-self: center; mix-blend-mode: lighten; }
@media (max-width: 860px) { .hero-area__grid { grid-template-columns: 1fr; } .hero-area__logo { max-width: 13rem; justify-self: start; } }
.hero-area .lead { max-width: 52ch; }

/* As três frentes (home) */
.doors { display: flex; gap: 0.75rem; min-height: 32rem; }
.door {
  position: relative;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.75rem;
  overflow: hidden;
  text-decoration: none;
  color: var(--door-text);
  background: var(--door-bg);
  transition: flex-grow 0.5s ease;
}
.door:hover { flex-grow: 1.45; color: var(--door-text); }
.door img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.door::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0) 62%);
}
.door > span { position: relative; z-index: 1; }
.door__name { font-family: var(--serif); font-weight: 900; font-size: clamp(1.7rem, 2.6vw, 2.3rem); line-height: 1.1; margin-bottom: 0.5rem; }
.door__text { max-width: 30ch; margin-bottom: 1rem; opacity: 0.92; }
.door__go { font-weight: 600; border-bottom: 1px solid var(--door-accent); align-self: flex-start; padding-bottom: 0.15rem; }
.door--estudio { --door-bg: #1c1710; --door-text: #efe7d6; --door-accent: #c9a24b; }
.door--producer { --door-bg: #000; --door-text: #efe7d6; --door-accent: #c9a24b; }
.door--escola { --door-bg: #050d18; --door-text: #eaf1fa; --door-accent: #38a6ff; }
@media (max-width: 860px) {
  .doors { flex-direction: column; min-height: 0; }
  .door { min-height: 16rem; }
}

/* Índice de ensaios */
.index {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.index__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.index__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: baseline;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  color: var(--text);
}
.index__title {
  font-family: var(--serif);
  font-weight: 700;
  font-size: clamp(1.6rem, 3.2vw, 2.5rem);
  line-height: 1.15;
  transition: transform 0.25s ease, color 0.25s ease;
}
.index__meta { font-size: 0.95rem; color: var(--muted); text-align: right; }
.index__link:hover .index__title,
.index__link:focus-visible .index__title { transform: translateX(0.6rem); color: var(--primary); }
.index__preview { position: sticky; top: 1.5rem; }
.index__preview .frame { aspect-ratio: 3 / 4; }
.index__more { margin-top: 1.75rem; }
@media (max-width: 860px) {
  .index { grid-template-columns: 1fr; }
  .index__preview { display: none; }
}

/* Sobre */
.about-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.facts { list-style: none; margin: 1.75rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.facts li { font-family: var(--serif); font-size: 1.3rem; padding: 0.75rem 0; border-bottom: 1px solid var(--line); }
.band .facts, .band .facts li { border-color: var(--line); }
@media (max-width: 860px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-grid .frame { max-width: 26rem; }
}

/* Campanha (home) */
.campaign__grid { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.campaign .frame { max-width: 26rem; box-shadow: 0 0 0 1px var(--line); }
@media (max-width: 860px) { .campaign__grid { grid-template-columns: 1fr; } }

/* Depoimentos */
.quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2.75rem 3rem; }
.quote { margin: 0; border-left: 2px solid var(--soft); padding-left: 1.25rem; }
.quote p { font-family: var(--serif); font-size: 1.25rem; line-height: 1.5; margin-bottom: 0.75rem; }
.quote footer { font-size: 0.95rem; color: var(--muted); }

/* Faixas de cor */
.band { background: var(--band); color: var(--on-band); }
.band h2, .band h3 { color: var(--on-band); }
.band p { color: var(--band-muted); }
.band a:not(.btn) { color: var(--band-accent); }
.band-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
@media (max-width: 860px) { .band-grid { grid-template-columns: 1fr; } }

/* Galerias (grade de capas) */
.filters { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 2rem; }
.filter {
  font: inherit;
  font-weight: 500;
  background: transparent;
  color: var(--text);
  border: 1px solid var(--text);
  padding: 0.5rem 1.1rem;
  border-radius: 2px;
  cursor: pointer;
}
.filter[aria-pressed="true"] { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }
.grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 2.25rem 1.5rem;
}
@media (max-width: 600px) {
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 0.9rem; }
  .tile__cap strong { font-size: 1.1rem; }
}
.tile[hidden] { display: none; }
.tile__btn {
  display: block;
  width: 100%;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.tile__btn .frame img { transition: transform 0.5s ease; }
.tile__btn:hover .frame img { transform: scale(1.03); }
.tile__cap { display: block; padding-top: 0.7rem; }
.tile__cap strong { font-family: var(--serif); font-size: 1.3rem; display: block; line-height: 1.2; }
.tile__cap span { font-size: 0.92rem; color: var(--muted); }
.tile--video .play {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: 3.6rem;
  height: 3.6rem;
  margin: -1.8rem 0 0 -1.8rem;
  border: 1px solid var(--accent);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
}
.tile--video .play::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -0.55rem 0 0 -0.3rem;
  border-style: solid;
  border-width: 0.55rem 0 0.55rem 0.9rem;
  border-color: transparent transparent transparent var(--accent);
}

/* Lightbox (fotos e vídeo) */
.lb {
  border: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  background: rgba(8, 7, 5, 0.97);
  color: var(--text);
}
.lb::backdrop { background: rgba(8, 7, 5, 0.97); }
.lb__inner { height: 100%; display: grid; grid-template-rows: auto 1fr auto; padding: 1rem; }
.lb__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.lb__title { font-family: var(--serif); font-size: 1.3rem; font-weight: 700; margin: 0; color: var(--text); }
.lb__stage { position: relative; min-height: 0; display: grid; place-items: center; }
.lb__img {
  max-width: 100%;
  max-height: calc(100vh - 9rem);
  max-height: calc(100dvh - 9rem);
  object-fit: contain;
}
.lb__video { width: min(100%, 1100px); aspect-ratio: 16 / 9; border: 0; background: #000; }
.lb__empty { color: var(--muted); max-width: 28rem; text-align: center; }
.lb__btn {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line);
  font: inherit;
  padding: 0.5rem 1rem;
  cursor: pointer;
  border-radius: 2px;
}
.lb__btn:hover { background: rgba(239, 231, 214, 0.1); border-color: var(--accent); }
.lb__nav { display: flex; justify-content: center; align-items: center; gap: 1rem; padding-top: 0.75rem; }
.lb__count { min-width: 5rem; text-align: center; color: var(--muted); }

/* Páginas internas */
.page-head { padding-block: clamp(2rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem); }
.prose p { max-width: 64ch; }
.cols-2 { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
@media (max-width: 860px) { .cols-2 { grid-template-columns: 1fr; } }

.rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.rows li { padding: 0.8rem 0; border-bottom: 1px solid var(--line); }

/* Serviços (producer) */
.svc { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.svc li {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1rem 2.5rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--line);
}
.svc h3 { margin: 0; font-size: 1.5rem; }
.svc p { margin: 0; color: var(--muted); }
@media (max-width: 700px) { .svc li { grid-template-columns: 1fr; gap: 0.4rem; } }

/* Passos (área do cliente): é uma sequência de verdade */
.steps { list-style: none; margin: 0; padding: 0; counter-reset: step; border-top: 1px solid var(--line); }
.steps li {
  counter-increment: step;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--line);
}
.steps li::before {
  content: counter(step);
  font-family: var(--serif);
  font-weight: 900;
  font-size: 2.2rem;
  line-height: 1;
  color: var(--accent);
}
.steps h3 { margin-bottom: 0.25rem; font-size: 1.3rem; }
.steps p { margin: 0; color: var(--muted); }

.module { padding-block: 1.5rem; border-top: 1px solid var(--line); }
.module h3 { margin-bottom: 0.35rem; }
.module .tagline { color: var(--muted); margin-bottom: 0.75rem; }
.module ul { margin: 0; padding-left: 1.1rem; }
.module li { margin-bottom: 0.3rem; }

.price { border: 1px solid var(--primary); padding: 1.75rem; background: var(--surface); }
.price__value { font-family: var(--serif); font-size: 2.6rem; font-weight: 900; line-height: 1.1; margin: 0 0 0.5rem; }
.price p { margin-bottom: 0.5rem; }

.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.card { background: var(--surface); border: 1px solid var(--line); padding: 1.6rem; }
.card h3 { margin-bottom: 0.5rem; }
.card p { color: var(--muted); }
.card .btn, .card .actions { margin-top: 0.5rem; }

.contact-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.contact-list li { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding: 0.95rem 0; border-bottom: 1px solid var(--line); }
.contact-list b { font-weight: 600; }
@media (max-width: 520px) { .contact-list li { grid-template-columns: 1fr; gap: 0.1rem; } }

/* Rodapé */
.site-footer { background: var(--footer); color: var(--on-footer); padding-block: 3rem 5rem; border-top: 1px solid var(--line); }
.site-footer a { color: var(--text); }
.site-footer a:hover { color: var(--band-accent); }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 2.5rem; }
.footer-grid h2 { font-size: 1.1rem; margin-bottom: 0.6rem; color: var(--text); }
.footer-grid p, .footer-grid ul { margin: 0; padding: 0; list-style: none; }
.footer-grid li { margin-bottom: 0.3rem; }
.footer-note { margin-top: 2.5rem; font-size: 0.9rem; opacity: 0.85; }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }

/* WhatsApp flutuante */
.wa {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 40;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #17794a;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  padding: 0.75rem 1.1rem;
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(14, 19, 29, 0.28);
}
.wa:hover { background: #115d39; color: #fff; }
.wa svg { width: 1.2rem; height: 1.2rem; fill: currentColor; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero__art .frame { animation: none; }
  .index__title, .tile__btn .frame img, .door { transition: none; }
}

/* Porta da Producer: logo inteiro, acima do texto */
.door--producer img { height: 62%; object-fit: contain; object-position: center; }

/* Seletor de idioma */
.lang { display: flex; gap: 0.15rem; font-size: 0.85rem; margin-left: 1.25rem; }
.lang span { padding: 0.25rem 0.55rem; border: 1px solid transparent; }
.lang__on { border-color: var(--accent) !important; color: var(--text); }

@media (max-width: 960px) { .lang { margin-left: 0; } .site-header__row { flex-wrap: wrap; } }

/* Campanha (página de leads) */
.camp-hero { padding-block: clamp(2rem, 6vw, 5rem); }
.camp-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.camp-hero .frame { max-width: 30rem; justify-self: center; width: 100%; box-shadow: 0 0 0 1px var(--line); }
@media (max-width: 860px) { .camp-hero__grid { grid-template-columns: 1fr; } }
.camp-form { max-width: 40rem; }
.lead-form { display: grid; gap: 1.1rem; margin-top: 1.5rem; }
.lead-form label { display: grid; gap: 0.35rem; font-weight: 500; }
.lead-form input[type="text"], .lead-form input[type="tel"], .lead-form select {
  font: inherit; color: var(--text); background: var(--bg); border: 1px solid var(--line);
  padding: 0.8rem 0.9rem; border-radius: 2px; width: 100%;
}
.lead-form input:focus-visible, .lead-form select:focus-visible { border-color: var(--accent); }
.lead-form .check { display: flex; gap: 0.7rem; align-items: flex-start; font-weight: 400; color: var(--band-muted); }
.lead-form .check input { margin-top: 0.35rem; accent-color: var(--primary); }
.lead-form .hp { position: absolute; left: -9999px; }
.lead-form button { justify-self: start; }
.lead-form__status { margin: 0; min-height: 1.5rem; color: var(--band-accent); }
.lead-form__status[data-bad="true"] { color: #f0a08a; }
.faq-wrap { max-width: 46rem; }
.faq { border-top: 1px solid var(--line); padding: 1rem 0; }
.faq:last-of-type { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; font-family: var(--serif); font-weight: 700; font-size: 1.2rem; }
.faq p { margin: 0.7rem 0 0; color: var(--muted); }

/* Hero com slider */
.hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); }
.hero h1 { font-size: clamp(2.1rem, 4.6vw, 3.9rem); max-width: 17ch; }
.slider { position: relative; aspect-ratio: 4 / 5; background: var(--frame-a); z-index: 1; overflow: hidden; }
.slider__track { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.9s ease; pointer-events: none; }
.slide.is-active { opacity: 1; pointer-events: auto; }
.slide a { display: block; width: 100%; height: 100%; color: #fff; text-decoration: none; }
.slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.slide a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0) 38%); }
.slide__cap { position: absolute; left: 1.1rem; bottom: 1.1rem; z-index: 1; font-family: var(--serif); font-weight: 700; font-size: 1.15rem; color: #efe7d6; }
.slider__ui { position: absolute; right: 0.9rem; bottom: 0.9rem; z-index: 3; display: flex; align-items: center; gap: 0.5rem; }
.slider__count { font-size: 0.85rem; min-width: 3.2rem; text-align: center; color: #efe7d6; }
.slider__btn {
  width: 2.5rem; height: 2.5rem; display: grid; place-items: center; cursor: pointer;
  background: rgba(8, 7, 5, 0.55); color: #efe7d6; border: 1px solid rgba(239, 231, 214, 0.4);
  border-radius: 50%; font: inherit; font-size: 1.1rem; line-height: 1;
}
.slider__btn:hover { border-color: var(--accent); color: var(--accent); }
@media (max-width: 860px) { .hero__art { max-width: 30rem; } }

/* Números */
.stats { border-block: 1px solid var(--line); background: var(--surface); }
.stats__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.stats__list li { padding: 1.6rem 1rem; display: grid; gap: 0.15rem; border-left: 1px solid var(--line); }
.stats__list li:first-child { border-left: 0; padding-left: 0; }
.stats__list b { font-family: var(--serif); font-weight: 900; font-size: clamp(1.8rem, 3.6vw, 2.8rem); line-height: 1.1; color: var(--accent); }
.stats__list span { color: var(--muted); font-size: 0.95rem; }
@media (max-width: 700px) {
  .stats__list { grid-template-columns: 1fr 1fr; }
  .stats__list li:nth-child(odd) { border-left: 0; padding-left: 0; }
  .stats__list li:nth-child(n+3) { border-top: 1px solid var(--line); }
}

/* Faixa de portfólio */
.showcase__head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.75rem; }
.showcase__head h2 { margin: 0; }
.showcase__nav { display: flex; gap: 0.5rem; }
.showcase__nav .slider__btn { background: transparent; }
.showcase__rail {
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--soft) transparent;
  padding-inline: max(1.25rem, calc((100vw - 1180px) / 2)); padding-bottom: 1rem;
  scroll-padding-inline: max(1.25rem, calc((100vw - 1180px) / 2));
}
.showcase__rail ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1rem; width: max-content; }
.showcase__rail li { scroll-snap-align: start; }
.showcase__rail a { position: relative; display: block; width: clamp(15rem, 24vw, 19rem); aspect-ratio: 2 / 3; overflow: hidden; background: var(--frame-a); color: #efe7d6; text-decoration: none; }
.showcase__rail img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.showcase__rail a:hover img { transform: scale(1.04); }
.showcase__rail a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0) 35%); }
.showcase__rail span { position: absolute; left: 0.9rem; bottom: 0.8rem; z-index: 1; font-family: var(--serif); font-weight: 700; }
.showcase__rail:focus-visible { outline-offset: -3px; }
.grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
@media (prefers-reduced-motion: reduce) { .slide { transition: none; } .showcase__rail img { transition: none; } }

/* FULI PRODUCER: logo no cabeçalho e janela de trabalhos */
.wordmark--logo { display: block; line-height: 0; }
.wordmark--logo img { height: 5.6rem; width: auto; mix-blend-mode: lighten; }
.area-producer .site-header { padding-block: 0.7rem; border-bottom: 1px solid var(--line); }
@media (max-width: 960px) { .wordmark--logo img { height: 4.2rem; } }
.hero-area__grid .hero__art::before { display: none; }
.slider--wide { aspect-ratio: 4 / 3; }
.slider--wide .slide a { background: linear-gradient(150deg, var(--frame-a), var(--frame-b)); }
.slide__ph { position: absolute; inset: 0; display: grid; place-items: center; padding: 2rem; text-align: center;
  font-family: var(--serif); font-weight: 900; font-size: clamp(1.4rem, 3vw, 2.2rem); color: var(--accent); opacity: 0.55; }
.slide__cap small { display: block; font-family: var(--sans); font-weight: 500; font-size: 0.8rem; color: var(--band-accent); letter-spacing: 0.04em; }
.area-producer .slide a { border: 1px solid var(--line); }

/* Logo do estúdio no cabeçalho */
.wordmark--studio { display: block; line-height: 0; }
.wordmark--studio img { height: 2.9rem; width: auto; }
@media (max-width: 960px) { .wordmark--studio img { height: 2.3rem; } }

/* PhotosFuli School: logo, hero e moldura "visor" */
.wordmark--escola { display: block; line-height: 0; }
.wordmark--escola img { height: 3.1rem; width: auto; }
@media (max-width: 960px) { .wordmark--escola img { height: 2.4rem; } }
.area-escola .site-header { border-bottom: 1px solid var(--line); }
.area-escola .btn--light { background: var(--primary); }
.school-hero { padding-block: clamp(2.5rem, 7vw, 6rem); position: relative; overflow: hidden;
  background: radial-gradient(60rem 28rem at 78% -10%, rgba(21, 115, 230, 0.35), transparent 70%); }
.school-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.school-hero h1 { font-size: clamp(2.1rem, 4.6vw, 3.9rem); max-width: 17ch; }
@media (max-width: 860px) { .school-hero__grid { grid-template-columns: 1fr; } }
.viewfinder { position: relative; max-width: 30rem; width: 100%; justify-self: center; padding: 1.1rem; }
.viewfinder::before, .viewfinder::after {
  content: ""; position: absolute; width: 3.2rem; height: 3.2rem; border: 3px solid var(--accent); pointer-events: none; }
.viewfinder::before { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.viewfinder::after { right: 0; bottom: 0; border-left: 0; border-top: 0; }
.viewfinder .frame { aspect-ratio: 4 / 5; }
.hero-area--glow { background: radial-gradient(50rem 22rem at 80% -20%, rgba(21, 115, 230, 0.4), transparent 70%), var(--band); }
.area-escola .card { border-top: 2px solid var(--accent); }
.area-escola .card a { color: var(--band-accent); font-weight: 600; }
.area-escola .steps li::before, .area-escola .stats__list b { color: var(--accent); }
.area-escola .price { background: var(--surface); }

/* Enquadramento: rostos ficam no terço de cima, então o corte prioriza o topo da foto */
.frame img, .slide img { object-position: 50% 12%; }
.door img { object-position: 50% 10%; }
.about-grid .frame img, .viewfinder .frame img, .door--escola img { object-position: 50% 0%; }
.slide:nth-child(4) img { object-position: 50% 0%; }

/* Portfólio: fotos em sua maioria horizontais, então a vitrine usa 4:3 e não corta as pessoas */
.grid .frame { aspect-ratio: 4 / 3; }
.grid .frame img { object-position: 50% 30%; }

/* ===== Slide inicial: horizontais e verticais ===== */
.hero__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr); }
.slider { aspect-ratio: 3 / 2; }
.slide--v .slide__blur { position: absolute; inset: -8%; width: 116%; height: 116%; object-fit: cover; filter: blur(22px) brightness(0.5); }
.slide--v .slide__main { object-fit: contain; object-position: 50% 50%; }
.slide__cap { text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6); }
/* Faixa de portfólio: cada foto na proporção original, sem cortar */
.showcase__rail a { width: auto; height: clamp(15rem, 34vw, 23rem); aspect-ratio: var(--ar, 3 / 2); }
.showcase__rail img { object-position: 50% 30%; }

/* ===== Celular: nada de texto por cima de rosto ===== */
.slide__ph { display: none; }
.frame:not(:has(img))::after { content: "Em breve"; word-break: normal; }
@media (max-width: 860px) {
  .hero__grid { grid-template-columns: minmax(0, 1fr); }
  .hero__art { max-width: none; }
  .hero__art::before { inset: 0.6rem -0.4rem -0.6rem 0.4rem; }
  .slider { aspect-ratio: 4 / 3; }
  .slider--wide { aspect-ratio: 16 / 10; }
  .doors { gap: 1rem; }
  .door { flex: 0 0 auto; min-height: 0; padding: 0; justify-content: flex-start; background: var(--door-bg); }
  .door::after { display: none; }
  .door img { position: static; display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
  .door--producer img { aspect-ratio: 16 / 9; object-fit: contain; padding: 1.2rem; background: #000; height: auto; }
  .door > span { padding-inline: 1.25rem; }
  .door__name { margin-top: 1.1rem; }
  .door__go { margin-bottom: 1.4rem; }
}

.clients{margin-top:1.25rem;font-family:var(--serif);font-size:1.15rem;color:var(--text)}
.clients span{display:block;font-family:var(--sans);font-size:.85rem;color:var(--muted);margin-bottom:.25rem}

/* depoimentos + redes */
.reviews__track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.25rem .25rem 1rem;scrollbar-width:thin}
.rev{flex:0 0 min(340px,82vw);scroll-snap-align:start;text-align:left;background:var(--surface);border:1px solid var(--line);color:var(--text);padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;cursor:pointer;font:inherit}
.rev:hover,.rev:focus-visible{border-color:var(--accent)}
.rev__stars{color:var(--accent);letter-spacing:.15em}
.rev__q{font-family:var(--serif);font-size:1.15rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rev__a{font-size:.9rem;color:var(--muted);margin-top:auto}
.reviews__more{margin-top:1.25rem}
.rv{border:1px solid var(--line);background:var(--bg);color:var(--text);max-width:min(560px,92vw);padding:0}
.rv::backdrop{background:rgba(0,0,0,.7)}
.rv__box{padding:2rem;display:flex;flex-direction:column;gap:.9rem}
.rv__text{font-family:var(--serif);font-size:1.35rem;line-height:1.5;margin:0}
.rv__who{color:var(--muted);margin:0}.rv__src{color:var(--accent);font-size:.85rem;margin:0}.rv__src:empty{display:none}
.rv__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}
.social{display:flex;gap:.75rem;flex-wrap:wrap}
.ig{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}
.ig img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.ig li{position:relative}.ig__play{position:absolute;right:.5rem;top:.5rem;background:rgba(0,0,0,.6);color:#fff;font-size:.7rem;line-height:1;padding:.3rem .4rem;border-radius:4px;pointer-events:none}
.ig__tabs{display:flex;gap:.5rem;margin:0 0 .75rem}.ig__tabs button{font:inherit;cursor:pointer;padding:.4rem .9rem;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;opacity:.65}.ig__tabs button[aria-pressed=true]{opacity:1;font-weight:600}
.rv__link[hidden]{display:none}

.reviews{position:relative}
.reviews__nav{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.9rem}
.reviews__btn{width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:1.1rem;cursor:pointer}
.reviews__btn:hover{border-color:var(--accent)}
.area-escola .rows a { color: var(--band-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Miniaturas dos ensaios: a foto aparece inteira, sem cortar ninguém, sobre um fundo desfocado dela mesma */
.frame--fit .frame__blur { object-fit: cover; object-position: 50% 50%; filter: blur(24px) saturate(1.1); transform: scale(1.2); opacity: 0.9; }
.frame--fit .frame__main { object-fit: contain; object-position: 50% 50%; }
.tile__btn:hover .frame--fit .frame__blur { transform: scale(1.25); }
.grid .frame.frame--fit { aspect-ratio: 1 / 1; }

/* Enciclopédia da Fotografia */
.kicker { color: var(--accent); font-weight: 600; letter-spacing: 0.04em; margin-bottom: 0.6rem; }
.wrap-narrow { width: min(760px, 100% - 2.5rem); margin-inline: auto; }
.viewfinder--book { max-width: 24rem; }
.viewfinder--book .frame { aspect-ratio: 535 / 742; }
.card .quote { font-family: var(--serif); font-style: italic; color: var(--text); font-size: 1.15rem; }
.ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; max-width: 52rem; }
.step-lvl { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.25rem; padding: 1.6rem 0; border-top: 1px solid var(--line); }
.step-lvl__n { width: 2.8rem; height: 2.8rem; border: 1px solid var(--accent); border-radius: 50%; display: grid; place-items: center; color: var(--accent); font-family: var(--serif); font-size: 1.3rem; font-weight: 700; }
.step-lvl h3 { margin: 0.15rem 0 0.2rem; }
.step-lvl p { margin: 0 0 0.4rem; color: var(--muted); max-width: 40rem; }
.step-lvl .step-lvl__eb { font-size: 0.85rem; color: var(--accent); margin: 0; }
.step-lvl .step-lvl__sub { color: var(--text); font-style: italic; }
.vol-group { margin: 2rem 0 0.5rem; font-size: 1.05rem; color: var(--accent); padding-bottom: 0.5rem; border-bottom: 1px solid var(--line); }
.vols { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; }
.vols li { display: flex; gap: 1rem; padding: 0.6rem 0; border-bottom: 1px solid var(--line); }
.vols b { flex: 0 0 3rem; font-family: var(--serif); color: var(--accent); }
.vols span { display: grid; min-width: 0; }
.vols em { color: var(--muted); font-size: 0.92rem; }
@media (max-width: 700px) { .vols { grid-template-columns: 1fr; } }
.faq { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 1.1rem 0; font-family: var(--serif); font-size: 1.15rem; font-weight: 700; }
.faq summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.faq p { color: var(--muted); padding-bottom: 1.1rem; max-width: 40rem; }

/* Seletor de idioma */
.lang__link { padding: 0.25rem 0.55rem; border: 1px solid transparent; color: var(--muted); text-decoration: none; }
.lang__link:hover, .lang__link:focus-visible { color: var(--text); border-color: var(--line); }
.lang span { cursor: default; }
html[lang="ja"] body { font-family: var(--sans), "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; line-height: 1.85; }
html[lang="ja"] h1, html[lang="ja"] h2, html[lang="ja"] h3 { line-height: 1.4; word-break: auto-phrase; }

/* Instagram em carrossel */
.igc{position:relative}
.ig.ig--car{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ig.ig--car::-webkit-scrollbar{display:none}
.ig.ig--car li{flex:0 0 clamp(150px,22vw,240px);scroll-snap-align:start;border-radius:6px;overflow:hidden}
.igc__btn{position:absolute;top:calc(50% - 1.6rem);z-index:2;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--line);background:rgba(8,8,10,.72);color:var(--text);font-size:1.15rem;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(4px)}
.igc__btn:hover{border-color:var(--primary);color:var(--primary)}.igc__prev{left:.4rem}.igc__next{right:.4rem}
@media(hover:none){.igc__btn{display:none}}

/* Fotos da escola, capas de e-books */
.pcar{position:relative}
.pcar__track{list-style:none;margin:0;padding:0;display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.pcar__track::-webkit-scrollbar{display:none}
.pcar__track li{flex:0 0 clamp(250px,34vw,440px);scroll-snap-align:start;margin:0}
.pcar__track figure{margin:0;position:relative;overflow:hidden;border-radius:6px;background:var(--surface)}
.pcar__track img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:zoom-in}
.pcar__track figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .7rem;font-size:.85rem;line-height:1.3;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.plb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1.2rem;cursor:zoom-out}
.plb img{max-width:100%;max-height:82vh;object-fit:contain}
.plb p{color:#fff;margin:0;max-width:60ch;text-align:center;font-size:.95rem}
.plb button{position:absolute;top:.8rem;right:1rem;background:none;border:0;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.card__cover{display:block;width:100%;max-height:300px;object-fit:contain;margin:0 auto 1rem}
.band__book{margin:0 auto 1.2rem;width:min(200px,55%)}
.band__book img{display:block;width:100%;height:auto;box-shadow:0 12px 30px rgba(0,0,0,.35)}

/* Método da escola e imagens dos cartões */
.method{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:1000px){.method{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.method{grid-template-columns:1fr}}
.method li{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--accent,var(--primary));overflow:hidden;display:flex;flex-direction:column}
.method__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.method__n{margin:1.1rem 1.2rem .25rem;font-size:.8rem;letter-spacing:.08em;color:var(--primary);font-weight:600}
.method h3{margin:0 1.2rem .4rem}.method p{margin:0 1.2rem 1.3rem;color:var(--muted)}
.method-more{margin-top:1.4rem}
.card__cover--wide{max-height:none;aspect-ratio:16/10;object-fit:cover;width:calc(100% + 3.2rem);max-width:none;margin:-1.6rem -1.6rem 1.1rem}

/* modo de visualização da escola: espaços tracejados onde falta imagem */
.ph{display:none}
.escola-preview .ph{display:grid;place-items:center;text-align:center;padding:1rem;border:2px dashed var(--accent,#4a6fe0);border-radius:6px;color:var(--muted);font-size:.9rem;background:rgba(74,111,224,.07);min-height:7rem}
.escola-preview img:not([hidden])+.ph{display:none!important}
.escola-preview .ph--method{aspect-ratio:4/3}
.escola-preview .ph--wide{aspect-ratio:16/10;width:100%}
.escola-preview .ph--cover{aspect-ratio:3/4;max-width:200px;margin:0 auto 1rem}
.escola-preview .band__book .ph{min-height:0}
.escola-preview::before{content:"MODO DE VISUALIZAÇÃO: os espaços tracejados somem quando você desligar este modo no painel (Fotos da escola)";display:block;position:sticky;top:0;z-index:50;background:#b45309;color:#fff;text-align:center;padding:.5rem 1rem;font-size:.85rem}
.pcar__track li.is-ph{flex:0 0 min(78%,340px)}
.quote__img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block;margin-bottom:.8rem}
img[hidden]{display:none!important}

/* destaque de lançamento na escola */
.launch-wrap{padding-block:2.2rem 0}
.launch{display:grid;gap:0;border:1px solid var(--accent,#3b6cf0);background:linear-gradient(135deg,rgba(59,108,240,.18),rgba(59,108,240,.04));overflow:hidden}
.launch--img{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.launch__img{display:block;width:100%;height:100%;min-height:240px;object-fit:cover}
.launch__body{padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.launch__body h2{margin:0}
.launch__body p{margin:0;max-width:46ch}
.launch__badge{background:var(--accent,#3b6cf0);color:#fff;font-size:.8rem;letter-spacing:.04em;padding:.25rem .7rem;border-radius:999px}
.launch__meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
.launch__meta b{margin-right:.4rem}
@media(max-width:760px){.launch--img{grid-template-columns:1fr}.launch__img{min-height:180px;max-height:260px}}
.launch-bar{display:block;background:var(--accent,#3b6cf0);color:#fff;text-decoration:none;font-size:.95rem}
.launch-bar:hover{filter:brightness(1.1)}
.launch-bar__in{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding-block:.65rem}
.launch-bar__badge{background:#fff;color:#0b1b4d;padding:.1rem .6rem;border-radius:999px;font-size:.78rem}
.launch-bar__go{margin-left:auto;font-weight:600}

/* ===== Landing do curso para iniciantes ===== */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.page-curso .lp-hero{padding-block:clamp(2rem,5vw,4.5rem) clamp(2.5rem,6vw,5rem);background:radial-gradient(60% 70% at 78% 40%,rgba(56,166,255,.20),transparent 70%),var(--bg)}
.lp-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.lp-badge{display:inline-block;margin:0 0 1.1rem;background:var(--accent);color:#04101f;font-weight:600;font-size:.85rem;padding:.3rem .8rem;border-radius:999px}
.lp-hero h1{margin:0 0 1.1rem;font-size:clamp(2.3rem,5.4vw,4.2rem);line-height:1.04;text-wrap:balance}
.lp-hero .lead{max-width:34em}
.lp-facts{list-style:none;margin:2rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem 2.2rem}
.lp-facts li{display:flex;flex-direction:column;gap:.1rem}
.lp-facts b{font-family:var(--serif);font-size:1.5rem;color:var(--accent)}
.lp-facts span{color:var(--muted);font-size:.92rem}
.lp-book-wrap{margin:0;display:flex;flex-direction:column;align-items:center;gap:1.1rem;perspective:1500px}
.lp-book{--rx:0deg;--ry:-14deg;position:relative;width:min(100%,400px);transform:rotateY(var(--ry)) rotateX(var(--rx));transform-style:preserve-3d;transition:transform .25s ease-out;box-shadow:-26px 30px 60px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.07)}
.lp-book img{display:block;width:100%;height:auto;border-radius:3px 6px 6px 3px}
.lp-book::before{content:"";position:absolute;inset:0 auto 0 0;width:7%;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(255,255,255,.14) 45%,rgba(0,0,0,0) 100%);border-radius:3px 0 0 3px;pointer-events:none;z-index:1}
.lp-book::after{content:"";position:absolute;inset:3px -9px 3px auto;width:9px;background:repeating-linear-gradient(180deg,#e7edf5 0 2px,#b9c4d2 2px 3px);border-radius:0 3px 3px 0;transform:translateZ(-1px)}
.lp-book-wrap figcaption{color:var(--muted);font-size:.92rem;text-align:center;max-width:26em}
@media(prefers-reduced-motion:reduce){.lp-book{transition:none}}
.lp-lab-sec{background:var(--surface)}
.lab{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.2rem,4vw,3rem);align-items:center;margin-top:1.5rem}
.lab__view{display:flex;justify-content:center}
.lab__stage{position:relative;width:min(100%,380px);aspect-ratio:2/3;overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:0 22px 50px rgba(0,0,0,.45);transition:filter .12s}
.lab__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lab__sharp{-webkit-mask-image:radial-gradient(ellipse 44% 56% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 44% 56% at 50% 50%,#000 58%,transparent 100%)}
.lab__over{position:absolute;inset:0;background:#fff;opacity:0;mix-blend-mode:screen;pointer-events:none}
.lab__grain{position:absolute;inset:0;opacity:0;mix-blend-mode:overlay;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='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.2'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");background-size:180px}
.lab__panel{display:flex;flex-direction:column;gap:1.1rem}
.lab__ctl{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:baseline}
.lab__ctl label{font-weight:600}
.lab__ctl output{font-family:var(--serif);font-size:1.4rem;color:var(--accent);font-variant-numeric:tabular-nums}
.lab__ctl input{grid-column:1/-1;width:100%;accent-color:var(--accent);height:1.6rem}
.meter{position:relative;height:2.6rem;margin-top:.4rem}
.meter__bar{position:absolute;left:0;right:0;top:0;height:.7rem;border-radius:999px;background:linear-gradient(90deg,#15233a,#1f7a52 44%,#27b373 50%,#1f7a52 56%,#d9e6f5)}
.meter__pin{position:absolute;top:-.25rem;left:50%;width:1.2rem;height:1.2rem;margin-left:-.6rem;border-radius:50%;background:#fff;border:3px solid var(--accent);transition:left .15s}
.meter__pin[data-k=ok]{border-color:#27b373}
.meter span:not(.meter__bar):not(.meter__pin){position:absolute;top:1.1rem;font-size:.8rem;color:var(--muted)}
.meter__l{left:0}.meter__m{left:50%;transform:translateX(-50%);color:#27b373!important}.meter__r{right:0}
.lab__ev{margin:0;color:var(--muted)}
.lab__ev b{color:var(--text);font-variant-numeric:tabular-nums}
.lab__msg{margin:0;min-height:3.6em;font-family:var(--serif);font-size:1.25rem;line-height:1.35}
.lab__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem}
.lab__note{margin:0;color:var(--muted);font-size:.85rem;max-width:26em}
.lp-stats{list-style:none;margin:1.8rem 0 2.2rem;padding:0;display:flex;flex-wrap:wrap;gap:1rem 3rem}
.lp-stats li{display:flex;align-items:baseline;gap:.6rem}
.lp-stats b{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;color:var(--band-accent)}
.lp-stats span{color:var(--band-muted)}
.lp-mods{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 2rem}
.lp-mods li{display:flex;gap:1rem;align-items:flex-start;border-top:1px solid var(--line);padding-top:1rem}
.lp-mod__n{font-family:var(--serif);font-weight:700;font-size:2.6rem;line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--band-accent);min-width:1.4ch}
.lp-mods h3{margin:0 0 .3rem;font-size:1.1rem}
.lp-mods p{margin:0;color:var(--band-muted);font-size:.95rem}
.lp-jr{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.lp-jr li{border:1px solid var(--line);border-top:3px solid var(--accent);padding:1.3rem;background:linear-gradient(180deg,rgba(56,166,255,.07),transparent)}
.lp-jr h3{margin:0 0 .3rem}
.lp-jr__tag{margin:0 0 .7rem;color:var(--accent);font-size:.92rem}
.lp-jr p{margin:0}
.lp-jr p:last-child{color:var(--muted);font-size:.95rem}
.lp-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.lp-g{margin:0;aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line)}
.lp-g img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.lp-g:hover img{transform:scale(1.05)}
.lp-g2,.lp-g5{transform:translateY(1.2rem)}
.lp-buy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}
.lp-lead2{color:var(--muted);max-width:36em}
.lp-fm{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem}
.lp-fm li{border:1px solid var(--line);padding:1.2rem 1.4rem}
.lp-fm h3{margin:0}
.lp-fm__big{margin:.2rem 0 .5rem;font-family:var(--serif);font-size:1.5rem;color:var(--accent)}
.lp-fm p:last-child{margin:0;color:var(--muted)}
.lp-price{position:sticky;top:5.5rem;border:1px solid var(--accent);padding:1.6rem;background:linear-gradient(135deg,rgba(56,166,255,.16),rgba(56,166,255,.03));display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}
.lp-price h2{margin:0}
.lp-price__v{margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(2.6rem,6vw,3.6rem);line-height:1}
.lp-price p{margin:0}
.lp-pay{list-style:none;margin:.4rem 0 .6rem;padding:0;display:grid;gap:.8rem;width:100%}
.lp-pay li{border-top:1px solid var(--line);padding-top:.8rem;display:flex;flex-direction:column;gap:.15rem}
.lp-pay span{color:var(--muted);font-size:.95rem}
.lp-price__note{color:var(--muted);font-size:.9rem}
.lp-prof{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.lp-prof__img{aspect-ratio:2/3;max-width:320px;width:100%;justify-self:center}
.lp-cred{margin:1.2rem 0 0;padding:0;list-style:none;display:grid;gap:.6rem}
.lp-cred li{padding-left:1.4rem;position:relative}
.lp-cred li::before{content:"";position:absolute;left:0;top:.62em;width:.7rem;height:2px;background:var(--accent)}
.lp-final{text-align:center;background:radial-gradient(60% 120% at 50% 0,rgba(56,166,255,.22),transparent 70%)}
.lp-final h2{font-size:clamp(1.9rem,4.5vw,3rem);margin:0 0 .8rem;text-wrap:balance}
.lp-final p{margin:0 auto 1.5rem;max-width:34em;color:var(--muted)}
.lp-final .actions{justify-content:center}
.lp-bar{display:none}
@media(max-width:900px){
  .lp-hero__grid,.lab,.lp-buy,.lp-prof{grid-template-columns:1fr}
  .lp-book-wrap{order:-1}
  .lp-book{width:min(78%,330px);--ry:-8deg}
  .lp-mods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-jr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-price{position:static}
}
@media(max-width:600px){
  .lp-mods,.lp-jr{grid-template-columns:1fr}
  .lp-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-g2,.lp-g5{transform:none}
  .page-curso .wa{display:none}
  .page-curso main{padding-bottom:0}
  /* CTA fixo no celular; some quando já há outro botão de inscrição na tela ou controles (simulador) que ele cobriria. */
  .lp-bar{display:block;position:fixed;inset:auto 0 0 0;z-index:40;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom,0px));background:rgba(5,13,24,.96);border-top:1px solid var(--line);transition:transform .25s}
  .lp-bar.is-off{transform:translateY(110%);pointer-events:none}
  .page-curso .site-footer{padding-bottom:4.5rem}
  .lp-bar .btn{display:block;text-align:center;width:100%}
}
.page-curso .btn--ghost{color:var(--accent);border-color:var(--accent)}
.page-curso .btn--ghost:hover{background:var(--accent);color:#04101f;border-color:var(--accent)}
.launch__img[src*="livro"]{object-fit:contain;padding:1.2rem;background:rgba(0,0,0,.28);max-height:440px}

/* ===== Experiência de câmera ===== */
.cam-hero{padding-block:clamp(2rem,5vw,3.5rem) 1rem;background:radial-gradient(60% 90% at 20% 0,rgba(56,166,255,.16),transparent 70%),var(--bg)}
.cam-hero h1{margin:0 0 .8rem;font-size:clamp(2.2rem,5vw,3.6rem)}
.cam-hero .lead{max-width:40em}
.cam-sec{padding-block:1.2rem clamp(2rem,5vw,4rem)}
.cam{display:flex;flex-direction:column;gap:1.4rem}
.cam-tabs{display:flex;flex-wrap:wrap;gap:.5rem}
.cam-tab{font:inherit;color:var(--text);background:transparent;border:1px solid var(--line);padding:.55rem 1.1rem;border-radius:999px;cursor:pointer}
.cam-tab[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#04101f;font-weight:600}
.cam-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:1.2rem;align-items:start;background:linear-gradient(160deg,#1a1f28,#0d1016);border:1px solid #2b3240;border-radius:22px;padding:clamp(.8rem,2vw,1.4rem);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.cam-view{position:relative;display:flex;align-items:center;justify-content:center;background:#000;border-radius:10px;overflow:hidden;min-height:260px}
.cam-stage{position:relative;width:100%;max-height:78vh;overflow:hidden;background:#000;transition:filter .12s}
.cam-view .cam-stage{max-width:100%}
.cam-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cam-svg{position:absolute;inset:0;width:100%;height:100%}
.cam-over{position:absolute;inset:0;background:#fff;opacity:0;mix-blend-mode:screen;pointer-events:none}
.cam-grain{position:absolute;inset:0;opacity:0;mix-blend-mode:overlay;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='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.2'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");background-size:180px}
.cam-hud{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:.55rem .9rem;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);color:#9dffb8;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(.8rem,2.2vw,1.05rem);white-space:pre;letter-spacing:.04em}
.cam-flash{position:absolute;inset:0;z-index:4;background:#000;opacity:0;pointer-events:none}
.cam-flash.go{animation:camflash .28s ease-out}
@keyframes camflash{0%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.cam-flash.go{animation:none}}
.cam-panel{display:flex;flex-direction:column;gap:1rem}
.cam-modes{display:flex;gap:.5rem;border:0;margin:0;padding:0}
.cam-mode{flex:1;cursor:pointer}
.cam-mode input{position:absolute;opacity:0;pointer-events:none}
.cam-mode span{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .3rem;border:1px solid #33405a;border-radius:12px;background:#12161d}
.cam-mode b{font-size:1.25rem;font-family:var(--serif)}
.cam-mode small{font-size:.72rem;color:var(--muted);text-align:center}
.cam-mode input:checked+span{background:var(--accent);border-color:var(--accent);color:#04101f}
.cam-mode input:checked+span small{color:#04101f}
.cam-mode input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.cam-why summary{cursor:pointer;color:var(--accent);font-size:.92rem}
.cam-why p{margin:.5rem 0 0;color:var(--muted);font-size:.92rem}
.cam-ctl{display:grid;grid-template-columns:1fr auto;gap:.25rem .6rem;align-items:baseline}
.cam-ctl label{font-weight:600;display:flex;gap:.5rem;align-items:center}
.cam-auto{display:none;font-size:.7rem;background:#27b373;color:#04101f;border-radius:4px;padding:0 .35rem;font-weight:700}
.cam[data-mode=Tv] [data-c=ap] .cam-auto,.cam[data-mode=Av] [data-c=sh] .cam-auto{display:inline-block}
.cam-ctl output{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.35rem;color:#9dffb8;font-variant-numeric:tabular-nums}
.cam-row{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center}
.cam-row button{width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid #33405a;background:#12161d;color:var(--text);font-size:1.2rem;cursor:pointer}
.cam-row button:active{background:var(--accent);color:#04101f}
.cam-row input{width:100%;accent-color:var(--accent);height:1.6rem}
.cam-row input:disabled{opacity:.45}
.cam-tripod{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-size:.95rem}
.cam-meter__h{display:flex;justify-content:space-between;font-weight:600}
.cam-meter__bar{position:relative;height:.7rem;margin:.5rem 0 .3rem;border-radius:999px;background:linear-gradient(90deg,#15233a,#1f7a52 40%,#27b373 50%,#1f7a52 60%,#d9e6f5)}
.cam-pin{position:absolute;top:-.25rem;left:50%;width:1.2rem;height:1.2rem;margin-left:-.6rem;border-radius:50%;background:#fff;border:3px solid var(--accent);transition:left .15s}
.cam-pin[data-k=ok]{border-color:#27b373}
.cam-meter__l{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}
.cam-fx__h{margin:0 0 .4rem;font-weight:600}
.cam-bar{display:grid;grid-template-columns:7.5rem 1fr 5rem;gap:.6rem;align-items:center;font-size:.88rem;margin-bottom:.35rem}
.cam-bar>span:first-child{color:var(--muted)}
.cam-bar__t{height:.5rem;background:#1b2230;border-radius:999px;overflow:hidden}
.cam-bar__t i{display:block;height:100%;width:0;background:var(--accent);transition:width .15s}
.cam-bar em{font-style:normal;text-align:right}
.cam-msg{margin:0;min-height:3.4em;font-family:var(--serif);font-size:1.1rem;line-height:1.35}
.cam-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.cam-shoot{display:inline-flex;align-items:center;gap:.7rem;font:inherit;font-weight:700;color:#fff;background:#d6302b;border:0;border-radius:999px;padding:.35rem 1.4rem .35rem .4rem;cursor:pointer;box-shadow:0 6px 18px rgba(214,48,43,.4)}
.cam-shoot span{width:2.6rem;height:2.6rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d8dde6 60%,#9aa3b5);border:3px solid #b32420}
.cam-shoot:active{transform:scale(.97)}
.cam-goals h2,.cam-shots h2{margin:0 0 .6rem;font-size:1.5rem;display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap}
.cam-goals h2 small{font-family:var(--sans);font-size:.9rem;color:var(--muted);font-weight:400}
.cam-goals ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.cam-goals li{padding:.7rem 1rem .7rem 2.6rem;border:1px solid var(--line);position:relative}
.cam-goals li::before{content:"";position:absolute;left:.9rem;top:50%;width:1.1rem;height:1.1rem;margin-top:-.55rem;border:2px solid var(--muted);border-radius:50%}
.cam-goals li.is-done{border-color:#27b373;background:rgba(39,179,115,.1)}
.cam-goals li.is-done::before{background:#27b373;border-color:#27b373}
.cam-cta{margin-top:1rem;padding:1.2rem;border:1px solid var(--accent);background:linear-gradient(135deg,rgba(56,166,255,.16),rgba(56,166,255,.03))}
.cam-cta[hidden]{display:none}
.cam-cta p{margin:0 0 .9rem;max-width:40em}
.cam-viewer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1.2rem;margin-bottom:1rem}
.cam-viewer[hidden]{display:none}
.cam-big{display:flex;justify-content:center;align-items:flex-start;background:#000;border-radius:10px;overflow:hidden}
.cam-big .cam-stage{max-height:none;margin:0 auto}
.cam-info h3{margin:0 0 .3rem;font-size:1rem}
.cam-set{font-family:ui-monospace,Menlo,Consolas,monospace;color:#9dffb8;margin:0 0 1rem}
.cam-info ul{margin:0 0 1rem;padding-left:1.1rem;color:var(--muted)}
.cam-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem}
.cam-th{flex:0 0 auto;height:5.5rem;display:flex;background:#000;padding:0;border:2px solid transparent;background:none;cursor:pointer}
.cam-th.is-on{border-color:var(--accent)}
.cam-th .cam-stage{pointer-events:none;height:100%;width:auto;max-height:none}
.cam-ex .lp-jr{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.cam-grid,.cam-viewer{grid-template-columns:1fr}.cam-ex .lp-jr{grid-template-columns:1fr}}
@media(max-width:480px){.cam-bar{grid-template-columns:6rem 1fr 4.2rem}}
.page-camera .wa{display:none}
.cam-view{align-self:start;grid-area:view}
.cam-grid{grid-template-areas:"view panel" "goals panel"}
.cam-panel{grid-area:panel}
.cam-grid .cam-goals{grid-area:goals;margin-top:.4rem}
@media(max-width:900px){.cam-grid{grid-template-areas:"view" "panel" "goals"}}
.cam-grid{grid-template-rows:auto 1fr}
.cam-grid .cam-goals{align-self:start}
/* camera: profundidade de campo em camadas + toque para focar */
.cam-stage img.cam-l{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cam-stage .cam-l1{-webkit-mask-image:radial-gradient(circle at var(--fx,50%) var(--fy,50%),#000 calc(var(--fr,10%)*3.2),transparent calc(var(--fr,10%)*4.8));mask-image:radial-gradient(circle at var(--fx,50%) var(--fy,50%),#000 calc(var(--fr,10%)*3.2),transparent calc(var(--fr,10%)*4.8))}
.cam-stage .cam-l2{-webkit-mask-image:radial-gradient(circle at var(--fx,50%) var(--fy,50%),#000 calc(var(--fr,10%)*2),transparent calc(var(--fr,10%)*3.2));mask-image:radial-gradient(circle at var(--fx,50%) var(--fy,50%),#000 calc(var(--fr,10%)*2),transparent calc(var(--fr,10%)*3.2))}
.cam-stage .cam-l3{-webkit-mask-image:radial-gradient(circle at var(--fx,50%) var(--fy,50%),#000 calc(var(--fr,10%)*.8),transparent calc(var(--fr,10%)*1.6));mask-image:radial-gradient(circle at var(--fx,50%) var(--fy,50%),#000 calc(var(--fr,10%)*.8),transparent calc(var(--fr,10%)*1.6))}
.cam-focus{position:absolute;width:54px;height:54px;margin:-27px 0 0 -27px;border:2px solid #ffd84a;border-radius:3px;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.45);display:none}
.cam-view .cam-focus{display:block}
.cam-view{cursor:crosshair}

/* curso: como é uma aula + retratos */
.lp-au{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.lp-au li{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.lp-au figure{margin:0 0 .4rem;aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line)}
.lp-au img{width:100%;height:100%;object-fit:cover;display:block}
.lp-au h3{margin:0;font-size:1.1rem}
.lp-au p{margin:0;color:var(--muted,inherit);font-size:.95rem}
.lp-rt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.lp-rt figure{margin:0;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line)}
.lp-rt img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.lp-au{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-rt{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.lp-au{grid-template-columns:1fr}}
