:root{--forest:#13291d;--sage:#e7ecdf;--apricot:#ffae78;--ink:#17281e;--paper:#f7f9f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit}img{display:block;width:100%;height:auto}h1,h2,p{margin:0 0 .75em}h1,h2,.logo{line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(2.4rem,6vw,5.7rem)}h2{font-size:clamp(1.65rem,3vw,2.8rem)}.wrap{width:min(92%,1360px);margin-inline:auto}.nav,.footer,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav{padding-block:1rem}.nav nav{display:flex;gap:clamp(.6rem,2vw,2rem);flex-wrap:wrap}.nav a,.logo,.card{text-decoration:none}.logo{font-size:clamp(1.65rem,3vw,2.6rem);font-weight:900}.nav nav a{font-weight:700}header{background:var(--sage)}.button{display:inline-block;background:var(--apricot);color:#14251b;border:0;border-radius:.65rem;padding:.78rem 1.35rem;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.button:hover{background:#ffc094}.hero{color:white;background:#142a1f url('/assets/hero.webp') center/cover no-repeat;min-height:490px;display:flex;align-items:center}.hero>.wrap{padding-block:4rem}.hero h1,.hero p{max-width:680px}.hero p{font-size:1.2rem;max-width:510px}.section{padding-block:clamp(1.8rem,4vw,4rem)}.section-heading{margin-bottom:1.3rem}.section-heading h2{margin:0}.warm{background:#f8d4b9}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.categories{grid-template-columns:repeat(6,minmax(0,1fr))}.card{display:block;overflow:hidden;background:white;border-radius:.85rem;box-shadow:0 1px 3px #13291d12}.photo{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:#eef0eb}.photo img{height:100%;width:100%;object-fit:contain}.card-copy,.category strong{padding:.75rem .9rem;display:block}.card small{display:block;color:#48564c;margin-top:.35rem}.category strong{text-align:center}.intro{padding:clamp(2rem,5vw,5rem) 0;background:var(--sage)}.intro p{max-width:760px;margin:0}.split,.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem)}.product h1{font-size:clamp(1.5rem,2.7vw,2.5rem)}.product-photo{border-radius:1rem;background:white}.crumb{font-size:.9rem;margin-bottom:1.5rem}.product+section{margin-top:3rem}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{border-bottom:1px solid #b6c1b7;padding:.7rem}dl>div{display:flex;gap:1rem}dt{font-weight:700}dd{margin:0}.search{max-width:650px;margin:1.5rem 0}.search>div{display:flex;gap:.5rem}input,select,textarea{background:white;width:100%;min-width:0;border:1px solid #778778;border-radius:.5rem;padding:.7rem;font:inherit;color:inherit}label{font-weight:700}.variant,.enquiry{display:grid;gap:.65rem;justify-items:start}.enquiry label{width:100%}.enquiry{max-width:650px}.prose section{max-width:760px;margin-bottom:2rem}.pagination,.brand-list{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.pagination a,.brand-list a{display:inline-block;padding:.4rem .7rem;background:var(--sage);border-radius:.4rem}.pagination a[aria-current]{background:var(--forest);color:white}.brand-list{list-style:none}.footer{padding-block:2rem;flex-wrap:wrap}footer{background:var(--forest);color:white}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:.5rem;z-index:2}#more{margin-top:1.2rem}[hidden]{display:none!important}.no-image{padding:1rem;text-align:center;color:#425347}
@media(max-width:860px){.categories,.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav{flex-wrap:wrap}.nav nav{order:3;width:100%}.hero{background-image:linear-gradient(90deg,#142a1ff0,#142a1f70),url('/assets/hero.webp')}}
@media(max-width:570px){.grid,.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.product,.split{grid-template-columns:1fr}.hero{min-height:390px}.nav nav{font-size:.9rem}.section-heading{align-items:flex-start}.section-heading a{font-size:.85rem}}

.logo img{width:clamp(145px,20vw,221px);height:auto}

.card .photo img {
  padding: 10%;
}

.product + section > h2 {
  font-size: 1.25rem;
}


.hero-actions,.product-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem}
.hero-secondary{color:white;text-underline-offset:.25em;font-weight:700}
.home-search{position:relative;margin-top:-2rem;padding:1.15rem 1.5rem;background:white;border-radius:.9rem;box-shadow:0 6px 24px #13291d15}
.home-search .search{margin:0;max-width:none}
.occasion-grid,.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.occasion-grid a,.process-grid li{padding:1.4rem;border-radius:.8rem;background:var(--sage)}
.occasion-grid a{position:relative;text-decoration:none;padding-right:2.6rem}

.occasion-grid h3,.occasion-grid p,.process-grid p{margin:0}
.occasion-grid span{position:absolute;right:1.25rem;top:1.25rem}
.process-grid{padding:0;list-style-position:inside}
.outline{background:transparent;border:1px solid currentColor}
[data-shortlist]{margin-bottom:2rem}
[data-shortlist] li{margin-bottom:.6rem}
[data-shortlist] button{margin-left:.65rem;font:inherit;cursor:pointer}
[data-shortlist-count]{margin-left:.25rem}
@media(max-width:640px){.occasion-grid,.process-grid{grid-template-columns:1fr}.home-search{padding:.8rem}.hero-actions{gap:.65rem}}

.variant-thumbs{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}
.variant-thumbs img{width:34px;height:34px;object-fit:contain;background:#fff;border:1px solid #dce3da;border-radius:.25rem;padding:2px}

.pagination a {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #bac7b9;
  border-radius: .55rem;
  font-weight: 700;
  text-decoration: none;
}

.pagination a:focus-visible { outline: 2px solid var(--forest); outline-offset: 2px; }
.pagination a[aria-current] { border-color: var(--forest); }

.card:not(.category), .product-photo { border: 1px solid #dce5d6; }
.card .photo, .product-photo { background: #fff; }

.card-link{display:block;text-decoration:none}
.card > .variant-thumbs{padding:0 .9rem .85rem;margin-top:0}
.variant-thumbs button{padding:0;border:1px solid transparent;border-radius:.3rem;background:white;cursor:pointer}
.variant-thumbs button[aria-pressed="true"]{border-color:var(--forest)}
.variant-thumbs button:focus-visible{outline:2px solid var(--forest);outline-offset:2px}

.product-subtitle{display:block;font-weight:400}
.product h1:has(+ .product-subtitle){margin-bottom:.3em}
.product .product-subtitle{font-size:1.125rem;margin-bottom:1rem}


.category-banner{position:relative;isolation:isolate;display:grid;align-items:end;min-height:clamp(245px,31vw,400px);color:#fff;background:var(--forest);overflow:hidden}
.category-banner img,.category-banner::before{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.category-banner img{object-fit:cover;object-position:center}
.category-banner::before{content:"";z-index:0;background:linear-gradient(90deg,#102219ed,#102219a0 47%,#10221925)}
.category-banner .wrap{position:relative;z-index:1}
@media(max-width:640px){.category-banner::before{background:linear-gradient(0deg,#102219ed,#10221975)}}

@media(max-width:640px){.hero{background-image:linear-gradient(90deg,#142a1ff0,#142a1f70),url("/assets/hero-mobile.webp")}}

.product-gallery{min-width:0}
.gallery-thumbs{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}
.gallery-thumbs button{width:66px;height:66px;padding:3px;border:1px solid #dce5d6;border-radius:.45rem;background:white;cursor:pointer}
.gallery-thumbs button img{width:100%;height:100%;object-fit:contain}
.gallery-thumbs button[aria-pressed="true"]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.gallery-thumbs button:focus-visible{outline:2px solid var(--forest);outline-offset:2px}

.variant-picker{padding:0;border:0;margin:0;min-width:0}
.variant-picker legend{font-weight:700;margin-bottom:.45rem}
.variant-picker>div{display:flex;flex-wrap:wrap;gap:.5rem}
.variant-button{position:relative;cursor:pointer}
.variant-button input{position:absolute;width:1px;height:1px;opacity:0}
.variant-button span{display:block;padding:.55rem .8rem;border:1px solid #bac7b9;border-radius:.45rem;background:white}
.variant-button input:checked+span{background:var(--forest);color:white;border-color:var(--forest)}
.variant-button input:focus-visible+span{outline:2px solid var(--forest);outline-offset:2px}

.mega-nav{position:relative;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:.25rem;padding:.45rem 0 .65rem;border-top:1px solid #dce5d6;z-index:5}
.mega-nav summary{cursor:pointer;font-size:.8125rem;font-weight:800;padding:.35rem .2rem;list-style:none;white-space:nowrap}
.mega-nav summary::-webkit-details-marker{display:none}
.mega-nav details[open] summary{color:#48634c}
.mega-panel{position:absolute;top:100%;inset-inline:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;padding:1rem;background:white;border:1px solid #dce5d6;border-radius:.6rem;box-shadow:0 8px 20px #13291d25}
.mega-panel a{font-size:.75rem;font-weight:700;padding:.5rem;text-decoration:none;border-radius:.35rem}
.mega-panel a:focus-visible{background:var(--sage)}
@media(max-width:800px){.mega-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-size:.875rem}.mega-panel{position:static;display:flex;flex-direction:column;padding:.35rem;box-shadow:none}}

.mega-nav summary,.mega-panel a{text-transform:uppercase}
@media(min-width:801px){.mega-nav summary{font-size:clamp(.75rem,1.1vw,.875rem)}}

.search{position:relative}
.search>.search-suggestions{position:absolute;top:100%;inset-inline:0;display:block;max-height:20rem;overflow:auto;z-index:4;background:#fff;border:1px solid #bac7b9;border-radius:.55rem;box-shadow:0 8px 20px #13291d25;color:var(--ink)}
.search-suggestions a{display:flex;align-items:center;gap:.65rem;padding:.5rem .75rem;text-decoration:none}
.search-suggestions a:focus-visible{background:var(--sage)}
.search-suggestions img{width:42px;height:42px;object-fit:contain}
.search-suggestions small{display:block}
.search-suggestions p{padding:.75rem;margin:0}
.search-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.occasion-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.occasion-features article{overflow:hidden;border:1px solid #dce5d6;border-radius:.8rem;background:white;display:flex;flex-direction:column}
.occasion-features picture img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.occasion-features article>div{padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.occasion-features h2{font-size:1.45rem}
.occasion-features a{margin-top:auto;font-weight:700}
@media(max-width:740px){.occasion-features{grid-template-columns:1fr}}

/* Links use colour alone for hover feedback. */
a,a:hover,a:focus-visible{text-decoration:none}
a:not(.button):not(.logo):hover{color:#3d5944}
footer a:not(.button):not(.logo):hover,.hero a.hero-secondary:hover,.pagination a[aria-current]:hover{color:#dce5d6}
