
:root{--kc-brown:#8A6032;--kc-dark:#6f4a27;--kc-rose:#f2e3ea}
.kc-party{background:var(--kc-rose);color:var(--kc-brown);overflow:hidden;font-family:"Montserrat",Arial,sans-serif}.kc-party *{box-sizing:border-box}
.kc-party-hero{position:relative;width:100%;height:100vh;min-height:680px;overflow:hidden;background:var(--kc-rose);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.95) 78%,rgba(0,0,0,.6) 89%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.95) 78%,rgba(0,0,0,.6) 89%,rgba(0,0,0,0) 100%)}
.kc-party-hero:after{content:"";position:absolute;inset:52% 0 0;background:linear-gradient(to bottom,rgba(242,227,234,0),rgba(242,227,234,.25) 24%,rgba(242,227,234,.78) 70%,var(--kc-rose));pointer-events:none}.kc-party-hero img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.kc-party-content{max-width:900px;margin:-9vh auto 0;padding:0 22px 100px;position:relative;z-index:2}.kc-party-intro{text-align:center;max-width:760px;margin:0 auto 45px}.kc-party-kicker{font-size:12px;letter-spacing:.24em;margin-bottom:14px;color:var(--kc-brown)}.kc-party h1,.kc-party h2{color:var(--kc-brown)!important;font-weight:400;line-height:1.08;margin:0 0 22px}.kc-party h1{font-size:clamp(42px,7vw,70px)}.kc-party h2{font-size:clamp(30px,5vw,48px)}.kc-party p{font-size:18px;line-height:1.75;margin:0 auto;color:var(--kc-dark)}
.kc-party-form-card{background:rgba(255,255,255,.72);border:1px solid rgba(138,96,50,.18);border-radius:28px;padding:clamp(28px,5vw,58px);box-shadow:0 18px 60px rgba(91,60,43,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-width:780px;margin:0 auto}.kc-field,.kc-fieldset{margin:0 0 25px;text-align:left}.kc-field label,.kc-fieldset legend{display:block;color:var(--kc-brown);font-size:16px;margin-bottom:9px}.kc-field label span,.kc-fieldset legend span{font-weight:700}.kc-field input[type=text],.kc-field input[type=email],.kc-field input[type=number],.kc-field textarea,.kc-other{width:100%;border:1px solid rgba(138,96,50,.25);border-radius:12px;background:rgba(255,255,255,.82);color:var(--kc-dark);padding:14px 15px;font:inherit;font-size:16px;outline:none}.kc-field textarea{resize:vertical;min-height:120px}.kc-fieldset{border:0;padding:0}.kc-fieldset legend{padding:0}.kc-choice{display:inline-flex!important;align-items:center;gap:8px;margin:5px 18px 5px 0!important;cursor:pointer}.kc-choice input{accent-color:var(--kc-brown);width:17px;height:17px}.kc-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kc-check-grid{display:flex;flex-wrap:wrap;gap:4px 10px}.kc-other{margin-top:10px}.kc-party-submit{width:100%;border:0;border-radius:999px;background:var(--kc-brown);color:#fff;padding:16px 24px;font:inherit;font-size:17px;cursor:pointer;transition:transform .25s,box-shadow .25s}.kc-party-submit:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(138,96,50,.2)}.kc-party-success{max-width:780px;margin:0 auto 30px;text-align:center;background:rgba(255,255,255,.55);border-radius:24px;padding:30px}.kc-party-closing{text-align:center;padding:80px 20px 20px;font-family:"Distant Stroke","Brush Script MT",cursive;font-size:clamp(38px,7vw,64px);color:var(--kc-brown)}.kc-party-reveal{opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s ease}.kc-party-reveal.kc-visible{opacity:1;transform:none}
@media(max-width:700px){.kc-party-hero{height:86vh;min-height:620px}.kc-party-content{margin-top:-6vh;padding-left:15px;padding-right:15px}.kc-party p{font-size:16px}.kc-party-form-card{padding:25px 20px;border-radius:22px}.kc-number-grid{grid-template-columns:1fr}.kc-party-closing{padding-top:58px}}

/* Elementor editor safety: never hide the page content. */
body.elementor-editor-active .kc-party-reveal,
.elementor-editor-active .kc-party-reveal{
  opacity:1!important;
  transform:none!important;
}
/* The first content section should sit clearly below the soft hero fade. */
.kc-party-intro{padding-top:28px}
@media(max-width:700px){.kc-party-intro{padding-top:22px}}

/* Final button override */
.kc-party .kc-party-submit{
  background:#8A6032!important;
  background-color:#8A6032!important;
  color:#fff!important;
}
.kc-party .kc-party-submit:hover,
.kc-party .kc-party-submit:focus{
  background:#8A6032!important;
  background-color:#8A6032!important;
  color:#fff!important;
}

.kc-party-deadline{
  margin:26px auto 0;
  color:var(--kc-brown);
  font-size:18px;
  letter-spacing:.08em;
  text-transform:none;
  font-weight:600;
}
.kc-party-heart{
  display:block;
  width:min(92px,24vw);
  height:auto;
  margin:24px auto 0;
  object-fit:contain;
}

/* Wedding typography */
.kc-party h1,
.kc-party h2{
  font-family:"Playfair Display",Georgia,serif!important;
}
.kc-party p,
.kc-party-intro p,
.kc-party-deadline,
.kc-party label,
.kc-party legend,
.kc-party input,
.kc-party textarea,
.kc-party button{
  font-family:"Montserrat",Arial,sans-serif!important;
}

/* Smaller deadline, same elegant serif styling as requested */
.kc-party-deadline{
  font-family:"Playfair Display",Georgia,serif!important;
  font-size:clamp(16px,3.6vw,22px)!important;
  line-height:1.35;
  letter-spacing:.08em;
}

/* Final Cheers to love in Distant Stroke */
.kc-party-closing{
  font-family:"Distant Stroke","Brush Script MT",cursive!important;
}

/* Submit button centered */
.kc-party-form-card .kc-party-submit{
  display:block!important;
  width:auto!important;
  min-width:270px;
  margin:0 auto!important;
}
@media(max-width:700px){
  .kc-party-form-card .kc-party-submit{
    width:100%!important;
    min-width:0;
  }
}

/* Final layout refinements */
.kc-party-form-card form{
  text-align:center!important;
}
.kc-party-form-card .kc-party-submit{
  display:block!important;
  position:relative!important;
  float:none!important;
  clear:both!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:270px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-inline:auto!important;
}
.kc-party-closing{
  font-size:clamp(52px,9vw,78px)!important;
  line-height:1.05!important;
}
.kc-party-heart{
  width:min(78px,20vw)!important;
  margin:22px auto 0!important;
}
@media(max-width:700px){
  .kc-party-form-card .kc-party-submit{
    width:max-content!important;
    min-width:270px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .kc-party-closing{
    font-size:56px!important;
  }
  .kc-party-heart{
    width:76px!important;
  }
}
