/* Readability and contrast pass */
body{font-size:17px;line-height:1.7}
.announcement{height:40px;font-size:12px;font-weight:600;letter-spacing:.1em}
.site-header{height:98px}
.brand{font-size:20px}
.brand small{font-size:8px;margin-top:2px}
.desktop-nav{font-size:15px;font-weight:500;gap:38px}
.header-actions{gap:14px}
.header-actions .icon-action{display:flex;align-items:center;gap:9px;padding:5px 8px;border:0;background:transparent;font-size:13px;font-weight:700;color:var(--ink);transition:color .24s ease,transform .24s ease}
.icon-shell{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#e5f0ec;color:#07545c;box-shadow:inset 0 0 0 1px rgba(7,84,92,.12);transition:background-color .24s ease,color .24s ease,box-shadow .24s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.icon-shell svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.icon-shell .icon-accent{stroke:var(--coral);stroke-width:2.4}
.bag-action .icon-shell{background:#fde8de;color:#9f382c;box-shadow:inset 0 0 0 1px rgba(228,86,63,.16)}
.header-actions .icon-action:hover{color:var(--coral);transform:translateY(-1px)}
.header-actions .icon-action:hover .icon-shell{background:var(--sea);color:#fff;box-shadow:0 7px 18px rgba(8,47,53,.2);transform:rotate(-5deg) scale(1.06)}
.header-actions .bag-action:hover .icon-shell{background:var(--coral)}
.header-actions .icon-action:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:28px}
.header-actions .icon-shell b{position:absolute;right:-3px;top:-4px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;border:2px solid var(--paper);font-size:10px;line-height:1;box-shadow:0 3px 8px rgba(0,0,0,.2)}
.action-label{white-space:nowrap}
.close-control{flex:0 0 auto!important;width:44px!important;height:44px!important;padding:0!important;display:grid!important;place-items:center;border:1px solid rgba(8,47,53,.14)!important;border-radius:50%!important;background:#e5f0ec!important;color:var(--sea)!important;box-shadow:0 4px 13px rgba(8,47,53,.1);transition:background-color .24s ease,color .24s ease,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .24s ease!important}
.close-icon{position:relative;display:block;width:18px;height:18px;transition:transform .3s ease}
.close-icon::before,.close-icon::after{content:'';position:absolute;left:1px;top:8px;width:16px;height:2px;border-radius:2px;background:currentColor}
.close-icon::before{transform:rotate(45deg)}
.close-icon::after{transform:rotate(-45deg)}
.close-control:hover,.close-control:focus-visible{background:var(--coral)!important;color:#fff!important;transform:rotate(5deg) scale(1.06);box-shadow:0 7px 19px rgba(140,48,35,.25);outline:none}
.close-control:hover .close-icon,.close-control:focus-visible .close-icon{transform:rotate(90deg)}
.close-control-light{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important;box-shadow:none}
.menu-toggle{width:46px;height:46px;padding:0!important;display:none!important;place-items:center;border-radius:50%!important;background:#e5f0ec!important;color:var(--sea);box-shadow:inset 0 0 0 1px rgba(7,84,92,.12);transition:background-color .25s ease,color .25s ease,transform .3s ease!important}
.menu-icon{position:relative;width:21px;height:16px;display:block}
.menu-icon i{position:absolute;left:0;width:21px;height:2px;border-radius:4px;background:currentColor;transition:top .3s ease,transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease}
.menu-icon i:nth-child(1){top:0}.menu-icon i:nth-child(2){top:7px}.menu-icon i:nth-child(3){top:14px}
.menu-toggle.is-open{background:var(--coral)!important;color:#fff;transform:rotate(0)!important;box-shadow:0 7px 18px rgba(140,48,35,.24)}
.menu-toggle.is-open .menu-icon i:nth-child(1){top:7px;transform:rotate(45deg)}
.menu-toggle.is-open .menu-icon i:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-toggle.is-open .menu-icon i:nth-child(3){top:7px;transform:rotate(-45deg)}
.market-nav{height:66px;display:flex;align-items:stretch;padding:0 3.5vw;background:#efe4cf;border-bottom:1px solid rgba(8,47,53,.18);position:relative;z-index:18;box-shadow:0 3px 12px rgba(8,47,53,.06)}
.market-nav a{position:relative;min-width:max-content;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 clamp(10px,1.25vw,22px);font-size:14px;font-weight:700;color:#082f35;line-height:1.2;transition:color .22s ease,background-color .22s ease}
.market-nav a::after{content:'';position:absolute;left:50%;right:50%;bottom:0;height:3px;background:var(--coral);transition:left .28s ease,right .28s ease}
.market-nav a:hover,.market-nav a:focus-visible{background:rgba(255,253,247,.62);color:var(--coral);outline:none}
.market-nav a:hover::after,.market-nav a:focus-visible::after{left:12px;right:12px}
.market-nav small{font-size:10px;font-weight:700;letter-spacing:.02em;margin-top:4px;color:#365a5e;line-height:1.2}
.market-nav .market-all{align-self:center;height:38px;margin-right:8px;padding:0 17px;background:var(--coral);color:#fff;border-radius:22px;box-shadow:0 5px 14px rgba(140,48,35,.18);text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.market-nav .market-all::after{display:none}
.market-nav .market-all:hover{background:#ff684f;color:#fff;transform:translateY(-1px)}
.hero{height:min(730px,calc(100vh - 190px))}

.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;color:#09636c}
.eyebrow.light{color:#f6d9bd;text-shadow:0 1px 7px rgba(0,0,0,.55)}
.hero-wash{background:linear-gradient(90deg,rgba(2,29,33,.9) 0%,rgba(2,29,33,.6) 48%,rgba(2,29,33,.08) 78%),linear-gradient(0deg,rgba(2,29,33,.45),transparent 55%)}
.hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.65;font-weight:500;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.hero h1{text-shadow:0 3px 18px rgba(0,0,0,.42)}
.landing-note{font-size:13px;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.8)}

.button{min-height:52px;padding:16px 27px;font-size:13px;font-weight:700;letter-spacing:.085em;border:2px solid transparent;box-shadow:0 7px 22px rgba(4,38,42,.2)}
.button.coral{background:#ec563f;color:#fff;border-color:#ec563f}
.button.coral:hover{background:#ff684f;border-color:#ff684f;box-shadow:0 10px 28px rgba(140,48,35,.35)}
.button.cream{background:#fffaf0;color:#082f35;border-color:#fffaf0}
.button.ink{background:#082f35;color:#fff;border-color:#082f35}
.text-link{font-size:13px;font-weight:700;letter-spacing:.07em}
.hero .text-link{padding:12px 3px;color:#fff;text-shadow:0 2px 9px #000}

.trust-strip span{font-size:14px;line-height:1.45}
.trust-strip b{font-size:15px}
.product-info .eyebrow{font-size:11px}
.product-info h3{font-size:27px}
.price-row p{font-size:14px;color:#214e53}
.price-row strong{font-size:18px;color:#082f35}
.product-image span{font-size:11px;font-weight:700;color:#082f35;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.round-add{width:40px;height:40px;font-size:25px;background:#082f35;color:#fff;border-color:#082f35}
.story-copy p:not(.eyebrow),.recipe-band p:not(.eyebrow),.page-intro>p:last-child{font-size:18px;line-height:1.7}
.occasion-grid small{font-size:14px;font-weight:500;margin-top:3px}

.filters>p,.shop-toolbar,.option-row label,.checkout-form label{font-size:12px;font-weight:700}
.filters a{font-size:15px;padding:13px 3px}
.filters span{font-size:12px}
.shop-toolbar select,.option-row select{font-size:14px;font-weight:600}
.detail-promises{font-size:14px}
.detail-copy summary,.faq summary{font-size:17px}
.detail-copy details p,.faq details p{font-size:16px;color:#31575b}
.recipe-card>p:not(.eyebrow),.steps p{font-size:16px}

footer h3{font-size:13px;color:#f6d9bd}
footer a,footer p{font-size:14px;line-height:1.7;color:#f5f6f1}
footer form input{font-size:15px}
.chat-launch{font-size:14px;padding:15px 21px;font-weight:700}
.chat-messages p{font-size:14px;line-height:1.5}

@media(max-width:900px){
  .site-header{height:78px}
  body.menu-open{overflow:hidden}
  body::before{content:'';position:fixed;inset:172px 0 0;z-index:52;background:rgba(2,31,35,.28);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .38s ease,backdrop-filter .38s ease,visibility 0s linear .38s}
  body.menu-open::before{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);transition:opacity .38s ease,backdrop-filter .38s ease}
  .mobile-menu{display:flex;top:172px;left:0;right:0;bottom:auto;padding:30px 22px 36px;background:rgba(255,253,247,.96);box-shadow:0 22px 50px rgba(2,31,35,.18);font:39px/1.22 var(--serif);transform:translateY(-18px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .28s ease,visibility 0s linear .42s}
  .mobile-menu.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .28s ease}
  .mobile-menu a{position:relative;display:flex;align-items:center;justify-content:space-between;padding:12px 4px;border-bottom:1px solid rgba(8,47,53,.14);letter-spacing:-.015em;transition:color .22s ease,padding-left .25s ease,background-color .25s ease}
  .mobile-menu a::after{content:'→';font:20px var(--sans);opacity:.42;transform:translateX(-8px);transition:opacity .22s ease,transform .25s ease}
  .mobile-menu a:hover,.mobile-menu a:focus-visible{color:var(--coral);padding-left:12px;background:rgba(228,86,63,.055);outline:none}
  .mobile-menu a:hover::after,.mobile-menu a:focus-visible::after{opacity:1;transform:translateX(0)}
  .menu-toggle{display:grid!important;position:relative;z-index:56;min-width:40px;transition:transform .3s ease,color .2s ease}
  body.menu-open .menu-toggle{color:#fff;transform:none}
  .market-nav{height:54px;padding:0 12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}
  .market-nav::-webkit-scrollbar{display:none}
  .market-nav a{scroll-snap-align:start;padding:0 15px;font-size:13px;border-right:1px solid rgba(8,47,53,.1)}
  .market-nav small{display:none}
  .market-nav .market-all{height:36px;padding:0 15px;margin-right:5px;border:0}
  .hero{height:calc(100svh - 172px)}
}
@media(max-width:560px){
  body{font-size:16px}
  .announcement{font-size:10px;height:38px}
  .site-header{height:66px}
  body::before{inset:158px 0 0}
  .mobile-menu{top:158px;padding:25px 18px 30px;font-size:34px}
  .mobile-menu a{padding:11px 3px}
  .brand{font-size:17px}
  .header-actions{gap:2px}
  .header-actions .icon-action{min-width:40px;min-height:40px;padding:4px}
  .header-actions .search-action{display:flex}
  .action-label{display:none}
  .icon-shell{width:32px;height:32px}
  .icon-shell svg{width:19px;height:19px;stroke-width:2.1}
  .header-actions .icon-shell b{right:-5px;top:-5px;width:18px;height:18px;font-size:8px;border-width:2px}
  .menu-toggle{width:34px;height:34px;min-width:34px!important;margin-left:2px}
  .menu-icon{width:16px;height:12px}
  .menu-icon i{width:16px;height:2px}
  .menu-icon i:nth-child(1){top:0}.menu-icon i:nth-child(2){top:5px}.menu-icon i:nth-child(3){top:10px}
  .menu-toggle.is-open .menu-icon i:nth-child(1),.menu-toggle.is-open .menu-icon i:nth-child(3){top:5px;background:#fff}
  .hero{height:calc(100svh - 166px)}
  .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.55}
  .eyebrow{font-size:11px}
  .button{min-height:50px;padding:14px 20px;font-size:12px}
  .hero .text-link{font-size:11px;margin-left:10px}
  .trust-strip span{font-size:13px}
  .product-info h3{font-size:21px}
  .price-row p{font-size:13px}
  .price-row strong{font-size:16px}
  .story-copy p:not(.eyebrow),.recipe-band p:not(.eyebrow),.page-intro>p:last-child{font-size:16px}
  footer a,footer p{font-size:14px}
}
