/* Compact product information and clear, readable shopping controls. */
.product-body .product-title{min-height:0}
.product-body .description{min-height:0;margin:8px 0 14px}
.product-bottom .add{min-height:40px;padding:9px 12px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}
.cart-link .cart-count{position:absolute;top:1px;right:0;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid #fffdf9;border-radius:20px;background:var(--maroon);color:white;font-size:10px;font-weight:700;line-height:1}
.cart-link.has-items:after{display:none}
@media(max-width:600px){.product-body .description{margin-top:7px}.product-bottom .add{min-height:42px;font-size:13px}}

/* Clear feedback for pointer, touch and keyboard navigation. */
.header-inner nav a:hover{color:var(--maroon)}
#mobile-nav a{position:relative;align-self:flex-start;width:max-content;max-width:100%;border-radius:0;transition:color .2s}
#mobile-nav a::after{content:'';position:absolute;left:0;right:0;bottom:7px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}
#mobile-nav a:hover,#mobile-nav a:active,#mobile-nav a:focus-visible,#mobile-nav a[aria-current="page"]{background:transparent;color:var(--maroon);box-shadow:none}
#mobile-nav a:hover::after,#mobile-nav a:active::after,#mobile-nav a:focus-visible::after,#mobile-nav a[aria-current="page"]::after{transform:scaleX(1)}
.menu-toggle{border-radius:5px;padding:5px 10px;min-height:42px;min-width:42px;transition:background-color .2s,color .2s}
.menu-toggle:hover,.menu-toggle:active,.menu-toggle:focus-visible,.menu-toggle[aria-expanded="true"]{background:transparent;color:var(--maroon)}
.add:active,.button:active{background:#64151c;color:#fff}
.policy{max-width:850px}
.policy section{padding-top:26px;margin-top:28px;border-top:1px solid var(--border)}
.policy section h2{font-size:27px;line-height:1.3;margin-bottom:17px;letter-spacing:-.45px}
.policy section p{margin-bottom:16px;line-height:1.95}
.policy-contact a{color:var(--maroon);text-decoration:underline;overflow-wrap:anywhere}
.contact-hint{margin:12px 0 0;max-width:42ch;font-size:12px;line-height:1.7}
.contact-feedback{margin-top:18px;padding:18px 20px;border:1px solid var(--border);border-left:3px solid var(--orange);border-radius:5px;background:var(--ivory)}
.contact-feedback strong{display:block;font-size:15px;color:var(--maroon);line-height:1.5;margin-bottom:7px}
.contact-feedback p{font-size:12px;line-height:1.75;margin:0 0 9px}
.contact-feedback a{font-size:12px;color:var(--maroon);text-decoration:underline;overflow-wrap:anywhere}

/* A more compact scale on tablet and phone screens. */
@media(max-width:800px){
  .hero-copy h1{font-size:43px}
  .section-heading h2{font-size:32px}
  .product-body .product-title{font-size:21px}
  .product-image{height:auto;aspect-ratio:1.14;display:flex;align-items:center;justify-content:center;background:#f6eee3}
  .product-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
  .detail-info h1{font-size:33px}
  .detail-info .detail-price{font-size:24px!important}
  .page-intro h1{font-size:40px}
}
@media(max-width:600px){
  body{font-size:13px}
  .hero-copy{padding-top:29px;padding-bottom:10px}
  .hero-copy h1{font-size:40px;line-height:1.07;letter-spacing:-1.3px;margin-bottom:19px}
  .hero-copy>p:not(.eyebrow){font-size:11px;line-height:1.85;margin-bottom:20px}
  .hero-copy .button{font-size:10px;padding:13px 18px;min-height:44px}
  .hero-note{font-size:11px;margin-top:18px}
  .hero-art{height:255px}
  .hero-art>img{height:245px}
  .hero-stamp{height:85px;width:85px;font-size:6px;bottom:16px}
  .hero-stamp b{font-size:18px}
  .hero .eyebrow{font-size:6.5px;letter-spacing:1px;margin-bottom:17px}
  .section{padding-block:36px}
  .section-heading h2{font-size:28px}
  .section-heading .text-link{font-size:9px;max-width:85px}
  .eyebrow{font-size:7px;letter-spacing:1.3px}
  .category-card>div{padding:18px 14px}
  .category-card>img{min-height:190px}
  .category-card h3{font-size:21px}
  .category-card p{font-size:10px;line-height:1.7}
  .category-kicker{font-size:6px;letter-spacing:.75px}
  .category-action{font-size:9px}
  .product-grid,.featured .product-grid{gap:12px}
  .product-image{aspect-ratio:1.18}
  .product-body{padding:12px 10px}
  .product-body .product-title,.featured .product-title{font-size:18px;line-height:1.18}
  .product-body .eyebrow{font-size:6px;min-height:0;line-height:1.6;margin-bottom:7px;letter-spacing:.45px}
  .product-body .description{font-size:10px;line-height:1.65;margin:7px 0 11px}
  .product-bottom{padding-top:10px}
  .product-bottom strong{font-size:13px}
  .product-bottom span{font-size:8px}
  .product-bottom .add{font-size:12px;min-height:42px;padding:8px 9px}
  .detail-link{font-size:8px;padding:4px 6px}
  .page-intro{padding:32px 18px 27px}
  .page-intro h1{font-size:33px;letter-spacing:-.8px}
  .page-intro>p:last-child{font-size:11px}
  .story-copy h2{font-size:30px}
  .story-copy>p:not(.eyebrow){font-size:11px;line-height:1.85}
  .story-image img{max-height:270px;object-fit:cover}
  .collection-banner h2{font-size:29px}
  .collection-banner .eyebrow{font-size:6.5px}
  .detail-image{width:100%;max-width:290px;margin-inline:auto}
  .detail-info h1{font-size:32px}
  .detail-info>p{font-size:12px}
  .detail-info .detail-price{font-size:23px!important}
  .detail-info .detail-actions .button{font-size:11px;min-height:44px}
  .size-options span{font-size:11px;padding:10px 24px}
  .panel h2,.contact-layout>div h2{font-size:24px}
  .field label{font-size:11px}
  .field input,.field textarea{font-size:13px}
  .policy{padding-block:25px 42px}
  .policy section{padding-top:21px;margin-top:23px}
  .policy section h2{font-size:22px;letter-spacing:-.35px;margin-bottom:13px}
  .policy p,.policy section p{font-size:12px;line-height:1.9}
  #mobile-nav{padding:8px 20px}
  #mobile-nav a{font-size:12px;padding:10px 0;min-height:44px;display:flex;align-items:center}
  .menu-toggle{font-size:22px}
}
@media(max-width:360px){
  .hero-copy h1{font-size:36px}
  .product-image{max-height:235px}
  .product-body .product-title{font-size:20px}
  .category-card>img{height:190px}
  .detail-image{max-width:260px}
}

/* Contact: an editorial introduction and a single, balanced contact panel. */
.contact-page{background:var(--ivory);padding:55px 0 0}
.contact-intro{position:relative;padding-bottom:43px}
.contact-intro h1{font-size:62px;line-height:1.07;letter-spacing:-1.9px;margin-bottom:21px}
.contact-intro>p:last-child{font-size:13px;line-height:1.85;margin:0}
.contact-intro::after{content:'✧';position:absolute;right:55px;top:35px;color:var(--orange);font:110px var(--serif);opacity:.55}
.contact-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:#fffdf9;border:1px solid var(--border);border-radius:13px;overflow:hidden;box-shadow:0 14px 40px #4c261b08;align-items:stretch}
.contact-card{background:#591d25;color:#fff4e6;padding:38px 35px 0;display:flex;flex-direction:column;min-width:0}
.contact-card .eyebrow{color:#efb768;font-size:9px;letter-spacing:1.8px;margin-bottom:17px}
.contact-card h2{font-size:35px;line-height:1.16;letter-spacing:-.75px;margin-bottom:17px}
.contact-card-top>p:last-child{color:#e4cac5;font-size:12px;line-height:1.8;max-width:275px;margin-bottom:24px}
.contact-methods{margin:0 0 28px}
.contact-methods>div{display:flex;align-items:flex-start;gap:16px;padding:19px 0;border-top:1px solid #ffffff24}
.contact-icon{color:#efb768;flex:0 0 22px;padding-top:3px}
.contact-methods dt{font-size:8px;letter-spacing:1.6px;color:#efb768;margin-bottom:6px}
.contact-methods dd{margin:0;font-size:12px;line-height:1.85;color:#fff3e9;overflow-wrap:anywhere}
.contact-methods dd a{display:inline-block;min-height:27px}
.contact-methods dd a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-food{position:relative;margin: auto -35px 0;height:145px;overflow:hidden}
.contact-food img{width:100%;height:100%;object-fit:cover;object-position:center 62%;filter:brightness(.65)}
.contact-food span{position:absolute;left:35px;bottom:19px;font:italic 22px var(--serif);color:#fff9f1}
.contact-form{padding:43px 43px 35px;min-width:0}
.contact-form>.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:13px}
.contact-form h2{font-size:36px;letter-spacing:-.8px;margin-bottom:12px}
.contact-form-intro{font-size:12px;line-height:1.8;margin-bottom:28px}
.contact-form-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}
.contact-wide,.contact-form-fields>.wide{grid-column:1/-1}
.contact-form .field{margin-bottom:20px}
.contact-form .field label{font-size:11px;margin-bottom:8px}
.contact-form .field input,.contact-form .field textarea{background:#fff;border-color:#e4d7c8;font-size:13px;padding:12px 13px}
.contact-form .field textarea{min-height:145px}
.contact-send{display:flex;align-items:center;gap:22px;margin-top:2px}
.contact-send .button{min-height:48px;gap:36px;font-size:12px}
.contact-send .contact-hint{font-size:10px;line-height:1.8;margin:0}
.contact-closing{display:flex;justify-content:center;align-items:center;gap:20px;padding-block:36px}
.contact-closing p{font:italic 14px var(--serif);margin:0;color:#8a6e5d}
.contact-closing span{height:1px;width:45px;background:#dbc2a3}
@media(max-width:1000px){.contact-card{padding:32px 25px 0}.contact-food{margin-inline:-25px}.contact-food span{left:25px}.contact-form{padding:35px 28px}.contact-card h2{font-size:31px}.contact-form h2{font-size:32px}.contact-send{gap:15px}.contact-send .button{gap:24px;padding-inline:20px}}
@media(max-width:700px){
  .contact-page{padding-top:32px}
  .contact-intro{padding-bottom:28px}
  .contact-intro h1{font-size:40px;letter-spacing:-1.1px;line-height:1.1;margin-bottom:16px}
  .contact-intro .eyebrow{font-size:7px;margin-bottom:14px}
  .contact-intro>p:last-child{font-size:11px}
  .contact-intro::after{font-size:52px;right:7px;top:33px;opacity:.3}
  .contact-shell{grid-template-columns:1fr;border-radius:10px}
  .contact-card{padding:26px 24px 0}
  .contact-card .eyebrow{font-size:7px;margin-bottom:12px}
  .contact-card h2{font-size:28px;margin-bottom:13px}
  .contact-card-top>p:last-child{font-size:11px;max-width:none;margin-bottom:17px}
  .contact-methods{margin-bottom:18px}
  .contact-methods>div{padding:13px 0;gap:13px}
  .contact-methods dt{font-size:7px;letter-spacing:1.3px;margin-bottom:4px}
  .contact-methods dd{font-size:11px;line-height:1.75}
  .contact-food{height:100px;margin-inline:-24px}
  .contact-food span{left:24px;bottom:17px;font-size:19px}
  .contact-form{padding:29px 24px}
  .contact-form>.eyebrow{font-size:7px}
  .contact-form h2{font-size:28px}
  .contact-form-intro{font-size:11px;margin-bottom:23px}
  .contact-form-fields{column-gap:13px}
  .contact-form .field{margin-bottom:17px}
  .contact-form .field input{min-height:44px}
  .contact-form .field input,.contact-form .field textarea{font-size:13px;padding:10px 11px}
  .contact-send{align-items:flex-start;flex-direction:column;gap:11px}
  .contact-send .button{width:100%;justify-content:space-between;font-size:11px;min-height:46px}
  .contact-send .contact-hint{font-size:10px}
  .contact-send .contact-hint br{display:none}
  .contact-closing{gap:12px;padding-block:28px}
  .contact-closing p{font-size:12px}
  .contact-closing span{width:22px}
}
@media(max-width:400px){.contact-form-fields{grid-template-columns:1fr}.contact-intro h1{font-size:36px}.contact-intro::after{display:none}.contact-card,.contact-form{padding-inline:20px}.contact-food{margin-inline:-20px}.contact-food span{left:20px}}
