.promo-modal-overlay{align-items:center;animation:promo-fade-in .35s ease both;background-color:#14100cd1;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.promo-modal-overlay--closing{animation:promo-fade-out .3s ease both}@keyframes promo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes promo-fade-out{0%{opacity:1}to{opacity:0}}.promo-modal{animation:promo-slide-up .4s cubic-bezier(.22,1,.36,1) both;background:var(--color-bg,#f8f5f0);border-radius:4px;max-height:92vh;max-width:980px;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-width:none;width:100%}.promo-modal::-webkit-scrollbar{display:none}.promo-modal--closing{animation:promo-slide-down .3s ease both}@keyframes promo-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes promo-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}.promo-modal__close{align-items:center;background:var(--color-white,#fff);border:1.5px solid var(--color-primary,#c0966d);border-radius:50%;color:var(--color-primary,#c0966d);cursor:pointer;display:flex;font-size:1.6rem;height:38px;justify-content:center;line-height:1;position:absolute;right:18px;top:18px;transition:var(--transition-base,all .3s ease);width:38px;z-index:10001}.promo-modal__close:hover{background:var(--color-primary,#c0966d);color:var(--color-white,#fff);transform:rotate(90deg)}.promo-modal__header{padding:48px 40px 24px;text-align:center}.promo-modal__eyebrow{color:var(--color-primary,#c0966d);display:block;font-size:.72rem;font-weight:var(--font-weight-semibold,600);letter-spacing:3.5px;margin-bottom:10px;text-transform:uppercase}.promo-modal__eyebrow,.promo-modal__title{font-family:var(--font-primary,"Source Sans Pro",sans-serif)}.promo-modal__title{color:var(--color-heading,#333);font-size:2.6rem;font-weight:var(--font-weight-light,300);letter-spacing:5px;margin:0 0 8px}.promo-modal__subtitle{color:var(--color-text,#555);font-family:var(--font-primary,"Source Sans Pro",sans-serif);font-size:1rem;font-weight:var(--font-weight-regular,400);letter-spacing:.5px;line-height:var(--line-height-body,1.8);margin:0}.promo-modal__divider{background:var(--color-primary,#c0966d);height:1.5px;margin:20px auto 0;opacity:.7;width:48px}.promo-modal__grid{background:#ddd;border:1px solid #ddd;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin:0 32px}.promo-card{background:var(--color-white,#fff);color:inherit;display:flex;flex-direction:column;outline:none;text-decoration:none;transition:var(--transition-base,all .3s ease)}.promo-card:focus-visible,.promo-card:hover{background:#fdfaf7}.promo-card:hover .promo-card__img{transform:scale(1.04)}.promo-card:hover .promo-card__cta{color:var(--color-primary-dark,#a67d58);letter-spacing:.8px}.promo-card__img-wrap{aspect-ratio:4/3;overflow:hidden;position:relative}.promo-card__img{display:block;height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.promo-card__img-overlay{background:linear-gradient(0deg,#00000040 0,#0000 50%);inset:0;pointer-events:none;position:absolute}.promo-card__body{display:flex;flex:1;flex-direction:column;padding:22px 22px 24px}.promo-card__title{color:var(--color-dark,#2c2c2c);font-size:1.5rem;font-weight:var(--font-weight-light,300);letter-spacing:.5px;margin:0 0 10px}.promo-card__includes,.promo-card__title{font-family:var(--font-primary,"Source Sans Pro",sans-serif)}.promo-card__includes{color:var(--color-primary,#c0966d);font-size:.72rem;font-weight:var(--font-weight-semibold,600);letter-spacing:2px;margin:0 0 8px;text-transform:uppercase}.promo-card__list{flex:1;list-style:none;margin:0 0 18px;padding:0}.promo-card__list li{color:var(--color-text,#555);font-family:var(--font-primary,"Source Sans Pro",sans-serif);font-size:1rem;font-weight:var(--font-weight-regular,400);line-height:1.7;padding:4px 0 4px 22px;position:relative}.promo-card__list li:before{color:var(--color-primary,#c0966d);content:"✓";font-size:1rem;font-weight:var(--font-weight-semibold,600);left:0;position:absolute}.promo-card__cta{color:var(--color-primary,#c0966d);display:inline-block;font-family:var(--font-primary,"Source Sans Pro",sans-serif);font-size:.85rem;font-weight:var(--font-weight-regular,400);letter-spacing:1.2px;text-transform:uppercase;transition:var(--transition-base,all .3s ease)}.promo-modal__footer{align-items:center;display:flex;flex-direction:column;gap:14px;padding:32px 40px 36px}.promo-modal__view-all{background:var(--color-primary,#c0966d);border:2px solid var(--color-primary,#c0966d);border-radius:var(--radius-btn,6px);color:var(--color-white,#fff);display:inline-block;font-family:var(--font-primary,"Source Sans Pro",sans-serif);font-size:.85rem;font-weight:var(--font-weight-regular,400);letter-spacing:1.2px;padding:11px 32px;text-decoration:none;text-transform:uppercase;transition:var(--transition-base,all .3s ease)}.promo-modal__view-all:hover{background:#0000;color:var(--color-primary,#c0966d)}.promo-modal__dismiss{background:none;border:none;color:var(--color-text,#555);cursor:pointer;font-family:var(--font-primary,"Source Sans Pro",sans-serif);font-size:.9rem;font-weight:var(--font-weight-regular,400);letter-spacing:.3px;opacity:.6;padding:0;text-decoration:underline;text-underline-offset:3px;transition:opacity .2s ease}.promo-modal__dismiss:hover{opacity:1}@media (max-width:860px){.promo-modal__grid{grid-template-columns:1fr;margin:0 24px}.promo-card__img-wrap{aspect-ratio:16/7}.promo-modal__header{padding:44px 24px 20px}.promo-modal__title{font-size:1.7rem}}@media (max-width:600px){.promo-modal-overlay{align-items:flex-end;padding:0}.promo-modal{animation:promo-slide-up-mobile .4s cubic-bezier(.22,1,.36,1) both;border-radius:16px 16px 0 0;max-height:94vh}.promo-modal--closing{animation:promo-slide-down-mobile .3s ease both}@keyframes promo-slide-up-mobile{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes promo-slide-down-mobile{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(60px)}}.promo-modal__grid{border-left:none;border-right:none;margin:0}.promo-card__img-wrap{aspect-ratio:16/6}.promo-card__body{padding:18px 20px 20px}.promo-modal__header{padding:38px 20px 18px}.promo-modal__title{font-size:1.5rem}.promo-modal__footer{padding:24px 20px 28px}.promo-modal__view-all{padding:14px 20px;text-align:center;width:100%}}