*{box-sizing:border-box}
:root{
  --paper:#f6f1e9;
  --paper-2:#eee7dc;
  --white:#fff;
  --ink:#181614;
  --muted:#746c63;
  --line:#d8cec1;
  --gold:#98754b;
  --dark:#151412;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
a{color:inherit}
.shell{width:min(1180px,calc(100% - 48px));margin:auto}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px 14px}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;color:var(--gold);font-weight:600}
.eyebrow.light{color:#d4bd99}
h1,h2,h3,.statement p,.photo-break-copy p{font-family:"Italiana",Georgia,serif;font-weight:400}
h1,h2,p{margin-top:0}
h2{font-size:clamp(3.2rem,6vw,6.6rem);line-height:.96;letter-spacing:-.04em;margin:15px 0 26px}
.section{padding:110px 0}
.white{background:#fff}
.dark{background:var(--dark);color:#fff}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;text-decoration:none;font-size:.8rem;font-weight:600;letter-spacing:.02em;transition:.25s ease}
.dark-button{background:var(--ink);color:#fff}
.outline-button{border:1px solid var(--ink)}
.button:hover{transform:translateY(-2px)}
.center{text-align:center;margin-top:44px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* HERO */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:56% 44%;background:var(--paper)}
.nav{position:absolute;z-index:8;top:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;padding-top:24px;pointer-events:none}
.nav>*{pointer-events:auto}
.brand{font-family:"Italiana",Georgia,serif;font-size:1.55rem;line-height:.86;color:#fff;text-decoration:none;text-shadow:0 2px 22px rgba(0,0,0,.34)}
.brand small{display:block;font-family:"DM Sans";font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;margin-top:8px}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{font-size:.72rem;text-decoration:none;color:var(--ink)}
.nav-links a:first-child,.nav-links a:nth-child(2),.nav-links a:nth-child(3),.nav-links a:nth-child(4){color:var(--ink)}
.nav-cta{border:1px solid #bdb1a2;border-radius:999px;padding:10px 15px}
.hero-photo{position:relative;min-height:100svh;overflow:hidden;background:#222}
.hero-photo picture,.hero-photo img{width:100%;height:100%;position:absolute;inset:0}
.hero-photo img{object-fit:cover;object-position:56% center;transform:none}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,8,7,.48),transparent 46%),linear-gradient(90deg,rgba(9,8,7,.14),transparent 45%)}
to{transform:scale(1.075)}}
.photo-caption{position:absolute;z-index:3;left:max(26px,calc((100vw - 1180px)/2));bottom:28px;right:26px;display:flex;justify-content:space-between;align-items:center;color:#fff;gap:20px}
.photo-caption>span{font-size:.64rem;text-transform:uppercase;letter-spacing:.15em}
.inline-play{background:none;border:0;color:#fff;cursor:pointer;font-size:.72rem}
.hero-conversion{display:flex;align-items:center;min-height:100svh;padding:110px clamp(28px,5vw,76px) 44px}
.hero-copy{width:min(570px,100%);margin:auto}
.hero-copy h1{font-size:clamp(3.65rem,5.1vw,6.25rem);line-height:.92;letter-spacing:-.055em;margin:16px 0 22px}
.hero-intro{font-size:1.02rem;color:var(--muted);max-width:520px}
.hero-proofline{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);margin:20px 0 24px}
.quick-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px}
.quick-form label,.contact-form label{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.quick-form input,.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:6px;border:1px solid #d8cec3;border-radius:11px;background:#fbfaf8;color:var(--ink);padding:13px 14px;outline:none}
.quick-form input:focus,.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#9b7a52;box-shadow:0 0 0 3px rgba(155,122,82,.12)}
.quick-form .full,.contact-form .full{grid-column:1/-1}
.quick-form button,.contact-form button{min-height:52px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;cursor:pointer}
.quick-form small{text-align:center;color:var(--muted);font-size:.67rem;text-transform:none;letter-spacing:0}

/* Trust + statement */
.trust-strip{background:var(--dark);color:#fff;padding:26px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust-grid strong{display:block;font-family:"Italiana";font-weight:400;font-size:1.65rem}
.trust-grid span{font-size:.67rem;color:#bdb4aa}
.statement{padding:100px 0;background:#fff;text-align:center}
.statement p{font-size:clamp(3.2rem,7vw,7.8rem);line-height:.93;letter-spacing:-.05em;margin-bottom:22px}
.statement p em{font-style:italic}
.statement small{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:.64rem}

/* Intro */
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:center}
.intro-copy h2{font-size:clamp(3rem,5.3vw,5.8rem)}
.intro-copy>p{color:var(--muted);max-width:610px}
.intro-copy .button{margin-top:12px}
.intro-images{position:relative;min-height:720px}
.intro-images figure{margin:0;overflow:hidden}
.intro-main{position:absolute;right:0;top:0;width:68%;height:88%}
.intro-main img{width:100%;height:100%;object-fit:cover;object-position:center}
.intro-small{position:absolute;left:0;bottom:0;width:47%;height:42%;border:12px solid var(--paper)}
.intro-small img{width:100%;height:100%;object-fit:cover}

/* Section headers */
.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:58px}
.section-head>p{color:var(--muted);max-width:440px}
.light-head h2{color:#fff}
.light-head>p{color:#bdb5ac}

/* Portfolio */
.editorial-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:315px;gap:12px}
.editorial-grid figure{margin:0;position:relative;overflow:hidden;background:#ddd}
.editorial-grid img{width:100%;height:100%;object-fit:cover;transition:.5s}
.editorial-grid figure:hover img{transform:scale(1.025)}
.editorial-grid figcaption{position:absolute;left:14px;bottom:12px;color:#fff;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;text-shadow:0 2px 12px rgba(0,0,0,.65)}
.g-wide{grid-column:span 2}
.g-tall{grid-row:span 2}

/* Video */
.video-section{padding:110px 0}
.video-card{display:block;position:relative;width:100%;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}
.video-card img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.8;transition:.4s}
.video-card:hover img{transform:scale(1.02);opacity:.92}
.play-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border:1px solid rgba(255,255,255,.82);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.25rem;background:rgba(0,0,0,.18);backdrop-filter:blur(5px)}
.play-circle.small{width:64px;height:64px;font-size:1rem}
.video-label{position:absolute;left:22px;bottom:20px;color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:.15em}

/* Venue */
.venue-section{overflow:hidden}
.venue-copy{max-width:850px;margin-bottom:55px}
.venue-copy p{color:var(--muted);max-width:720px}
.venue-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:420px 360px;gap:12px}
.venue-gallery figure{margin:0;overflow:hidden}
.venue-gallery img{width:100%;height:100%;object-fit:cover}
.venue-large{grid-row:span 2}
.venue-portrait img{object-position:center 46%}

/* Pre */
.pre-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:stretch}
.pre-photo{min-height:580px;overflow:hidden}
.pre-photo img{width:100%;height:100%;object-fit:cover;object-position:74% center}
.pre-video{position:relative;border:0;padding:0;background:#111;cursor:pointer;overflow:hidden;min-height:580px;color:#fff}
.pre-video>img{width:100%;height:100%;object-fit:cover;opacity:.72}
.pre-video>span:last-child{position:absolute;left:22px;bottom:20px;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}

/* Approach */
.approach{background:var(--paper-2)}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cfc4b7;border:1px solid #cfc4b7}
.approach-grid article{background:var(--paper);padding:34px;min-height:310px}
.approach-grid b{color:var(--gold);font-size:.68rem}
.approach-grid h3{font-size:2.1rem;line-height:1.05;margin:26px 0 14px}
.approach-grid p{color:var(--muted);font-size:.87rem}

/* Photo break */
.photo-break{position:relative;min-height:760px;background:#111;overflow:hidden}
.photo-break>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-break::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08) 70%)}
.photo-break-copy{position:relative;z-index:2;color:#fff;width:min(1180px,calc(100% - 48px));margin:auto;padding-top:190px}
.photo-break-copy p{font-size:clamp(4rem,8vw,8.5rem);line-height:.86;letter-spacing:-.05em;margin:18px 0}
.photo-break-copy em{font-style:italic}

/* About */
.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}
.about-photo{margin:0;height:650px;overflow:hidden}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-copy h2{font-size:clamp(3.1rem,5.2vw,5.7rem)}
.about-copy p{color:var(--muted);max-width:650px}

/* FAQ */
.faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}
.faq-title{position:sticky;top:34px;align-self:start}
.faq-title p{color:var(--muted)}
.faq-list details{border-top:1px solid var(--line);padding:19px 0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font-family:"Italiana";font-size:1.55rem;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";float:right;font-family:"DM Sans";font-size:1.1rem}
.faq-list details[open] summary::after{content:"–"}
.faq-list p{color:var(--muted);max-width:760px;margin:12px 0 0}

/* Contact */
.final-contact{padding:105px 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:start}
.contact-copy h2{color:#fff;font-size:clamp(3.5rem,6vw,6.5rem)}
.contact-copy>p{color:#bdb5ac;max-width:560px}
.contact-meta{margin-top:36px;display:flex;flex-direction:column;gap:8px;color:#d6cec5;font-size:.72rem}
.contact-meta a{color:#fff}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px;border:1px solid #3c3935;background:#1a1917}
.contact-form label{color:#aaa198}
.contact-form input,.contact-form select,.contact-form textarea{background:#211f1c;border-color:#4b4742;color:#fff}
.contact-form textarea{resize:vertical}
.contact-form button{background:#fff;color:#171513}

/* Footer + float */
footer{background:#0f0e0d;color:#b9b1a8;padding:22px 0}
.footer{display:flex;justify-content:space-between;gap:20px;font-size:.68rem}
.footer div{display:flex;gap:18px}
.footer a{text-decoration:none}
.floating-wa{position:fixed;z-index:20;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;background:#171513;color:#fff;text-decoration:none;border-radius:999px;padding:13px 17px;font-size:.74rem;box-shadow:0 9px 30px rgba(0,0,0,.18)}
.floating-wa span{width:9px;height:9px;border-radius:50%;background:#20cb5b;box-shadow:0 0 0 5px rgba(32,203,91,.14)}

/* Video modal */
.video-modal{display:none;position:fixed;z-index:60;inset:0;place-items:center;padding:22px}
.video-modal.open{display:grid}
.video-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9)}
.video-dialog{position:relative;z-index:2;width:min(1120px,96vw)}
.video-frame{aspect-ratio:16/9;background:#000}
.video-frame iframe{width:100%;height:100%;border:0}
.video-close{position:absolute;right:0;top:-46px;border:0;background:none;color:#fff;font-size:2.1rem;cursor:pointer}

/* Responsive */
@media(max-width:980px){
  .section{padding:84px 0}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-photo{min-height:62svh}
  .hero-conversion{min-height:auto;padding:72px 24px 50px}
  .nav{width:calc(100% - 36px)}
  .nav-links a:not(.nav-cta){display:none}
  .nav-cta{color:#fff!important;border-color:rgba(255,255,255,.55);background:rgba(0,0,0,.12);backdrop-filter:blur(5px)}
  .intro-grid,.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}
  .intro-images{min-height:620px;margin-top:30px}
  .section-head{grid-template-columns:1fr;gap:10px}
  .trust-grid{grid-template-columns:1fr 1fr}
  .approach-grid{grid-template-columns:1fr 1fr}
  .faq-title{position:static}
  .venue-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 320px}
  .pre-grid{grid-template-columns:1fr}
  .pre-photo,.pre-video{min-height:480px}
  .about-photo{height:590px}
}
@media(max-width:640px){
  .shell{width:min(100% - 28px,1180px)}
  .section{padding:66px 0}
  h2{font-size:clamp(2.85rem,14vw,4.6rem)}
  .hero-photo{min-height:54svh}
  .hero-photo img{object-position:58% center}
  .photo-caption{left:18px;right:18px;bottom:18px}
  .photo-caption>span{max-width:165px;line-height:1.4}
  .brand{font-size:1.28rem}
  .nav-cta{font-size:.63rem!important;padding:9px 12px}
  .hero-conversion{padding:55px 14px 38px}
  .hero-copy h1{font-size:clamp(3.15rem,15vw,4.5rem)}
  .quick-form{grid-template-columns:1fr;padding:16px}
  .quick-form .full{grid-column:auto}
  .trust-grid{grid-template-columns:1fr}
  .statement{padding:70px 0}
  .statement p{font-size:clamp(3rem,15vw,5.2rem)}
  .intro-images{min-height:500px}
  .intro-main{width:75%;height:86%}
  .intro-small{width:49%;height:40%;border-width:8px}
  .editorial-grid{grid-template-columns:1fr 1fr;grid-auto-rows:225px}
  .g-wide{grid-column:span 2}
  .g-tall{grid-row:span 2}
  .video-section{padding:70px 0}
  .play-circle{width:68px;height:68px}
  .venue-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:330px 440px 300px}
  .venue-large{grid-row:auto}
  .pre-photo,.pre-video{min-height:400px}
  .pre-photo img{object-position:78% center}
  .approach-grid{grid-template-columns:1fr}
  .approach-grid article{min-height:auto}
  .photo-break{min-height:620px}
  .photo-break-copy{width:calc(100% - 28px);padding-top:160px}
  .photo-break-copy p{font-size:clamp(3.6rem,17vw,5.8rem)}
  .about-photo{height:500px}
  .contact-form{grid-template-columns:1fr;padding:17px}
  .contact-form .full{grid-column:auto}
  .footer{flex-direction:column}
  .floating-wa{right:12px;bottom:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}


/* V5 — PORTFOLIO MAIS RICO */
.editorial-grid-expanded{
  grid-auto-flow:dense;
}
.editorial-grid-expanded figure{
  min-height:0;
}

/* V5 — COLEÇÃO DE FILMES */
.film-feature{
  margin-bottom:14px;
}
.film-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.film-thumb{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:#000;
  overflow:hidden;
  cursor:pointer;
  color:#fff;
  text-align:left;
}
.film-thumb>img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  opacity:.72;
  transition:.4s ease;
}
.film-thumb:hover>img{
  transform:scale(1.025);
  opacity:.9;
}
.film-caption{
  position:absolute;
  left:18px;
  bottom:16px;
  display:flex;
  flex-direction:column;
  z-index:2;
  text-shadow:0 2px 14px rgba(0,0,0,.7);
}
.film-caption b{
  font-family:"Italiana",Georgia,serif;
  font-size:1.55rem;
  font-weight:400;
}
.film-caption small{
  font-size:.6rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-top:3px;
}

@media(max-width:900px){
  .film-grid{grid-template-columns:1fr}
}


/* V6 — filmes secundários em quatro opções */
.film-grid-four{
  grid-template-columns:repeat(4,1fr);
}
@media(max-width:1000px){
  .film-grid-four{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .film-grid-four{grid-template-columns:1fr}
}
