:root{--kc-brown:#8a6032;--kc-brown-dark:#704a27;--kc-rose:#f2e3ea;--kc-rose-deep:#ead2dc;--kc-white:rgba(255,255,255,.62);}
.kc-location{background:var(--kc-rose);color:var(--kc-brown);width:100%;overflow:hidden;font-family:inherit;}
.kc-location *{box-sizing:border-box}
.kc-location-hero{position:relative;width:100%;height:100vh;min-height:720px;overflow:hidden;z-index:1}
.kc-location-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.kc-location-hero-fade{position:absolute;z-index:2;left:-5%;right:-5%;bottom:-2px;height:32%;background:linear-gradient(to bottom,rgba(242,227,234,0) 0%,rgba(242,227,234,.22) 18%,rgba(242,227,234,.62) 52%,#f2e3ea 100%);pointer-events:none}
.kc-location-page{position:relative;background:linear-gradient(180deg,#f2e3ea 0%,#f2e3ea 55%,#eedbe3 100%);padding:0 24px 80px;z-index:3}
.kc-location-section{max-width:930px;margin:0 auto;padding:76px 0}
.kc-location-intro{padding-top:36px}
.kc-location-card{background:rgba(255,255,255,.58);border:1px solid rgba(138,96,50,.18);border-radius:30px;padding:58px clamp(24px,6vw,72px);box-shadow:0 24px 70px rgba(91,56,36,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:center}
.kc-kicker{font-size:13px;letter-spacing:.18em;font-weight:500;color:var(--kc-brown)!important;margin-bottom:18px;text-transform:uppercase}
.kc-location h1,.kc-location h2{margin:0 0 22px;color:var(--kc-brown)!important;font-weight:400;line-height:1.05;text-align:center}
.kc-location h1{font-size:clamp(42px,6vw,72px)}
.kc-location h2{font-size:clamp(32px,4vw,48px)}
.kc-copy{max-width:720px;margin:0 auto;font-size:18px;line-height:1.8;color:var(--kc-brown-dark);text-align:center}
.kc-map{margin:42px auto 0;max-width:820px;overflow:hidden;border-radius:22px;box-shadow:0 18px 50px rgba(91,56,36,.12)}
.kc-map iframe{display:block;width:100%!important;height:430px!important;border:0}
.kc-location-photo{padding-top:22px;text-align:center}
.kc-location-photo-wrap{max-width:760px;margin:0 auto;border-radius:30px;overflow:hidden;box-shadow:0 24px 65px rgba(91,56,36,.14);background:#fff}
.kc-location-photo-wrap img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover}
.kc-photo-caption{max-width:760px;margin:34px auto 0;text-align:center}
.kc-parking-map{margin:42px auto 0;max-width:820px;overflow:hidden;border-radius:22px;box-shadow:0 18px 50px rgba(91,56,36,.12);background:#fff}
.kc-parking-map iframe{display:block;width:100%!important;height:520px!important;border:0}
.kc-note-card{max-width:760px;margin:0 auto;padding:28px 34px;background:rgba(255,255,255,.46);border:1px solid rgba(138,96,50,.15);border-radius:22px;box-shadow:0 16px 45px rgba(91,56,36,.06);text-align:center;color:var(--kc-brown-dark);font-size:16px;line-height:1.65}
.kc-location-signature{text-align:center;padding:45px 0 20px;color:var(--kc-brown);font-size:22px;letter-spacing:.03em}
.kc-reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.kc-reveal.kc-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.kc-reveal{opacity:1;transform:none;transition:none}}
body.elementor-editor-active .kc-location{width:100%;max-width:none}
body.elementor-editor-active .kc-location-hero{height:min(760px,82vh);min-height:480px}
body.elementor-editor-active .kc-location-page{padding-left:16px;padding-right:16px}
@media(max-width:700px){.kc-location-hero{height:76vh;min-height:590px}.kc-location-hero-fade{height:40%;background:linear-gradient(to bottom,rgba(242,227,234,0) 0%,rgba(242,227,234,.24) 18%,rgba(242,227,234,.68) 54%,#f2e3ea 100%)}.kc-location-page{padding:0 14px 55px}.kc-location-section{padding:52px 0}.kc-location-intro{padding-top:26px}.kc-location-card{padding:40px 22px;border-radius:24px}.kc-copy{font-size:16px;line-height:1.7}.kc-map iframe{height:350px!important}.kc-parking-map iframe{height:430px!important}.kc-location-photo-wrap{border-radius:24px}.kc-location h1{font-size:clamp(38px,12vw,56px)}.kc-location h2{font-size:clamp(30px,9vw,42px)}}

/* 3.2 refinements */
.kc-location-intro{padding-top:78px}
.kc-location-intro .kc-location-card{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0 clamp(18px,5vw,64px)}
.kc-location-intro .kc-kicker{margin-bottom:22px}
.kc-location-intro h1{margin-bottom:26px}
.kc-location-photo{display:flex;flex-direction:column;gap:38px;padding-top:30px}
.kc-photo-caption{order:1;margin:0 auto;max-width:760px}
.kc-location-photo-wrap{order:2;margin:0 auto;max-width:820px}
.kc-location-note{padding-top:26px;padding-bottom:24px}
.kc-note-card{max-width:760px;margin:0 auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center;color:var(--kc-brown-dark);font-size:16px;line-height:1.7}
.kc-note-card .kc-kicker{margin-bottom:16px}
.kc-location-signature{padding:62px 0 18px;color:var(--kc-brown);text-align:center}
.kc-signature-heart{display:block;width:min(150px,22vw);height:auto;margin:22px auto 0;object-fit:contain}.kc-signature-text{font-family:'Distant Stroke','Distant Stroke Script','Brush Script MT',cursive!important;font-size:clamp(40px,6vw,68px);line-height:1.08;letter-spacing:0;color:var(--kc-brown)}
@media(max-width:700px){.kc-location-intro{padding-top:64px}.kc-location-intro .kc-location-card{padding:0 10px}.kc-location-photo{gap:30px}.kc-location-photo-wrap{width:100%;border-radius:24px}.kc-location-signature{padding-top:54px}.kc-signature-text{font-size:clamp(38px,10vw,54px)}.kc-signature-heart{width:min(110px,28vw);margin-top:18px}}
