/* site-frame.css - the top bar and the footer, one copy for every page (r419).
   Made from the home page's own rules. Every page loads this file right after its own stylesheet,
   and no page stylesheet styles the top bar or the footer any more - change them here, once. */
:where(nav.nav,footer.footer){--green-dark:#1a2e1a;--green-felt:#0f2410;--green-deep:#143014;--green-mid:#2e7d32;--green-bright:#43a047;--green-light:#81c784;--green-pale:#e8f5e9;--green-bg:#f4faf4;--cream:#fffef9;--cream-warm:#fbf7ec;--gold:#f0c96a;--gold-bright:#ffd96a;--gold-dark:#c9a030;--gold-deep:#8a6f21;--red-suit:#c0392b;--suit-spade:#1a1a1a;--suit-heart:#c0392b;--suit-diamond:#2471d6;--suit-club:#2e7d32;--text-dark:#1a2e1a;--text-mid:#4a6a4a;--text-muted:#7aaa7a;--border:#c8dfc8;--white:#fff;--font-display:'Playfair Display',Georgia,serif;--font-tile:'Fraunces','Playfair Display',Georgia,serif;--font-quote:'Dancing Script','Playfair Display',cursive;--font-body:'DM Sans',system-ui,sans-serif;--radius:10px;--radius-pill:30px;font-family:var(--font-body);color:var(--text-dark);line-height:1.6}
:where(nav.nav,nav.nav *,footer.footer,footer.footer *),:where(nav.nav,nav.nav *,footer.footer,footer.footer *)::before,:where(nav.nav,nav.nav *,footer.footer,footer.footer *)::after{box-sizing:border-box;margin:0;padding:0}
.nav{position:sticky;top:0;z-index:100;background:rgba(244,250,244,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:68px}
.nav-logo{display:flex;flex-direction:column;line-height:1.1;text-decoration:none}
.nav-logo-top{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-dark);letter-spacing:.3px}
.nav-logo-top em{color:var(--green-mid);font-style:normal}
.nav-logo-sub{font-size:8px;color:#1a2e1a;letter-spacing:1.5px;font-style:italic;text-align:center;display:block;margin-top:2px}
:where(nav.nav,footer.footer) .suit-black{font-size:11px;color:#1a2e1a;vertical-align:middle;line-height:1}
:where(nav.nav,footer.footer) .suit-red{font-size:11px;color:var(--red-suit);vertical-align:middle;line-height:1}
.suit-black-f{color:#4a7a4a;font-size:11px;vertical-align:middle;line-height:1}
.suit-red-f{color:var(--red-suit);font-size:11px;vertical-align:middle;line-height:1;opacity:.7}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center}
.nav-links a{color:var(--text-mid);text-decoration:none;font-size:13px;font-weight:500;transition:color .2s;letter-spacing:.3px}
.nav-links a:hover{color:var(--green-mid)}
.nav-links a[aria-current="page"]{color:var(--green-mid);font-weight:700}
.nav-cta{background:var(--green-mid);color:var(--white);border:0;padding:10px 22px;font-size:13px;font-weight:500;font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;transition:background .2s,transform .15s}
.nav-cta:hover{background:var(--green-bright);transform:translateY(-1px)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--text-dark);border-radius:2px;transition:all .3s}
.cart-btn{position:relative;background:0;border:1px solid var(--border);border-radius:var(--radius-pill);padding:7px 12px;font-size:12px;font-family:var(--font-body);color:var(--text-dark);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;font-weight:500;white-space:nowrap;flex-shrink:0}
.cart-btn:hover{background:var(--green-pale);border-color:var(--green-mid)}
.cart-count{background:var(--green-mid);color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:none;align-items:center;justify-content:center}
.cart-count.visible{display:flex}
:where(nav.nav,footer.footer) .suit-red{color:#b8302a}
:where(nav.nav,footer.footer) .suit-black{color:#1a1814}
.footer{background:var(--green-felt);padding:3rem 2rem 2rem;position:relative;overflow:hidden}
.footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;max-width:900px;margin:0 auto 2rem}
.footer-logo{font-family:var(--font-display);font-size:22px;color:var(--green-light);margin-bottom:6px;font-weight:700}
.footer-slogan{font-size:12px;color:#4a7a4a;font-style:italic;line-height:1.6}
.footer-col h3{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--green-light);margin-bottom:14px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:8px}
.footer-col ul li a{font-size:13px;color:#3a5a3a;text-decoration:none;transition:color .2s}
.footer-col ul li a:hover{color:var(--green-light)}
.footer-bottom{border-top:1px solid #2e4a2e;padding-top:1.5rem;text-align:center;max-width:900px;margin:0 auto}
.footer-bottom p{font-size:11px;color:#3a5a3a}
.footer-bottom a{color:var(--green-light);text-decoration:none}
@media(max-width:1300px){.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:var(--green-bg);border-bottom:1px solid var(--border);padding:1rem 2rem;gap:16px;z-index:99}.nav-hamburger{display:flex}}
@media(max-width:968px){.footer-inner{grid-template-columns:1fr;gap:1.5rem;text-align:center}.nav{padding:0 1.2rem}}
nav.nav .nav-links a[aria-current="page"]{color:#2e7d32;font-weight:700}
nav.nav .nav-links a[aria-current="page"]::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#2e7d32;border-radius:2px;animation:lagNavActive .35s cubic-bezier(0.22,1,0.36,1)}
nav.nav .nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
nav.nav .cart-btn{position:relative;background:0;border:1px solid #c8dfc8;border-radius:30px;padding:7px 12px;font-size:12px;font-family:inherit;color:#1a2e1a;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;font-weight:500;white-space:nowrap;flex-shrink:0}
nav.nav .cart-btn:hover{background:#e8f5e9;border-color:#2e7d32}
nav.nav .cart-count{background:#2e7d32;color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:none;align-items:center;justify-content:center}
nav.nav .cart-count.visible{display:inline-flex}
nav.nav .nav-cta{background:#2e7d32;color:#fff;border:0;padding:9px 20px;font-size:13px;font-weight:500;font-family:inherit;border-radius:30px;cursor:pointer;letter-spacing:.3px;white-space:nowrap;transition:background .2s,transform .15s}
nav.nav .nav-cta:hover{background:#43a047;transform:translateY(-1px)}
nav.nav .nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:0;border:0;align-items:center}
nav.nav .nav-hamburger span{display:block;width:22px;height:2px;background:#1a2e1a;border-radius:2px;transition:all .3s}
@media(max-width:1300px){nav.nav .nav-links{display:none}nav.nav .nav-links.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:#f4faf4;border-bottom:1px solid #c8dfc8;padding:1rem 1.5rem;gap:16px;z-index:99}nav.nav .nav-links.open a[aria-current="page"]::after{display:none}nav.nav .nav-links.open a[aria-current="page"]{border-left:3px solid #2e7d32;padding-left:10px}nav.nav .nav-hamburger{display:flex}}
@media(max-width:560px){nav.nav{padding:0 1rem;height:62px;gap:.5rem}nav.nav .nav-logo-top{font-size:17px}nav.nav .nav-logo-sub{font-size:7px;letter-spacing:1px}nav.nav .cart-btn{padding:6px 9px;font-size:11px}nav.nav .cart-btn .cart-label{display:none}nav.nav .nav-cta{padding:7px 14px;font-size:12px}nav.nav .nav-right{gap:6px}nav.nav .nav-links.open{top:62px}}
@media(max-width:380px){nav.nav{padding:0 .75rem}nav.nav .nav-logo-top{font-size:15px}nav.nav .nav-logo-sub{display:none}nav.nav .nav-cta{padding:6px 12px;font-size:11px}}
footer.footer{background:#1a2e1a;padding:3rem 2rem 2rem;position:relative;overflow:hidden;color:#3a5a3a;font-family:'DM Sans',system-ui,sans-serif;margin-top:0;border-top:0;text-align:left}
footer.footer .footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;max-width:900px;margin:0 auto 2rem;position:relative;z-index:1}
footer.footer .footer-brand{text-align:left}
footer.footer .footer-logo{font-family:'Playfair Display',Georgia,serif;font-size:22px;color:#81c784;margin:0 0 6px;font-weight:700;line-height:1.2}
footer.footer .footer-slogan{font-size:12px;color:#4a7a4a;font-style:italic;line-height:1.6;margin-bottom:8px}
footer.footer .footer-slogan .suit-black-f{color:#1a1814;font-style:normal}
footer.footer .footer-slogan .suit-red-f{color:#b8302a;font-style:normal;opacity:.85}
footer.footer .footer-blurb{font-size:12px;color:rgba(255,255,255,0.45);margin:10px 0 0;line-height:1.6}
footer.footer .footer-col h3{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#81c784;margin:0 0 14px;font-weight:700}
footer.footer .footer-col ul{list-style:none;margin:0;padding:0}
footer.footer .footer-col ul li{margin-bottom:8px}
footer.footer .footer-col ul li a{font-size:13px;color:#3a5a3a;text-decoration:none;transition:color .2s}
footer.footer .footer-col ul li a:hover{color:#81c784}
footer.footer .footer-col ul li a[aria-current="page"]{color:#81c784;font-weight:700}
footer.footer .footer-bottom{border-top:1px solid #2e4a2e;padding-top:1.5rem;text-align:center;max-width:900px;margin:0 auto;position:relative;z-index:1}
footer.footer .footer-bottom p{font-size:11px;color:#3a5a3a;margin:0}
footer.footer .footer-bottom a{color:#81c784;text-decoration:none}
footer.footer .footer-bottom .footer-tag{margin-top:6px;font-size:10px;opacity:.6}
@media(max-width:768px){footer.footer{padding:2.5rem 1.5rem 1.8rem}footer.footer .footer-inner{grid-template-columns:1fr;gap:1.8rem;text-align:center}footer.footer .footer-brand{text-align:center}footer.footer .footer-logo{font-size:20px}}
nav.nav{position:sticky;top:0;z-index:100;background:rgba(244,250,244,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #c8dfc8;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:68px;gap:.8rem;font-family:'DM Sans',system-ui,sans-serif}
nav.nav .nav-logo{display:flex;flex-direction:column;line-height:1.1;text-decoration:none;flex-shrink:0;min-width:0}
nav.nav .nav-logo-top{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:700;color:#1a2e1a;letter-spacing:.3px;white-space:nowrap}
nav.nav .nav-logo-top em{color:#2e7d32;font-style:normal}
nav.nav .nav-logo-sub{font-size:8px;color:#1a2e1a;letter-spacing:1.5px;font-style:italic;text-align:center;display:block;margin-top:2px;white-space:nowrap}
nav.nav .nav-logo-sub .suit-black{color:#1a1814}
nav.nav .nav-logo-sub .suit-red{color:#b8302a}
nav.nav .nav-links{display:flex;gap:20px;list-style:none;align-items:center;margin:0;padding:0;flex-wrap:nowrap}
nav.nav .nav-links a{color:#4a6a4a;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.3px;position:relative;padding:6px 2px;transition:color .2s;white-space:nowrap}
nav.nav .nav-links a:hover{color:#2e7d32}
nav.nav .nav-links a[aria-current="page"]{color:#2e7d32;font-weight:700}
nav.nav .nav-links a[aria-current="page"]::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#2e7d32;border-radius:2px;animation:lagNavActive .35s cubic-bezier(0.22,1,0.36,1)}
nav.nav .nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
nav.nav .cart-btn{position:relative;background:0;border:1px solid #c8dfc8;border-radius:30px;padding:7px 12px;font-size:12px;font-family:inherit;color:#1a2e1a;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;font-weight:500;white-space:nowrap;flex-shrink:0}
nav.nav .cart-btn:hover{background:#e8f5e9;border-color:#2e7d32}
nav.nav .cart-count{background:#2e7d32;color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:none;align-items:center;justify-content:center}
nav.nav .cart-count.visible{display:inline-flex}
nav.nav .nav-cta{background:#2e7d32;color:#fff;border:0;padding:9px 20px;font-size:13px;font-weight:500;font-family:inherit;border-radius:30px;cursor:pointer;letter-spacing:.3px;white-space:nowrap;transition:background .2s,transform .15s}
nav.nav .nav-cta:hover{background:#43a047;transform:translateY(-1px)}
nav.nav .nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:0;border:0;align-items:center}
nav.nav .nav-hamburger span{display:block;width:22px;height:2px;background:#1a2e1a;border-radius:2px;transition:all .3s}
@media(max-width:1380px){nav.nav .nav-links{display:none}nav.nav .nav-links.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:#f4faf4;border-bottom:1px solid #c8dfc8;padding:1rem 1.5rem;gap:16px;z-index:99;max-height:calc(100vh - 68px);overflow-y:auto}nav.nav .nav-links.open a[aria-current="page"]::after{display:none}nav.nav .nav-links.open a[aria-current="page"]{border-left:3px solid #2e7d32;padding-left:10px}nav.nav .nav-hamburger{display:flex}}
@media(max-width:560px){nav.nav{padding:0 1rem;height:62px;gap:.5rem}nav.nav .nav-logo-top{font-size:17px}nav.nav .nav-logo-sub{font-size:7px;letter-spacing:1px}nav.nav .cart-btn{padding:6px 9px;font-size:11px}nav.nav .cart-btn .cart-label{display:none}nav.nav .nav-cta{padding:7px 14px;font-size:12px}nav.nav .nav-right{gap:6px}nav.nav .nav-links.open{top:62px}}
@media(max-width:380px){nav.nav{padding:0 .75rem}nav.nav .nav-logo-top{font-size:15px}nav.nav .nav-logo-sub{display:none}nav.nav .nav-cta{padding:6px 12px;font-size:11px}}
footer .footer-social{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
footer .footer-social .social-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#81c784;background:transparent;border:1px solid #2e4a2e;transition:color .2s,background .2s,border-color .2s,transform .15s;text-decoration:none}
footer .footer-social .social-icon:hover{color:#1a2e1a;background:#f0c96a;border-color:#f0c96a;transform:translateY(-2px)}
footer .footer-social .social-icon svg{display:block}
@media(max-width:800px){footer .footer-social{justify-content:center;margin-top:18px}}
footer.footer{background:#1a2e1a !important;padding:3.5rem 2rem 1.5rem !important;position:relative;overflow:hidden;color:#3a5a3a !important;font-family:'DM Sans',system-ui,sans-serif !important;margin-top:0;text-align:left}
footer.footer .footer-inner{display:grid !important;grid-template-columns:1.6fr 1fr 1fr 1fr !important;gap:2.5rem !important;max-width:1100px !important;margin:0 auto 2rem !important;position:relative;z-index:1;text-align:left}
footer.footer .footer-brand{text-align:left}
footer.footer .footer-logo{font-family:'Playfair Display',Georgia,serif !important;font-size:22px !important;color:#81c784 !important;margin:0 0 6px !important;font-weight:700 !important}
footer.footer .footer-slogan{font-size:11px !important;color:#4a7a4a !important;font-style:italic !important;letter-spacing:1px;margin-bottom:10px !important}
footer.footer .footer-slogan .suit-black-f{color:#81c784;font-style:normal}
footer.footer .footer-slogan .suit-red-f{color:#c0392b;font-style:normal;opacity:.85}
footer.footer .footer-blurb{font-size:12px !important;color:rgba(255,255,255,0.45) !important;line-height:1.6;margin:0 0 16px !important;max-width:320px}
footer.footer .footer-col h4,footer.footer .footer-col h3{font-size:11px !important;letter-spacing:2px !important;text-transform:uppercase !important;color:#81c784 !important;margin:0 0 14px !important;font-weight:700 !important;font-family:'Playfair Display',Georgia,serif !important}
footer.footer .footer-col ul{list-style:none !important;margin:0 !important;padding:0 !important}
footer.footer .footer-col ul li{margin-bottom:8px !important}
footer.footer .footer-col ul li a{font-size:13px !important;color:#3a5a3a !important;text-decoration:none !important;transition:color .2s}
footer.footer .footer-col ul li a:hover{color:#81c784 !important}
footer.footer .footer-social{display:flex !important;flex-wrap:wrap;gap:6px;margin-top:4px}
footer.footer .footer-social .social-icon{display:inline-flex !important;align-items:center;justify-content:center;width:32px !important;height:32px !important;border-radius:50% !important;color:#81c784 !important;background:transparent !important;border:1px solid #2e4a2e !important;transition:all .2s;text-decoration:none}
footer.footer .footer-social .social-icon:hover{color:#1a2e1a !important;background:#f0c96a !important;border-color:#f0c96a !important;transform:translateY(-2px)}
footer.footer .footer-social .social-icon svg{display:block}
footer.footer .footer-compliance{max-width:1100px !important;margin:0 auto !important;padding:1.3rem 0 !important;border-top:1px solid #2e4a2e !important;display:flex !important;flex-wrap:wrap;justify-content:space-between !important;align-items:center;gap:12px;font-size:11px !important;color:#4a7a4a !important}
footer.footer .footer-legal-links{display:flex !important;flex-wrap:wrap;gap:14px}
footer.footer .footer-legal-links a{color:#4a7a4a !important;text-decoration:none !important}
footer.footer .footer-legal-links a:hover{color:#81c784 !important}
footer.footer .footer-trust{display:inline-flex !important;align-items:center;gap:8px;color:#4a7a4a !important}
footer.footer .footer-compliance-note{max-width:1100px !important;margin:0 auto !important;padding:.2rem 0 1.1rem !important;font-size:10.5px !important;color:#4a7a4a !important;line-height:1.6;text-align:left}
footer.footer .footer-compliance-note strong{color:#81c784 !important}
footer.footer .footer-bottom{border-top:1px solid #2e4a2e !important;padding-top:1.2rem !important;text-align:center !important;max-width:1100px !important;margin:0 auto !important}
footer.footer .footer-copy{font-size:11px !important;color:#3a5a3a !important;margin:0 !important}
footer.footer .footer-copy a{color:#81c784 !important;text-decoration:none !important}
footer.footer .footer-tag{margin-top:6px !important;font-size:10px !important;color:#2a4a2a !important;opacity:.8}
@media(max-width:900px){footer.footer .footer-inner{grid-template-columns:1fr 1fr !important;gap:1.8rem !important}footer.footer .footer-brand{grid-column:1 / -1 !important;text-align:center}footer.footer .footer-blurb{margin-left:auto !important;margin-right:auto !important}footer.footer .footer-social{justify-content:center}}
@media(max-width:560px){footer.footer{padding:2.5rem 1.2rem 1.5rem !important}footer.footer .footer-inner{grid-template-columns:1fr !important;gap:1.6rem !important;text-align:center}footer.footer .footer-col{text-align:center}footer.footer .footer-compliance{justify-content:center !important;text-align:center}footer.footer .footer-legal-links{justify-content:center}}
footer.footer .footer-blurb{color:#a8caa8!important}
footer.footer .footer-slogan{color:#a8caa8!important}
footer.footer .footer-tag{color:#a8caa8!important;opacity:1!important}
footer.footer .footer-trust{color:#a8caa8!important}
footer.footer .footer-compliance-note{color:#a8caa8!important}
footer.footer .footer-copy{color:#a8caa8!important}
footer.footer .footer-col ul li a{color:#a8caa8!important}
footer.footer .footer-col ul li a:hover{color:#c8dfc8!important}
footer.footer .footer-legal-links a{color:#a8caa8!important}
footer.footer .footer-legal-links a:hover{color:#c8dfc8!important}
/* page-style guards: page stylesheets set these on every strong and suit symbol; inside the top bar and footer the home page's values stand */
:where(nav.nav,footer.footer) strong{font-weight:bolder}
:where(nav.nav,footer.footer) .suit-black,:where(nav.nav,footer.footer) .suit-red{font-style:inherit}
/* the menu button becomes an X while the menu is open (site-chrome toggles .open on it) */
nav.nav .nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.nav .nav-hamburger.open span:nth-child(2){opacity:0}
nav.nav .nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:768px){nav.nav .nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}nav.nav .nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}
