:root{
  --wine-0:#2a0720;
  --wine-1:#2a0f27;   /* fundo principal (real) */
  --wine-2:#3c1a42;
  --wine-3:#4a1e3e;
  --plum:#7a2f5c;
  --accent:#c66fae;   /* rosa CTA (real) */
  --accent-2:#d789bf;
  --accent-deep:#975084;
  --cream:#f5e5d0;    /* creme (real) */
  --cream-2:#fae6d1;
  --ink:#2a0f27;
  --ink-soft:#6b5560;
  --line:rgba(245,229,208,.16);
  --line-cream:rgba(42,15,39,.12);
  --wine-grad:linear-gradient(155deg,#2a0f27 0%,#4a1e3e 55%,#2a0720 100%);
  --maxw:1120px;
  --img-a:url(../img/foto-01-9795537bbe.jpg);
  --img-b:url(../img/foto-02-aae8568fd2.jpg);
  --img-poster:url(../img/foto-03-bddd4e0546.jpg);
  color-scheme:dark;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;background:var(--wine-1);color:var(--cream);
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
overflow-x:hidden;}
header.nav,section,footer{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:"Poiret One","Open Sans",Georgia,serif;font-weight:400;line-height:1.12;text-wrap:balance;margin:0;letter-spacing:.01em;}
p{margin:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;font-weight:600;color:var(--accent);font-family:"Open Sans";}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--accent);color:#fff;font-family:"Open Sans";font-weight:700;font-size:15px;
  padding:15px 30px;border-radius:100px;border:none;cursor:pointer;
  box-shadow:0 12px 30px -12px rgba(198,111,174,.65);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.btn:hover{transform:translateY(-2px);background:var(--accent-2);box-shadow:0 16px 40px -14px rgba(198,111,174,.8);}
.btn.cream{background:var(--cream);color:var(--wine-1);box-shadow:0 12px 30px -14px rgba(245,229,208,.5);}
.btn.cream:hover{background:var(--cream-2);}
.btn.ghost{background:transparent;color:var(--cream);border:1px solid var(--line);box-shadow:none;}
.btn.ghost:hover{border-color:var(--accent);color:#fff;background:rgba(198,111,174,.12);}
.btn .arw{font-size:18px;line-height:1;transform:translateY(-1px);}

.preview-badge{
  position:fixed;top:14px;right:14px;z-index:80;
  font-family:"Open Sans";font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(42,7,32,.85);color:var(--cream);border:1px solid var(--line);backdrop-filter:blur(8px);
  padding:8px 14px;border-radius:100px;
}

/* NAV */
header.nav{position:relative;z-index:5;background:rgba(42,7,32,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;max-width:var(--maxw);margin:0 auto;}
.nav-logo{height:46px;width:auto;}
.nav-cta{display:flex;align-items:center;gap:18px;}
.agenda-pill{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--wine-1);background:var(--cream);padding:7px 14px;border-radius:100px;}
@media(max-width:720px){.agenda-pill{display:none;}}

/* HERO */
.hero{position:relative;overflow:hidden;background:var(--wine-grad);}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 45% at 82% 20%,rgba(198,111,174,.22),transparent 60%),radial-gradient(50% 40% at 8% 92%,rgba(122,47,92,.35),transparent 60%);pointer-events:none;}
.hero-in{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding:74px 28px 84px;max-width:var(--maxw);margin:0 auto;}
.hero h1{font-size:clamp(42px,5.6vw,72px);letter-spacing:.005em;margin:20px 0 0;}
.hero h1 .accent{color:var(--accent);}
.hero .sub{margin-top:22px;font-size:19px;color:rgba(245,229,208,.85);max-width:34ch;font-family:"Open Sans";}
.hero .sub b{color:#fff;font-weight:600;}
.hero .microcta{margin-top:24px;font-size:17px;color:var(--cream);font-weight:600;}
.hero .btnrow{margin-top:18px;display:flex;gap:14px;flex-wrap:wrap;}

/* video box (Vimeo real) — ampliado */
.videobox{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 90px -40px rgba(0,0,0,.7);background:var(--wine-0);display:flex;flex-direction:column;max-width:420px;margin-left:auto;margin-right:auto;}
.vmedia{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;}
.videobox .vmedia iframe{position:absolute;top:0;left:0;transform:none;width:100%;height:100%;border:0;z-index:1;}
.videobox .vfallback{position:absolute;inset:0;z-index:3;transition:opacity .5s ease;display:grid;place-items:center;cursor:pointer;background-size:cover;background-position:center;background-color:#3a1730;background-image:linear-gradient(160deg,rgba(42,7,32,.30),rgba(42,7,32,.55)),var(--img-poster);transition:filter .25s ease;}
.videobox .vfallback:hover{filter:brightness(1.08);}
.videobox .vfallback:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;}
.videobox .vfallback .play{width:66px;height:66px;border-radius:50%;background:rgba(245,229,208,.18);border:1.5px solid rgba(245,229,208,.6);display:grid;place-items:center;}
.videobox .vfallback .play::after{content:"";border-left:17px solid var(--cream);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px;}
.vsound{position:absolute;bottom:16px;right:16px;z-index:4;width:46px;height:46px;border-radius:50%;border:1px solid rgba(245,229,208,.45);background:rgba(42,7,32,.5);backdrop-filter:blur(8px);color:var(--cream);display:grid;place-items:center;cursor:pointer;transition:background .22s,transform .22s,border-color .22s,color .22s,box-shadow .22s;box-shadow:0 6px 18px -8px rgba(0,0,0,.6);}.vsound:hover{transform:scale(1.07);border-color:var(--accent);color:#fff;}.vsound.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 22px -8px rgba(198,111,174,.7);}.vsound svg{width:20px;height:20px;display:block;}

.vfeatures{z-index:3;padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;background:var(--wine-0);}
.vfeatures .f{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--cream);}
.vfeatures .f .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 4px rgba(198,111,174,.2);}

/* SECTIONS */
section{padding:86px 0;}
.sec-cream{background:var(--cream);color:var(--ink);}
.sec-cream .eyebrow{color:var(--accent-deep);}
.sec-wine{background:var(--wine-2);}
.sec-deep{background:var(--wine-0);}
.sec-head{max-width:640px;}
.sec-head.center{margin:0 auto;text-align:center;}
.sec-head h2{font-size:clamp(32px,3.8vw,48px);margin-top:12px;}
.sec-head p{margin-top:16px;font-size:18px;color:var(--ink-soft);}
.sec-wine .sec-head p,.sec-deep .sec-head p{color:rgba(245,229,208,.78);}
.sec-cream h2{color:var(--wine-3);}
.sec-wine h2,.sec-deep h2{color:var(--cream);}

/* FORM */
.formsec{background:var(--wine-0);}
.formcard{max-width:720px;margin:34px auto 0;background:rgba(245,229,208,.05);border:1px solid var(--line);border-radius:18px;padding:34px;}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field.full{grid-column:1/-1;}
.field label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);font-weight:600;}
.field input,.field select,.field textarea{background:rgba(42,7,32,.55);border:1px solid var(--line);border-radius:10px;color:var(--cream);font-family:"Open Sans";font-size:15px;padding:12px 14px;width:100%;}
.field textarea{resize:vertical;min-height:96px;}
.field input::placeholder,.field textarea::placeholder{color:rgba(245,229,208,.42);}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);background-position:calc(100% - 20px) 19px,calc(100% - 14px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
select{color-scheme:dark;}select option{background:var(--wine-1);color:var(--cream);}select option:checked,select option:hover{background:var(--accent);color:var(--wine-0);}
.formcard .btn{width:100%;justify-content:center;margin-top:6px;background:var(--cream);color:var(--wine-1);}
.formcard .btn:hover{background:var(--cream-2);}

/* SPLIT + photos */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.photo{border-radius:16px;aspect-ratio:5/4;box-shadow:0 30px 60px -34px rgba(42,7,32,.55);position:relative;overflow:hidden;background-size:cover;background-position:center;background-color:#3a1730;}
.photo .plabel{position:absolute;bottom:14px;left:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(42,7,32,.5);padding:6px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.25);}
.ph-a{background-image:linear-gradient(160deg,rgba(42,7,32,.05),rgba(42,7,32,.35)),var(--img-a);}
.ph-b{background-image:linear-gradient(160deg,rgba(42,7,32,.05),rgba(42,7,32,.4)),var(--img-b);}

/* TYPES */
.types{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px;}
.typecard{background:rgba(245,229,208,.05);border:1px solid var(--line);border-radius:14px;padding:30px;}
.typecard .cat{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:700;}
.typecard h3{font-size:26px;color:var(--cream);margin-top:8px;}
.typecard ul{list-style:none;padding:0;margin:20px 0 0;}
.typecard li{display:flex;align-items:center;gap:11px;padding:7px 0;font-size:15.5px;color:rgba(245,229,208,.9);border-bottom:1px solid rgba(245,229,208,.08);font-family:"Open Sans";}
.typecard li:last-child{border-bottom:none;}
.typecard li .tick{color:var(--accent);font-size:11px;flex:none;}
.types-cta{text-align:center;margin-top:40px;}

/* FEATURES */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;}
.feat{background:#fff;border:1px solid var(--line-cream);border-radius:14px;padding:28px;box-shadow:0 20px 40px -32px rgba(42,7,32,.35);transition:transform .25s ease,box-shadow .25s ease;}
.feat:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(42,7,32,.4);}
.feat .ic{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(160deg,var(--accent-deep),var(--accent));color:#fff;margin-bottom:16px;}
.feat .ic svg{width:22px;height:22px;}
.feat h3{font-size:22px;color:var(--wine-3);font-family:"Open Sans",sans-serif;font-weight:700;}
.feat p{margin-top:9px;font-size:15px;color:var(--ink-soft);font-family:"Open Sans";}
.feat-cta{text-align:center;margin-top:42px;}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px;}
.step{padding:30px 22px;border:1px solid var(--line);border-radius:14px;background:rgba(245,229,208,.05);}
.step .n{font-family:"Poiret One";font-size:46px;color:var(--accent);line-height:1;}
.step h3{font-size:21px;margin-top:12px;color:var(--cream);}
.step p{margin-top:10px;font-size:14.5px;color:rgba(245,229,208,.78);font-family:"Open Sans";}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:14px;margin-top:52px;}
.gcell{border-radius:12px;overflow:hidden;position:relative;border:1px solid var(--line);background-size:cover;background-position:center;background-color:#3a1730;transition:transform .3s ease;}
.gcell:hover{transform:scale(1.02);}
.gcell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,7,32,0) 45%,rgba(42,7,32,.6));}
.gcell span{position:absolute;z-index:2;bottom:11px;left:13px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-weight:600;}
.gcell.big{grid-column:span 2;grid-row:span 2;}
.gcell.wide{grid-column:span 2;}
@media(max-width:760px){.gallery{grid-template-columns:repeat(2,1fr);}.gcell.big{grid-column:span 2;grid-row:span 1;}}

/* ABOUT */
.about-in{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center;}
.about .photo{aspect-ratio:4/5;}
.about p{margin-top:18px;font-size:17.5px;color:rgba(245,229,208,.84);font-family:"Open Sans";}
.about .stat{display:flex;gap:40px;margin-top:30px;}
.about .stat .num{font-family:"Poiret One";font-size:42px;color:var(--accent);line-height:1;}
.about .stat .s-lb{font-size:12px;color:var(--cream);opacity:.9;margin-top:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;}

/* FAQ */
.faqwrap{max-width:820px;margin:44px auto 0;}
.faq{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;background:rgba(245,229,208,.04);}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:"Poiret One";font-size:21px;color:var(--cream);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pl{font-size:26px;color:var(--accent);transition:transform .3s ease;flex:none;font-family:"Open Sans";font-weight:400;}
.faq[open] summary .pl{transform:rotate(45deg);}
.faq .ans{padding:0 24px 22px;color:rgba(245,229,208,.82);font-size:15.5px;font-family:"Open Sans";}

/* FINAL */
.final{background:var(--wine-grad);position:relative;overflow:hidden;text-align:center;}
.final::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 0%,rgba(198,111,174,.24),transparent 60%);}
.final-in{position:relative;max-width:760px;margin:0 auto;padding:0 28px;}
.final h2{font-size:clamp(34px,4.6vw,56px);margin-top:14px;color:var(--cream);}
.final p{margin-top:20px;font-size:19px;color:rgba(245,229,208,.85);font-family:"Open Sans";}
.final .reinforce{margin-top:22px;font-size:20px;color:var(--accent);font-weight:700;font-family:"Open Sans";}
.final .btn{margin-top:30px;}

/* FOOTER */
footer{background:var(--wine-0);border-top:1px solid var(--line);padding:54px 0 38px;}
.foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;}
.foot-logo{height:60px;width:auto;margin-bottom:14px;}
.foot h4{font-family:"Open Sans";font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.foot p,.foot a{font-size:15px;color:rgba(245,229,208,.74);line-height:1.9;font-family:"Open Sans";}
.foot a:hover{color:#fff;}
.foot-bottom{max-width:var(--maxw);margin:38px auto 0;padding:22px 28px 0;border-top:1px solid var(--line);font-size:12.5px;color:rgba(245,229,208,.45);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

@media(max-width:900px){
  .hero-in,.split,.about-in{grid-template-columns:1fr;gap:38px;}
  .feat-grid{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .types{grid-template-columns:1fr;}
  .foot-in{grid-template-columns:1fr;gap:26px;}
      .btn {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: var(--accent);
        color: var(--accent-ink);
        font-family: "Open Sans",system-ui,sans-serif;
        font-weight: 700;
        font-size: 14px;
        padding: 10px 10px;
        border-radius: 10px;
        border: none;
        cursor: pointer;
        box-shadow: 0 12px 30px -12px var(--accent-shadow);
        transition: transform .25s,background .25s,box-shadow .25s;
    }
}
@media(max-width:560px){
  section{padding:58px 0;}
  .formgrid{grid-template-columns:1fr;}
  .feat-grid,.steps{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .g1{grid-column:span 2;}
  .about .stat{gap:26px;}
}

/* helpers */
.hidden{display:none !important;}
.field-error input,.field-error select,.field-error textarea,
input.field-error,select.field-error,textarea.field-error{border-color:#ff8a8a !important;box-shadow:0 0 6px rgba(255,138,138,.55) !important;}
/* ===== Modal confirmacao ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(20,4,16,.78);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999;opacity:0;transition:opacity .25s ease;}
.modal-overlay.show{opacity:1;}
.modal-box{background:#fff;color:var(--wine-1);max-width:420px;width:100%;border-radius:16px;padding:36px 28px;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.35);transform:translateY(12px) scale(.98);transition:transform .25s ease;}
.modal-overlay.show .modal-box{transform:none;}
.modal-icon{width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:#f3e6f0;display:flex;align-items:center;justify-content:center;font-size:36px;color:var(--accent-deep);}
.modal-box h3{margin:0 0 10px;font-size:22px;color:var(--wine-1);font-family:"Poiret One",sans-serif;}
.modal-box p{margin:0 0 24px;font-size:15px;line-height:1.5;color:#6b5560;}
.modal-box .spinner{width:44px;height:44px;margin:0 auto 18px;border:4px solid #f0e0ec;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.modal-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border:0;border-radius:100px;font-size:15px;font-weight:700;cursor:pointer;transition:background .3s ease;font-family:"Open Sans",sans-serif;}
.modal-btn:hover{background:var(--accent-2);}
/* ===== Lightbox galeria ===== */
.lb{position:fixed;inset:0;z-index:9998;background:rgba(20,4,16,.93);display:none;align-items:center;justify-content:center;padding:32px;backdrop-filter:blur(4px);}
.lb.open{display:flex;}
.lb-img{max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lb-cap{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:var(--cream);font-size:13px;letter-spacing:.14em;text-transform:uppercase;}
.lb-close,.lb-prev,.lb-next{position:absolute;background:rgba(245,229,208,.12);color:#fff;border:1px solid var(--line);cursor:pointer;border-radius:50%;width:48px;height:48px;font-size:26px;line-height:1;display:grid;place-items:center;transition:background .2s ease;}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:var(--accent);}
.lb-close{top:22px;right:22px;font-size:30px;}
.lb-prev{left:22px;top:50%;transform:translateY(-50%);}
.lb-next{right:22px;top:50%;transform:translateY(-50%);}
.gcell{cursor:zoom-in;}
@media(max-width:600px){.lb-prev,.lb-next{width:40px;height:40px;font-size:22px;}.lb{padding:12px;}}
