@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400&family=Inter:wght@300;400;500&display=swap');

:root{
  --cobre:#c2662f;          /* o laranja do logo, suavizado */
  --cobre-claro:#e9c9b2;
  --areia:#cbb99f;
  --branco:#ffffff;
  --neve:#fbfaf7;
  --linho:#f4f1ea;
  --linho-2:#eae5da;
  --tinta:#3a352e;
  --tinta2:#736c61;
  --tinta3:#a49c90;
  --linha:#e6e1d6;
  --grafite:#4a443b;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter","Segoe UI",system-ui,sans-serif;
  --largura:1220px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--neve);color:var(--tinta);font-size:17px;line-height:1.7;font-weight:300;overflow-x:hidden}
.env{max-width:var(--largura);margin:0 auto;padding:0 26px;width:100%}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;line-height:1.1;letter-spacing:-.015em}

.rev{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.3,1)}
.rev.on{opacity:1;transform:none}
.d1{transition-delay:.09s}.d2{transition-delay:.18s}.d3{transition-delay:.27s}

/* ---------- topo claro ---------- */
.topo{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(251,250,247,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--linha);transition:padding .35s,box-shadow .35s;padding:15px 0}
.topo.solido{padding:9px 0;box-shadow:0 2px 30px rgba(58,53,46,.06)}
.topo .env{display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:14px}
.mono{width:50px;height:50px;object-fit:contain;flex:none;transition:transform .5s;mix-blend-mode:multiply}
.logo:hover .mono{transform:scale(1.06)}
.logo-txt b{font-family:var(--serif);font-size:21px;font-weight:400;display:block;line-height:1.08;color:var(--tinta)}
.logo-txt small{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cobre)}
.menu{display:flex;gap:32px;align-items:center}
.menu a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta2);position:relative;padding:6px 0;transition:color .35s}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--cobre);transition:width .4s}
.menu a:hover{color:var(--cobre)}
.menu a:hover::after{width:100%}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 30px;border-radius:2px;font-family:var(--sans);font-size:11.5px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:background .4s,color .4s,border-color .4s,transform .35s}
.btn:hover{transform:translateY(-2px)}
.btn-cobre{background:var(--cobre);color:#fff;border-color:var(--cobre)}
.btn-cobre:hover{background:var(--grafite);border-color:var(--grafite)}
.btn-linha{border-color:var(--areia);color:var(--tinta)}
.btn-linha:hover{background:var(--tinta);color:var(--neve);border-color:var(--tinta)}
.btn-claro{border-color:rgba(255,255,255,.7);color:#fff}
.btn-claro:hover{background:#fff;color:var(--tinta)}
.btn-sm{padding:11px 20px;font-size:10.5px;letter-spacing:.16em}

/* ---------- capa ---------- */
.capa{position:relative;min-height:100vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:170px 0 64px;background:var(--linho-2)}
.capa-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;z-index:0}
.capa-fundo{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(46,41,34,.72) 2%,rgba(46,41,34,.26) 46%,rgba(46,41,34,.12) 74%,rgba(46,41,34,.3))}
.capa .env{position:relative;z-index:3}
.olho{display:inline-flex;align-items:center;gap:12px;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:24px}
.olho::before{content:"";width:42px;height:1px;background:var(--cobre-claro)}
.capa h1{font-size:clamp(40px,7vw,88px);font-weight:300;letter-spacing:-.03em;max-width:15ch;text-shadow:0 2px 34px rgba(30,26,21,.3)}
.capa h1 em{font-style:italic;color:var(--cobre-claro)}
.capa .acoes{display:flex;gap:13px;flex-wrap:wrap;margin-top:36px}
.desce{position:absolute;right:26px;bottom:60px;z-index:4;writing-mode:vertical-rl;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:12px}
.desce::after{content:"";width:1px;height:56px;background:linear-gradient(rgba(233,201,178,.9),transparent)}

/* ---------- esteira discreta ---------- */
.esteira{background:var(--linho);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);color:var(--tinta2);padding:18px 0;overflow:hidden;white-space:nowrap}
.esteira-int{display:inline-flex;animation:corre 32s linear infinite;font-family:var(--serif);font-size:20px;font-style:italic}
.esteira-int span{display:inline-flex;align-items:center;gap:30px;padding-right:30px}
.esteira-int i{font-style:normal;color:var(--cobre);font-size:12px}
@keyframes corre{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- blocos ---------- */
section{padding:112px 0;position:relative}
.fundo-bege{background:var(--linho)}
.fundo-branco{background:var(--branco)}
.fundo-preto{background:var(--linho-2);color:var(--tinta)}
.fundo-preto p{color:var(--tinta2)}
.cabeca{max-width:660px;margin-bottom:54px}
.rotulo{display:inline-flex;align-items:center;gap:11px;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--cobre);margin-bottom:18px}
.rotulo::before{content:"";width:26px;height:1px;background:var(--cobre)}
.cabeca h2{font-size:clamp(31px,4.4vw,52px);font-weight:300;letter-spacing:-.025em;margin-bottom:16px}
.cabeca h2 em{font-style:italic;color:var(--cobre)}
.cabeca p{color:var(--tinta2);font-size:17px;max-width:52ch}
.grade{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

/* ---------- mosaico ---------- */
.mosaico{grid-template-columns:repeat(4,1fr);grid-auto-rows:205px}
.m-grande{grid-column:span 2;grid-row:span 2}
.m-alto{grid-row:span 2}
figure.foto{position:relative;overflow:hidden;border-radius:3px;background:var(--linho-2);margin:0}
figure.foto::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.4);pointer-events:none;z-index:2;opacity:0;transition:opacity .5s,inset .6s}
figure.foto:hover::after{opacity:1;inset:16px}
figure.foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
figure.foto:hover img{transform:scale(1.05)}
figure.foto figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:38px 20px 16px;color:#fff;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(to top,rgba(46,41,34,.78),transparent);opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s}
figure.foto:hover figcaption{opacity:1;transform:none}

/* ---------- cartões de festa ---------- */
.festa{position:relative;border-radius:3px;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;color:#fff;background:var(--linho-2)}
.festa img.capa-festa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.3,1)}
.festa:hover img.capa-festa{transform:scale(1.06)}
.festa::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(46,41,34,.84) 6%,rgba(46,41,34,.22) 56%,transparent);transition:background .6s}
.festa:hover::after{background:linear-gradient(to top,rgba(46,41,34,.88) 8%,rgba(194,102,47,.38) 60%,rgba(46,41,34,.08))}
.festa .txt{position:relative;z-index:2;padding:28px;width:100%;transform:translateY(10px);transition:transform .55s}
.festa:hover .txt{transform:none}
.festa .txt::before{content:"";display:block;width:24px;height:1px;background:var(--cobre-claro);margin-bottom:14px}
.festa h3{font-size:26px;font-weight:400;margin-bottom:6px}
.festa p{font-size:14px;color:rgba(255,255,255,.86);max-height:0;opacity:0;overflow:hidden;transition:max-height .55s,opacity .5s;font-weight:300}
.festa:hover p{max-height:120px;opacity:1}
.festa .seta{position:absolute;top:22px;right:22px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .45s,color .45s,transform .45s}
.festa:hover .seta{background:#fff;color:var(--cobre);transform:rotate(-45deg)}

/* ---------- listas ---------- */
.caixa{background:var(--branco);border:1px solid var(--linha);border-radius:3px;padding:38px 40px}
.fundo-branco .caixa{background:var(--neve)}
.caixa h3{font-size:25px;margin-bottom:6px;font-weight:400}
.caixa h3+.tracinho{width:28px;height:1px;background:var(--cobre);margin:0 0 20px}
.lista{list-style:none}
.lista li{padding:13px 0 13px 30px;position:relative;border-bottom:1px solid var(--linha);font-size:15.5px;color:var(--tinta2)}
.lista li:last-child{border-bottom:0}
.lista li::before{position:absolute;left:0;top:13px;font-size:14px}
.sim li::before{content:"\2713";color:var(--cobre)}
.nao li::before{content:"\00d7";color:var(--tinta3)}

/* ---------- passos ---------- */
.passo{border-top:1px solid var(--linha);padding:26px 0 0}
.passo .num{font-family:var(--serif);font-size:34px;font-style:italic;color:var(--areia);display:block;line-height:1;margin-bottom:14px}
.passo h3{font-size:24px;font-weight:400;margin-bottom:9px}
.passo p{font-size:15.5px;color:var(--tinta2)}

/* ---------- vídeos ---------- */
.moldura-video{border-radius:3px;overflow:hidden;border:1px solid var(--linha);background:var(--linho-2);aspect-ratio:9/16;display:flex;padding:8px}
.videos video{width:100%;height:100%;object-fit:contain;background:#1c1915;border-radius:2px}

/* ---------- faq ---------- */
details{border-bottom:1px solid var(--linha);padding:24px 0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--serif);font-size:23px;font-weight:400}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--cobre);font-family:var(--sans);font-weight:300;font-size:24px;transition:transform .4s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:13px;color:var(--tinta2);font-size:16px}

/* ---------- contato ---------- */
.contato-grade{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.linha-contato{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--linha)}
.linha-contato .ic{width:38px;height:38px;border-radius:50%;border:1px solid var(--areia);color:var(--cobre);display:flex;align-items:center;justify-content:center;font-size:14px;flex:none}
.linha-contato b{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta3);font-weight:400;margin-bottom:3px}
.linha-contato span,.linha-contato a{font-family:var(--serif);font-size:21px;color:var(--tinta);transition:color .35s}
.linha-contato a:hover{color:var(--cobre)}

/* ---------- rodapé ---------- */
footer{background:var(--linho);border-top:1px solid var(--linha);color:var(--tinta2);padding:74px 0 28px;font-size:15px}
footer .env{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px}
footer h4{color:var(--tinta);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:16px;font-family:var(--sans);font-weight:500}
footer p{color:var(--tinta2);line-height:1.9}
footer a{color:var(--cobre)}
footer a:hover{color:var(--tinta)}
.rodape-fim{grid-column:1/-1;border-top:1px solid var(--linha);margin-top:42px;padding-top:22px;color:var(--tinta3);font-size:12.5px}

.zap{position:fixed;right:22px;bottom:22px;z-index:90;background:var(--cobre);color:#fff;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:16px 24px;border-radius:2px;box-shadow:0 10px 30px rgba(58,53,46,.18);transition:transform .35s,background .4s}
.zap:hover{transform:translateY(-3px);background:var(--grafite)}

.ex{color:#b06a2c;font-style:italic}
.capa .ex{color:#f0cfb4}

@media(max-width:1000px){
  .menu{display:none}
  .mosaico{grid-template-columns:repeat(2,1fr);grid-auto-rows:175px}
  .m-grande{grid-column:span 2;grid-row:span 1}
  .m-alto{grid-row:span 1}
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:1fr}
  .videos.g3{grid-template-columns:1fr 1fr}
  .videos .moldura-video:last-child{grid-column:1/-1;max-width:56%;margin:0 auto}
  section{padding:72px 0}
  .capa{min-height:auto;padding:140px 0 54px}
  footer .env{grid-template-columns:1fr}
  .desce{display:none}
}
@media(max-width:620px){
  body{font-size:16px}
  .g2,.g4,.contato-grade,.videos.g3{grid-template-columns:1fr}
  .videos .moldura-video:last-child{max-width:none}
  .mosaico{grid-template-columns:1fr;grid-auto-rows:210px}
  .m-grande{grid-column:span 1}
  .caixa{padding:28px 24px}
  summary{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .rev{opacity:1;transform:none;transition:none}
  .esteira-int{animation:none}
}

.capa{min-height:62vh;padding:150px 0 48px}
.capa h1{font-size:clamp(34px,5vw,64px)}
@media(max-width:1000px){.capa{min-height:auto;padding:120px 0 44px}}
;
.capa-img{object-position:center 36%}
.capa{padding:140px 0 44px}
;
.capa{display:block;height:auto;min-height:0;padding:82px 0 0;background:var(--neve);color:var(--tinta);text-align:center}
.capa-img{position:relative;width:100%;height:auto;object-fit:contain}
.capa-fundo{display:none}
.capa .env{position:relative;padding:36px 26px 54px}
.capa h1{color:var(--tinta);text-shadow:none;max-width:22ch;margin:0 auto}
.capa h1 em{color:var(--cobre)}
.capa .olho{color:var(--tinta2);justify-content:center}
.capa .olho::before{background:var(--cobre)}
.capa .acoes{justify-content:center;margin-top:28px}
.capa .btn-claro{border-color:var(--areia);color:var(--tinta)}
.desce{display:none}
;