:root { --popup-brown:#4d3821; --popup-gold:#b88f44; --popup-cream:#fbf7ef; }
.home-promo-popup{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:24px;visibility:hidden;opacity:0;transition:opacity .28s ease,visibility 0s linear .28s}
.home-promo-popup.is-open{visibility:visible;opacity:1;transition:opacity .28s ease}
.home-promo-backdrop{position:absolute;inset:0;border:0;background:rgba(36,24,12,.66);backdrop-filter:blur(9px);cursor:default}
.home-promo-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(250px,.95fr) minmax(300px,1.05fr);width:min(870px,100%);min-height:390px;overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:26px;background:#fff;box-shadow:0 34px 100px rgba(28,17,5,.44);transform:translateY(20px) scale(.985);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.home-promo-popup.is-open .home-promo-card{transform:translateY(0) scale(1)}
.home-promo-close{position:absolute;top:17px;right:17px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--popup-brown);font-size:27px;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.12);transition:transform .18s ease,background .18s ease}
.home-promo-close:hover{background:#fff;transform:rotate(90deg)}
.home-promo-image{position:relative;display:block;min-height:100%;background-position:center;background-size:cover;text-decoration:none}
.home-promo-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,17,16,.05) 20%,rgba(32,21,11,.72) 100%)}
.home-promo-image span{position:absolute;left:22px;bottom:20px;max-width:calc(100% - 44px);padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--popup-brown);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.home-promo-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:54px 54px 44px;background:radial-gradient(circle at 100% 0,rgba(223,197,148,.34),transparent 38%),var(--popup-cream)}
.popup-kicker{color:var(--popup-gold);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.home-promo-content h2{max-width:420px;margin:13px 0 14px;color:#402d1c;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1.02}
.home-promo-content p{max-width:390px;margin:0 0 27px;color:#786955;font-size:1rem;line-height:1.65}
.home-promo-cta{display:inline-flex;align-items:center;gap:12px;padding:14px 20px;border-radius:999px;background:var(--popup-gold);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 12px 25px rgba(103,72,28,.18);transition:transform .18s ease,background .18s ease}
.home-promo-cta:hover{background:#9f7737;transform:translateY(-2px)}
.home-promo-cta span{font-size:1.2rem;line-height:.8}
.home-promo-later{margin-top:15px;padding:4px 0;border:0;background:transparent;color:#877760;font:inherit;font-size:.86rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){.home-promo-popup{padding:16px}.home-promo-card{grid-template-columns:1fr;max-width:460px;min-height:0;border-radius:22px}.home-promo-image{min-height:210px}.home-promo-content{padding:28px 28px 25px}.home-promo-content h2{font-size:2.15rem;margin:9px 0 10px}.home-promo-content p{font-size:.94rem;margin-bottom:20px}.home-promo-close{top:12px;right:12px;width:36px;height:36px}.home-promo-image span{left:16px;bottom:15px}}
@media(prefers-reduced-motion:reduce){.home-promo-popup,.home-promo-card{transition:none}}
