/* November - Kin Keeper new: responsive WordPress translation. */
.campaign-wordmark .brand-logo { width: 130px; height: 72px; object-fit: contain; }
.home-header .campaign-wordmark .brand-logo { width: 153px; height: 84px; object-fit: contain; }
.footer-brand .brand-logo { width: 153px; height: 84px; object-fit: contain; }
.campaign-footer__wordmark { display: inline-block; padding: 8px 12px; border-radius: 8px; background: var(--white); }
.campaign-footer__wordmark .brand-logo { width: 130px; height: 72px; object-fit: contain; }
.announcement-bar { position: relative; padding: 0 12px; gap: 8px; overflow: hidden; background: var(--announcement-background, var(--ink)); color: var(--announcement-color, var(--white)); }
.home-announcement.announcement-bar { background: var(--announcement-background, var(--green)); color: var(--announcement-color, var(--ink)); padding: 0 12px; }
.announcement-window { flex: 1; min-width: 0; overflow: hidden; }
.announcement-track { display: flex; width: max-content; align-items: center; }
.announcement-message { flex-shrink: 0; display: block; padding: 8px 48px; white-space: nowrap; }
.announcement-bar.is-ready .announcement-track { animation: announcement-scroll var(--announcement-duration, 25s) linear infinite; }
.announcement-bar[data-announcement-direction="right"] .announcement-track { animation-direction: reverse; }
.announcement-bar:is(:hover, :focus-within, .is-paused) .announcement-track { animation-play-state: paused; }
.announcement-controls { display: flex; gap: 4px; flex-shrink: 0; }
.announcement-controls button { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 11px; cursor: pointer; }
.announcement-controls button:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
.announcement-bar.is-static .announcement-track { width: 100%; justify-content: center; }
.announcement-bar.is-static .announcement-message { white-space: normal; text-align: center; padding-inline: 8px; }
@keyframes announcement-scroll { to { transform: translateX(calc(-1 * var(--announcement-step))); } }
@media (max-width: 600px) {
  .campaign-header .campaign-wordmark .brand-logo { width: 94px; height: 52px; object-fit: contain; }
  .home-announcement.announcement-bar { background: var(--announcement-background, var(--ink)); color: var(--announcement-color, var(--white)); }
  .announcement-message { padding-inline: 28px; }
  .footer-brand .brand-logo { width: 130px; height: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  .announcement-bar .announcement-track { animation: none !important; width: 100%; justify-content: center; }
  .announcement-bar .announcement-message { white-space: normal; padding-inline: 8px; text-align: center; }
  .announcement-bar [data-announcement-clone], .announcement-bar [data-announcement-pause] { display: none; }
}
.mobile-home { display: none; }
.campaign-announcement { min-height: 30px; }
.campaign-header { border: 0; }
.campaign-header__inner { grid-template-columns: 260px minmax(0, 1fr) 170px; }
.campaign-nav { gap: 22px; }
.campaign-actions .action-icon { display: none; }
.campaign-actions .cart-count { font-size: 10px; }
.home-announcement { min-height: 124px; position: relative; color: var(--ink); background: var(--green); font-size: 12.5px; text-transform: none; padding: 16px 46px; text-align: center; }
.home-announcement > button { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; cursor: pointer; }
.home-header { min-height: 136px; }
.home-header .campaign-header__inner { grid-template-columns: 230px minmax(0, 1fr) 96px; }
.home-header .campaign-wordmark img { width: 153px; height: 84px; object-fit: cover; }
.home-header .campaign-nav { gap: 24px; }
.home-header .campaign-nav a { font-size: 11.5px; font-weight: 600; letter-spacing: .46px; white-space: nowrap; }
.home-header .action-label { display: none; }
.home-header .campaign-actions .action-icon { display: inline; }
.november-home .hero__inner { width: min(calc(100% - 56px), 1384px); margin-left: max(56px, calc((100% - 1328px)/2)); grid-template-columns: minmax(0, 1fr) 55%; }
.november-home .hero__content { padding: 45px 24px 45px 0; }
.november-home .hero h1 { max-width: none; margin-bottom: 20px; line-height: 1.18; }
.november-home .hero__line { font-size: clamp(30px, 3.18vw, 46px); }
.november-home .hero__lede { max-width: 560px; font-size: 16.5px; line-height: 1.35; }
.november-home .button--primary { min-width: 196px; }
.hero-slider { height: 470px; }
.hero-slider__slide.is-original-hero img { width: 148.94%; max-width: none; height: 470px; position: absolute; left: -15.98%; object-fit: fill; }
.hero-slider::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 90px; background: linear-gradient(transparent, rgba(0,0,0,.35)); pointer-events: none; }
.hero-slider__arrow, .hero-slider__dots, .hero-slider__pause { z-index: 2; }
.hero-slider__arrow { width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 2px 8px #0003; position: absolute; top: 50%; transform: translateY(-50%); font-size: 22px; cursor: pointer; }
.hero-slider__arrow--previous { left: 16px; }
.hero-slider__arrow--next { right: 16px; }
.hero-slider__dots { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
.hero-slider__dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 5px; background: #ffffffbf; cursor: pointer; }
.hero-slider__dots button.is-active { width: 26px; background: var(--green); }
.hero-slider__pause { position: absolute; right: 14px; bottom: 17px; border: 0; border-radius: 50%; width: 30px; height: 30px; cursor: pointer; background: #ffffffdf; }
.recipient-section { min-height: 252px; padding-block: 46px; background: var(--white); }
.recipient-section h2 { margin-bottom: 22px; font-size: 22px; text-align: center; }
.recipient-row { display: flex; gap: 34px; justify-content: center; }
.recipient-row a { display: flex; flex-direction: column; gap: 9px; align-items: center; flex-shrink: 0; font-size: 11.5px; text-decoration: none; }
.recipient-row img { width: 86px; height: 86px; border-radius: 50%; }
.recipient-more { width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; background: var(--cream-soft); font-size: 30px; }
.november-home .product-section { padding-block: 36px 44px; }
.november-home .trending-layout { grid-template-columns: minmax(0,1fr) 310px; gap: 18px; align-items: start; }
.november-home .trending-products:only-child { grid-column: 1 / -1; }
.november-home .trending-products .november-products { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.november-product { position: relative; padding: 10px; border-radius: 10px; background: var(--cream); }
.november-product__image { display: block; aspect-ratio: auto; height: 165px; border-radius: 8px; background: #f0ebe0; }
.november-product__image img { width: 100%; height: 100%; object-fit: contain; }
.november-product h2 { margin: 18px 0 8px; font: 700 13px/1.3 var(--sans); text-transform: none; }
.november-product__price { margin: 0 0 8px; font-size: 12px; }
.november-add-to-cart { min-height: 24px; display: inline-flex; margin: 0; padding: 0; color: #2e854d; background: transparent; border-radius: 0; font-size: 11px; text-transform: none; }
.november-product--trending { padding: 0 0 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--white); }
.november-product--trending .november-product__image { height: 170px; border-radius: 12px; background: var(--white); }
.november-product--trending h2, .november-product--trending .november-product__price, .november-product__rating { margin-inline: 12px; }
.november-product--trending h2 { margin-top: 8px; font-size: 12.5px; }
.november-product--trending .november-product__price { font-size: 13px; font-weight: 700; color: var(--ink); }
.november-product--trending .november-add-to-cart { width: calc(100% - 24px); margin: 4px 12px 0; min-height: 31px; display: flex; border-radius: 6px; color: var(--white); background: var(--ink); }
.november-product__rating { color: var(--gold); }
.bundle-panel { min-height: 293px; padding: 28px 18px; border-radius: 14px; }
.bundle-panel h2 { margin-bottom: 12px; font-size: 18px; }
.bundle-panel__subtitle { margin-bottom: 12px; font: italic 500 17px var(--serif); color: var(--green-dark); }
.november-bundle-icons { height: 34px; display: flex; justify-content: center; align-items: center; gap: 11px; margin: 0 auto 12px; }
.november-bundle-icons img { max-width: none; width: auto; height: auto; }
.bundle-mug, .bundle-hat { display: flex; position: relative; align-items: center; }
.bundle-hat { flex-direction: column; }
.bundle-mug img + img { margin-left: -1px; }
.bundle-hat img + img { margin-top: -1px; }
.bundle-panel__items { margin: 0 0 12px; }
.bundle-panel__price { margin-bottom: 12px; }
.reasons { border: 0; padding-block: 10px 40px; }
.reasons h2, .holiday-section h2 { text-align: center; }
.promo-grid a { min-height: 94px; column-gap: 12px; grid-template-columns: 56px 1fr; padding: 18px 20px; border-radius: 12px; }
.holiday-section { padding-block: 44px; }
.holiday-carousel { display: flex; gap: 15px; align-items: flex-start; }
.holiday-carousel .holiday-grid { display: flex; gap: 15px; flex: 1; scroll-snap-type: x mandatory; }
.holiday-grid a { min-width: 200px; height: 150px; border-radius: 10px; padding: 12px; text-align: left; justify-content: flex-start; scroll-snap-align: start; background: var(--cream-soft); }
.holiday-grid a img { position: absolute; inset: 0; width: 200px; height: 150px; object-fit: cover; }
.holiday-grid a::before { content: ''; position: absolute; z-index: 1; inset: auto 0 0; height: 64px; background: linear-gradient(transparent,#000b); }
.holiday-grid span { font-size: 12.5px; }
.holiday-carousel button { flex-shrink: 0; width: 38px; height: 38px; border: 1px solid var(--border-soft); border-radius: 50%; background: var(--white); cursor: pointer; }
.november-home .story-grid { grid-template-columns: minmax(0,1fr) 430px minmax(0,1fr) 26px; gap: 34px; }
.story-photo { height: 260px; overflow: hidden; border-radius: 12px; }
.story-photo img { width: 430px; max-width: none; height: 322.5px; object-fit: fill; }
.story-grid .kinnect-copy h2 { font-size: 15px; }
.story-grid .kinnect-logo { width: 93px; height: 18px; margin: 11px 0; object-fit: contain; }
.story-grid .story-sparkles { max-width: none; width: auto; height: auto; }
.review-cards { display: flex; gap: 14px; overflow-x: auto; }
.review-cards blockquote { flex: 1; min-width: 150px; margin: 0; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--white); font-size: 11.5px; }
.review-cards blockquote > span { color: var(--gold); font-size: 10.5px; }
.review-cards p { margin: 7px 0; }
.review-cards cite { font-size: 10.5px; font-style: normal; font-weight: 700; color: var(--muted); }
.social-proof__inner { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) 190px; gap: 40px; align-items: start; }
.newsletter { flex-wrap: wrap; }
.newsletter input { width: min(100%,224px); }
.form-feedback { width: 100%; font-size: 12px; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.home-footer { padding: 38px 0 42px; }
.footer-grid { grid-template-columns: 1.2fr repeat(4,1fr) 1.4fr; gap: 40px; }
.footer-brand a { text-decoration: none; }
.footer-brand img { width: 153px; height: 84px; object-fit: cover; }
.footer-section summary { font-size: 10.5px; font-weight: 700; text-transform: uppercase; list-style: none; cursor: pointer; }
.footer-section summary::-webkit-details-marker { display: none; }
.footer-section nav { margin-top: 7px; }
.footer-section nav a { font-size: 10.5px; }
.campaign-footer { min-height: 210px; align-items: flex-start; padding-block: 30px; }
.campaign-footer__inner { align-items: start; grid-template-columns: 310px 1fr; }
.campaign-footer nav { justify-content: flex-start; padding-top: 24px; gap: 28px; }
.november-page__hero { min-height: 250px; }
.november-page__hero .container { width: min(calc(100% - 140px),1300px); padding-block: 50px; }
.november-kicker { font-size: 10px; margin-bottom: 18px; }
.november-page__hero h1 { margin: 0 0 10px; font-size: 46px; line-height: 1.2; text-transform: none; }
.november-page__hero p:last-child { font-size: 15px; margin: 0; }
.november-page__body { min-height: 570px; padding-block: 30px 80px; }
.november-page__body > .container { width: min(calc(100% - 140px),1300px); }
.november-products { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.relationship-tabs { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 28px; }
.relationship-tabs a { font-size: 14px; font-weight: 700; text-decoration: none; padding-bottom: 8px; }
.relationship-tabs a[aria-current] { color: #2e854d; box-shadow: 0 2px #2e854d; }
.november-product-search { max-width: 620px; margin-bottom: 28px; }
.november-product-search label { font-size: 12px; }
.november-split { grid-template-columns: 1.15fr 1fr; gap: 65px; padding-top: 15px; }
.november-split h2 { font-size: 36px; line-height: 1.25; }
.november-split p { font-size: 17px; }
.november-statement { min-height: 430px; margin-top: 35px; background: #f0ebe0; color: #2e854d; font-size: 46px; }
.november-faq { max-width: 1100px; }
.november-faq summary { padding: 20px 50px 20px 15px; font-size: 14px; }
.holiday-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 40px; }
.holiday-directory__card { min-height: 235px; padding: 20px; border-radius: 12px; background: var(--cream); text-decoration: none; display: flex; flex-direction: column; align-items: flex-start; }
.holiday-directory__card small { color: #2e854d; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.holiday-directory__card h2 { margin: 20px 0 12px; font-size: 30px; }
.holiday-directory__card p { font-size: 13px; color: var(--muted); }
.holiday-directory__card span { margin-top: auto; font-size: 10px; font-weight: 700; color: #2e854d; text-transform: uppercase; }
.holiday-directory__card.is-current, .holiday-detail-band { background: var(--ink); color: var(--white); }
.holiday-directory__card.is-current :is(small,p,span) { color: var(--white); }
.holiday-detail-band { padding-block: 35px; min-height: 260px; }
.holiday-detail-band h2 { font-size: 40px; }
.november-form-fields { max-width: 760px; margin-left: 100px; display: flex; flex-direction: column; }
.november-form-fields label { margin: 0 0 8px; font-size: 12px; font-weight: 700; }
.november-form-fields :is(input,textarea,select), .mobile-gift-finder select { width: 100%; min-height: 48px; border: 1px solid transparent; border-radius: 8px; padding: 12px 15px; background: var(--cream); color: var(--ink); font: inherit; }
.november-form-fields :is(input,textarea,select) { margin-bottom: 28px; }
.november-form-fields textarea { min-height: 100px; resize: vertical; }
.november-contact .kin-button, .gift-finder-form > .kin-button { float: right; margin-right: 100px; }
.november-contact .form-feedback { max-width: 760px; margin-left: 100px; }
.gift-finder-form { padding-top: 15px; min-height: 520px; }
.gift-finder-form label { font: 700 20px var(--serif); }
.gift-finder-form select { margin-bottom: 65px; }
.gift-finder-form .november-form-fields select:last-child { margin-bottom: 40px; }
.catalog-pagination { display: flex; gap: 15px; margin-top: 30px; }
.november-detail .commerce-content { padding-block: 25px; }
.woocommerce .november-detail div.product { display: flow-root; }
.woocommerce .november-detail div.product div.images { width: 46%; background: #f0ebe0; border-radius: 12px; padding: 15px; }
.woocommerce .november-detail div.product div.summary { width: 46%; background: var(--cream); border-radius: 12px; padding: 20px; }
.woocommerce .november-detail div.product .product_title { font: 700 24px var(--serif); }
.woocommerce .november-detail div.product .price { color: var(--ink); font-size: 18px; }
.woocommerce .november-detail div.product .single_add_to_cart_button { background: #2e854d; color: var(--white); border-radius: 24px; min-height: 46px; }
.november-cart__content .woocommerce { display: grid; grid-template-columns: minmax(0,800px) minmax(260px,380px); gap: 65px; }
.november-cart__content :is(.woocommerce-notices-wrapper,.cart-empty,.return-to-shop) { grid-column: 1/-1; }
.november-cart__content .cart-collaterals { margin-top: 0; }
.november-cart__content .cart_totals { width: 100% !important; float: none; padding: 20px; color: var(--white); border-radius: 12px; background: var(--ink); }
.november-cart__content .cart_totals h2 { font-size: 20px; }
.november-cart__content .cart_totals .woocommerce-shipping-destination { color: #ddd; }
.november-cart__content .woocommerce-cart-form { padding: 15px; }
@media (max-width: 1200px) {
  .home-header .campaign-header__inner { grid-template-columns: 170px 1fr 80px; gap: 14px; }
  .home-header .campaign-nav { gap: 12px; }
  .home-header .campaign-nav a { font-size: 10px; }
  .november-home .story-grid { grid-template-columns: 1fr 35% 1fr; gap: 20px; }
  .november-home .kinnect-copy { grid-column: auto; }
  .story-photo img { width: 100%; height: 322px; object-fit: cover; }
  .story-sparkles { display: none; }
  .recipient-row { gap: 20px; }
  .recipient-row { justify-content: flex-start; overflow-x: auto; padding-bottom: 5px; }
  .social-proof__inner { grid-template-columns: 1.5fr 1fr; gap: 25px; }
  .newsletter-image { display: none; }
  .footer-grid { gap: 20px; }
  .november-cart__content .woocommerce { gap: 30px; }
}
@media (max-width: 900px) {
  .campaign-header__inner, .home-header .campaign-header__inner { grid-template-columns: 25px 1fr auto; gap: 15px; }
  .campaign-menu-toggle { display: grid; gap: 4px; padding: 3px; border: 0; background: transparent; }
  .campaign-menu-toggle > span:not(.screen-reader-text) { width: 18px; height: 2px; background: var(--ink); }
  .campaign-nav { display: none; grid-column: 1/-1; padding-block: 20px; }
  .campaign-nav.is-open { display: flex; flex-direction: column; }
  .november-home .trending-layout { grid-template-columns: 1fr; }
  .november-home .bundle-panel { display: none; }
}
@media (max-width: 600px) {
  .desktop-home { display: none !important; }
  .mobile-home { display: block; }
  .container { width: calc(100% - 40px); }
  .campaign-announcement, .home-announcement { min-height: 30px; color: var(--white); background: var(--ink); font-size: 9px; padding: 8px 32px; text-transform: uppercase; }
  .home-announcement { min-height: 38px; }
  .home-announcement > button { right: 10px; color: var(--white); font-size: 10px; }
  .campaign-header, .home-header { min-height: 62px; }
  .campaign-wordmark { font-size: 18px; text-align: center; white-space: nowrap; }
  .campaign-header__inner, .home-header .campaign-header__inner { grid-template-columns: 20px 1fr 76px; gap: 8px; }
  .campaign-actions { gap: 10px; }
  .campaign-actions .action-label { display: none; }
  .campaign-actions .action-icon { display: inline; font-size: 22px; }
  .campaign-nav { text-align: left; }
  .mobile-kin-hero { min-height: 400px; padding-block: 30px 10px; background: #f0ebe0; }
  .mobile-kin-hero .eyebrow { max-width: 150px; margin: 0 0 10px; font-size: 10px; letter-spacing: 0; line-height: 1.1; }
  .mobile-kin-hero h1 { margin: 0; font: 700 36px/1.2 var(--serif); text-transform: uppercase; }
  .mobile-kin-hero h2 { margin: 0 0 16px; font: 700 28px/1.25 var(--serif); text-transform: none; }
  .mobile-kin-art { min-height: 105px; display: grid; place-items: center; border-radius: 12px; background: var(--white); color: #2e854d; font: 700 28px var(--serif); text-transform: uppercase; margin-bottom: 9px; }
  .mobile-kin-hero .kin-button { width: 100%; min-width: 0; }
  .recipient-section { min-height: 180px; padding: 22px 0; }
  .recipient-section h2 { margin-bottom: 22px; font-size: 17px; text-align: left; }
  .recipient-row { justify-content: flex-start; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
  .recipient-row a { min-width: 112px; min-height: 48px; flex-direction: row; justify-content: center; padding: 10px 14px; border-radius: 24px; background: var(--cream); font-size: 11px; scroll-snap-align: start; }
  .recipient-row a.is-current { color: var(--white); background: var(--ink); }
  .recipient-row :is(img,.recipient-more) { display: none; }
  .swipe-hint { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
  .november-home .product-section { padding: 24px 0 35px; }
  .november-home .trending-products > h2 { margin-bottom: 24px; font-size: 18px; }
  .november-home .trending-products .november-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .november-product--trending { padding: 10px; border: 0; min-height: 190px; }
  .november-product--trending .november-product__image { height: 105px; border-radius: 9px; background: #f0ebe0; }
  .november-product--trending h2 { font-size: 11px; margin: 10px 0 5px; }
  .november-product--trending .november-product__price { font-size: 11px; font-weight: 400; margin: 0 0 5px; }
  .november-product--trending .november-add-to-cart { color: #2e854d; background: transparent; width: auto; min-height: 20px; margin: 0; padding: 0; font-size: 10px; justify-content: flex-start; }
  .november-product--trending .unsaid-product-badge { display: none; }
  .mobile-gift-finder { padding: 30px 0; background: var(--ink); color: var(--white); }
  .mobile-gift-finder h2 { font-size: 18px; margin-bottom: 8px; }
  .mobile-gift-finder p { margin-bottom: 22px; font-size: 12px; color: #ddd; }
  .mobile-gift-finder select { background: var(--white); margin-bottom: 9px; font-size: 11px; min-height: 46px; }
  .mobile-gift-finder .kin-button { width: 100%; }
  .mobile-holidays { padding: 28px 0; }
  .mobile-holidays h2 { font-size: 18px; margin-bottom: 20px; }
  .mobile-holiday-row { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .mobile-holiday-row a { flex: 0 0 205px; min-height: 170px; padding: 20px 15px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 10px; background: var(--cream); text-decoration: none; text-transform: uppercase; scroll-snap-align: start; }
  .mobile-holiday-row strong { font: 700 22px var(--serif); }
  .mobile-holiday-row :is(small,span) { font-size: 9px; }
  .mobile-holiday-row .is-current { color: var(--white); background: var(--ink); }
  .november-home .story-band { min-height: 290px; padding: 30px 0; }
  .november-home .story-grid { display: block; }
  .story-copy h2 { font-size: 23px; margin-bottom: 14px; }
  .story-copy p { font-size: 12px; }
  .story-copy .button-row { display: flex; gap: 12px; margin-top: 20px; }
  .story-copy .kin-button { min-width: 0; flex: 1; font-size: 10px; min-height: 40px; }
  .story-copy .button--secondary { flex: 1; min-width: 0; min-height: 40px; border: 0; font-size: 10px; }
  .social-proof { padding: 28px 0 0; }
  .social-proof__inner { display: block; width: 100%; }
  .reviews-block { padding: 0 20px 32px; }
  .review-cards { scroll-snap-type: x mandatory; gap: 20px; }
  .review-cards blockquote { min-width: 100%; scroll-snap-align: start; background: var(--cream); }
  .review-cards blockquote p { font-size: 14px; }
  .newsletter-block { padding: 30px 20px; color: var(--white); background: var(--ink); }
  .newsletter-block h2 { font-size: 17px; }
  .newsletter-block > p { font-size: 11px; color: #ddd; }
  .newsletter { display: grid; gap: 9px; }
  .newsletter input { width: 100%; min-height: 46px; }
  .newsletter button { min-height: 46px; border-radius: 24px; color: var(--white); background: #2e854d; }
  .newsletter-block .form-feedback { color: var(--white); }
  .home-footer { padding: 20px 0 25px; }
  .footer-grid { display: block; }
  .footer-brand strong { font: 700 22px var(--serif); color: var(--ink); }
  .footer-brand p { font-size: 11px; margin-bottom: 22px; }
  .footer-section { margin-bottom: 12px; }
  .footer-section summary::after { content: ' +'; }
  .footer-section[open] summary::after { content: ' −'; }
  .footer-section a { padding: 4px 0; }
  .mobile-bottom-nav { display: flex; justify-content: space-between; padding: 16px 20px; border-top: 1px solid var(--border); font-size: 11px; background: var(--white); }
  .mobile-bottom-nav a { text-decoration: none; }
  .campaign-footer { min-height: 190px; padding-block: 30px; }
  .campaign-footer__inner { display: block; }
  .campaign-footer__wordmark { font-size: 19px; }
  .campaign-footer nav { padding-top: 20px; gap: 8px; }
  .november-page__hero { min-height: 210px; }
  .november-page__hero .container, .november-page__body > .container { width: calc(100% - 40px); }
  .november-page__hero .container { padding-block: 35px; }
  .november-page__hero h1 { font-size: 30px; line-height: 1.18; }
  .november-page__hero p:last-child { font-size: 12px; line-height: 1.5; }
  .november-kicker { margin-bottom: 14px; }
  .november-page__body { min-height: 650px; padding-block: 30px 65px; }
  .november-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .november-product__image { height: 115px; }
  .november-product h2 { font-size: 11px; margin-top: 12px; }
  .relationship-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; gap: 15px; }
  .relationship-tabs a { flex-shrink: 0; font-size: 11px; }
  .november-product-search { margin-bottom: 25px; }
  .november-split { display: block; padding: 0; }
  .november-split h2 { font-size: 28px; }
  .november-split p { font-size: 14px; }
  .november-statement { min-height: 260px; margin-top: 35px; font-size: 32px; }
  .holiday-directory { grid-template-columns: 1fr; gap: 20px; }
  .holiday-directory__card { min-height: 180px; }
  .holiday-directory__card h2 { font-size: 26px; margin: 14px 0 10px; }
  .holiday-detail-band { min-height: 220px; padding-block: 25px; }
  .holiday-detail-band h2 { font-size: 32px; }
  .november-form-fields { max-width: none; margin-left: 0; }
  .november-contact .kin-button, .gift-finder-form > .kin-button { width: 100%; float: none; margin: 0; }
  .november-contact .form-feedback { margin-left: 0; }
  .gift-finder-form { padding-top: 0; }
  .gift-finder-form label { font-size: 16px; }
  .gift-finder-form select { margin-bottom: 50px; }
  .november-faq summary { font-size: 12px; }
  .november-cart__content .woocommerce { display: block; }
  .november-cart__content .cart-collaterals { margin-top: 25px; }
  .woocommerce .november-detail div.product div.images, .woocommerce .november-detail div.product div.summary { width: 100%; float: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-slider__slide { transition: none; }
}

/* Shared header actions and the fuller footer for interior pages. */
.campaign-nav__list, .campaign-nav__list > li { display: contents; }
.campaign-nav .current-menu-item > a { color: var(--green-dark); }
.footer-menu, .footer-menu > li { list-style: none; padding: 0; margin: 0; }
.kinnect-banner { position: relative; background: #180c31; color: #fff; }
.kinnect-banner > img { display: block; width: 100%; max-width: 1115px; height: auto; margin: 0 auto; }
.kinnect-banner__actions { position: absolute; top: 50%; right: max(6.7%, calc((100% - 1115px) / 2 + 75px)); transform: translateY(-50%); }
.kinnect-banner__link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 19px; border-radius: 10px; background: #e6007e; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.kinnect-banner__link:hover { background: #c6006c; }
.kinnect-banner__link:focus-visible, .kinnect-banner__dismiss:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.kinnect-banner__dismiss { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; color: #fff; background: transparent; cursor: pointer; }
.kinnect-banner__mobile-caption { display: none; }
@media (min-width: 601px) and (max-width: 1000px) {
  .kinnect-banner__link { padding: 8px 12px; font-size: 12px; }
}
@media (max-width: 600px) {
  .kinnect-banner__actions { position: static; transform: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 48px 12px 20px; }
  .kinnect-banner__mobile-caption { display: block; font-size: 12px; font-weight: 600; }
  .kinnect-banner__link { padding: 8px 12px; font-size: 12px; }
  .kinnect-banner__dismiss { top: auto; bottom: 12px; transform: none; right: 2px; }
}
.campaign-actions { gap: 8px; }
.campaign-actions a { width: 44px; min-height: 44px; justify-content: center; flex-shrink: 0; border-radius: 50%; }
.campaign-actions svg { width: 24px; height: 24px; stroke-width: 1.8; }
.campaign-actions .action-label { display: none; }
.campaign-actions a::after { display: none; }
.campaign-actions a:hover { background: #f0f5f0; }
.campaign-actions a:focus-visible { outline: 2px solid var(--green-dark); outline-offset: 3px; }
.campaign-actions .cart-count { display: grid; place-items: center; position: absolute; top: 0; right: -2px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 20px; background: var(--green-dark); color: white; font-size: 10px; }
.interior-footer { padding: 56px 0 24px; border: 0; color: #fff; background: var(--ink); }
.interior-footer .footer-grid { grid-template-columns: 1.5fr repeat(4, 1fr); gap: 48px; }
.interior-footer .brand-logo { filter: brightness(0) invert(1); }
.interior-footer .footer-brand p { max-width: 240px; margin-top: 16px; color: #b9c2bc; font-size: 13px; line-height: 1.7; }
.interior-footer .footer-section summary { color: #fff; font-size: 12px; letter-spacing: .08em; }
.interior-footer .footer-section nav { margin-top: 16px; }
.interior-footer .footer-section nav a { margin: 0; padding: 5px 0; color: #cdd4cf; font-size: 13px; line-height: 1.6; }
.interior-footer a:hover { color: #72d48f; }
.interior-footer a:focus-visible, .interior-footer summary:focus-visible { outline: 2px solid #72d48f; outline-offset: 4px; }
.interior-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 20px; border-top: 1px solid #39403b; color: #b9c2bc; font-size: 12px; }
.interior-footer__bottom div { display: flex; gap: 20px; }
.interior-footer__bottom a { color: #cdd4cf; text-decoration: none; }
@media (min-width: 601px) and (max-width: 1000px) {
  .interior-footer .footer-grid { grid-template-columns: repeat(4, 1fr); gap: 28px; }
  .interior-footer .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .campaign-header__inner, .home-header .campaign-header__inner { grid-template-columns: 20px 1fr 88px; }
  .campaign-actions { gap: 0; }
  .campaign-actions svg { width: 23px; height: 23px; }
  .interior-footer { padding: 36px 0 24px; }
  .interior-footer .footer-grid { display: block; }
  .interior-footer .footer-brand { margin-bottom: 28px; }
  .interior-footer .footer-section { margin: 0; border-top: 1px solid #39403b; }
  .interior-footer .footer-section summary { padding: 16px 0; }
  .interior-footer .footer-section summary::after { float: right; }
  .interior-footer .footer-section nav { margin: 0 0 14px; }
  .interior-footer .footer-section nav a { padding: 8px 0; }
  .interior-footer__bottom { flex-wrap: wrap; margin-top: 20px; }
}
