.kc-sa-page{width:100%;max-width:none;margin:0;padding:0;color:#8A6032;font-family:Montserrat,Arial,sans-serif;overflow:hidden}
.kc-sa-page *{box-sizing:border-box}
.kc-sa-hero{width:100vw;height:100vh;min-height:700px;margin-left:calc(50% - 50vw);background-position:center center;background-repeat:no-repeat;background-size:cover;position:relative}
.kc-sa-hero{
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,rgba(0,0,0,.96) 84%,rgba(0,0,0,.68) 91%,rgba(0,0,0,.25) 97%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 78%,rgba(0,0,0,.96) 84%,rgba(0,0,0,.68) 91%,rgba(0,0,0,.25) 97%,transparent 100%);
}
.kc-sa-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:280px;background:linear-gradient(to bottom,rgba(242,227,234,0) 0%,rgba(242,227,234,.12) 28%,rgba(242,227,234,.48) 62%,rgba(242,227,234,.92) 86%,rgba(242,227,234,1) 100%);pointer-events:none;z-index:2}
.kc-sa-content{position:relative;padding:88px 24px;background:transparent;text-align:center}
.kc-sa-inner{width:min(1050px,100%);margin:0 auto}
.kc-sa-intro-section{padding-top:76px;padding-bottom:72px}
.kc-sa-intro{text-align:center}
.kc-sa-date,.kc-sa-eyebrow{color:#8A6032;font-size:13px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;margin-bottom:14px}
.kc-sa-content h2{margin:0 0 24px;color:#8A6032;font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,5vw,56px);line-height:1.1;font-weight:500}
.kc-sa-content p{max-width:760px;margin:0 auto;color:#8A6032;font-size:17px;line-height:1.9}
.kc-sa-intro p{max-width:760px;margin-left:auto;margin-right:auto}
.kc-sa-line{width:70px;height:1px;margin:0 auto 28px;background:#8A6032;opacity:.38}
.kc-sa-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:70px;align-items:center}
.kc-sa-place-card{width:min(1120px,100%);margin:0 auto;padding:54px;border:1px solid rgba(138,96,50,.16);border-radius:30px;background:rgba(255,255,255,.42);box-shadow:0 18px 55px rgba(86,58,32,.075),inset 0 1px 0 rgba(255,255,255,.55);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.kc-sa-address-inline{margin-top:28px;color:#8A6032;line-height:1.8}
.kc-sa-map-card{width:100%;height:360px;overflow:hidden;border-radius:24px;border:1px solid rgba(138,96,50,.18);box-shadow:0 18px 45px rgba(70,45,20,.07);background:rgba(255,255,255,.5)}
.kc-sa-map-card iframe{display:block;width:100%;height:100%;border:0}
.kc-sa-copy{text-align:center}
.kc-sa-copy p,.kc-sa-copy .kc-sa-address-inline{margin-left:auto;margin-right:auto}
.kc-sa-eyebrow{text-align:center}

/* Motto: deliberately without a card/background */
.kc-sa-motto{text-align:center;padding-top:82px;padding-bottom:88px}
.kc-sa-motto-lines{font-family:"Playfair Display",Georgia,serif;color:#8A6032;font-size:clamp(34px,5vw,56px);line-height:1.3;font-weight:500;letter-spacing:.01em}
.kc-sa-motto-subtitle{margin-top:28px;color:#8A6032;font-family:"Distant Stroke",cursive;font-size:clamp(38px,5vw,62px);font-style:normal;font-weight:400;letter-spacing:.01em;line-height:1.05}

/* Internal-family button section: glass card */
.kc-sa-internal{padding-top:40px;padding-bottom:92px}
.kc-sa-internal-box{max-width:760px;margin:0 auto;text-align:center;padding:46px 38px;border:1px solid rgba(138,96,50,.16);border-radius:30px;background:rgba(255,255,255,.42);box-shadow:0 18px 55px rgba(86,58,32,.075),inset 0 1px 0 rgba(255,255,255,.55);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.kc-sa-internal-box p{margin:0 auto 28px}
.kc-sa-button{display:inline-block;padding:13px 24px;border-radius:999px;background:#8A6032;color:#fff!important;text-decoration:none!important;font-size:14px;transition:transform .25s ease,opacity .25s ease}
.kc-sa-button:hover{transform:translateY(-2px);opacity:.9}

/* Live-page entrance animation; disabled only inside Elementor editor so content remains visible while editing. */
.kc-sa-reveal{opacity:0;visibility:hidden;transform:translate3d(0,52px,0) scale(.985);filter:blur(4px);transition:opacity .95s ease,transform 1.05s cubic-bezier(.22,.61,.36,1),filter .95s ease,visibility 0s linear 1.05s;will-change:opacity,transform,filter}
.kc-sa-reveal.kc-sa-visible{opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1);filter:blur(0);transition-delay:0s}
.kc-sa-reveal.kc-sa-visible .kc-sa-inner{animation:kcSaInnerSettle .9s ease both}
@keyframes kcSaInnerSettle{from{opacity:.9}to{opacity:1}}
.elementor-editor-active .kc-sa-reveal,.elementor-editor-preview .kc-sa-reveal{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;transition:none!important}
.elementor-editor-active .kc-sa-hero,.elementor-editor-preview .kc-sa-hero{min-height:650px}

/* Final signature: no card, centered, heart directly underneath */
.kc-sa-signature-bottom{padding-top:30px;padding-bottom:110px;text-align:center}
.kc-sa-signature-bottom .kc-sa-inner{background:transparent;box-shadow:none;border:0;padding:0 20px}
.kc-sa-motto-signature{margin:0;color:#8A6032;font-family:"Distant Stroke",cursive;font-size:clamp(42px,5.5vw,68px);line-height:1.05;text-align:center}
.kc-sa-heart{display:block;width:88px;height:88px;object-fit:contain;margin:22px auto 0}

@media (max-width:767px){
 .kc-sa-hero{width:100vw;margin-left:calc(50% - 50vw);height:100vh;min-height:620px;background-position:center center}
 .kc-sa-hero:after{height:210px}
 .kc-sa-content{padding:68px 20px}
 .kc-sa-intro-section{padding-top:58px;padding-bottom:58px}
 .kc-sa-grid{grid-template-columns:1fr;gap:38px}
 .kc-sa-place-card{padding:32px 20px;border-radius:24px}
 .kc-sa-map-card{height:300px}
 .kc-sa-content p{font-size:16px;line-height:1.8}
 .kc-sa-motto{padding-top:58px;padding-bottom:68px}
 .kc-sa-motto-lines{font-size:32px;line-height:1.35}
 .kc-sa-motto-subtitle{font-size:40px;margin-top:24px}
 .kc-sa-internal{padding-top:30px;padding-bottom:68px}
 .kc-sa-internal-box{padding:34px 22px;border-radius:24px}
 .kc-sa-motto-signature{font-size:44px}
 .kc-sa-heart{width:72px;height:72px;margin-top:18px}
}
@media (prefers-reduced-motion:reduce){.kc-sa-reveal{opacity:1;transform:none;transition:none}}
