* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:20px
}
body {
  margin:0;
  background:var(--colour-paper);
  color:var(--colour-ink);
  font:14px/1.5 var(--font-body);
  -webkit-font-smoothing:antialiased
}
button,input,select,textarea {
  font:inherit;
  color:inherit
}
button,a,input,select {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:disabled {
  cursor:not-allowed
}
a {
  color:inherit;
  text-decoration:none
}
a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid var(--colour-focus);
  outline-offset:4px
}
h1,h2,h3,p {
  margin:0
}
h1,h2 {
  font-family:var(--font-editorial);
  font-weight:600;
  line-height:1.13
}
img {
  display:block;
  max-width:100%
}
svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
[hidden] {
  display:none!important
}
.wrap {
  width:min(var(--page-width),calc(100% - 64px));
  margin-inline:auto
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  top:8px;
  left:12px;
  z-index:100;
  padding:12px;
  background:white;
  transform:translateY(-150%)
}
.skip-link:focus {
  transform:none
}
.topbar {
  background:var(--colour-ink);
  color:#fff;
  font-size:11px
}
.topbar-inner {
  min-height:29px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px
}
.topbar-inner>div {
  display:flex;
  gap:22px;
  align-items:center
}
.demo-label {
  color:#f1cfb7
}
.header-main {
  min-height:94px;
  display:grid;
  grid-template-columns:280px 1fr 210px;
  align-items:center;
  gap:30px
}
.brand {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  max-width:100%;
  width:fit-content
}
.brand:hover {
  text-decoration:none
}
.brand-leaf {
  width:35px;
  height:43px;
  fill:var(--colour-accent);
  stroke:none
}
.brand-leaf .leaf-stem {
  stroke:#fff;
  stroke-width:1.5;
  fill:none
}
.wordmark {
  font-family:var(--font-editorial);
  font-size:31px;
  font-weight:600;
  line-height:1;
  letter-spacing:-1.15px
}
.wordmark-subtitle {
  display:block;
  font:10px/1.6 var(--font-body);
  letter-spacing:.7px;
  margin-top:5px
}
.header-search {
  height:40px;
  display:flex;
  border:1px solid #d5d3ce;
  border-radius:3px;
  align-items:center;
  background:#fff;
  overflow:hidden;
  width:100%;
  max-width:570px
}
.header-search>svg {
  width:18px;
  height:18px;
  margin-left:12px;
  color:var(--colour-muted)
}
.header-search input {
  min-width:0;
  width:100%;
  border:0;
  background:transparent;
  padding:9px 10px;
  font-size:12px;
  outline-offset:-3px
}
.header-search button {
  height:100%;
  width:43px;
  display:grid;
  place-items:center;
  background:var(--colour-ink);
  border:0;
  color:white;
  flex-shrink:0
}
.header-search button svg {
  width:19px;
  height:19px
}
.header-note {
  font-family:var(--font-editorial);
  font-style:italic;
  font-size:18px;
  line-height:1.25;
  color:#6f6258;
  transform:rotate(-7deg);
  text-align:center
}
.mobile-basket {
  display:none
}
.department-nav {
  background:var(--colour-soft);
  border-block:1px solid var(--colour-line)
}
.department-nav>.wrap {
  display:flex;
  align-items:center;
  gap:40px;
  min-height:42px
}
.department-nav a {
  font-size:12px;
  font-weight:600;
  padding-block:10px;
  white-space:nowrap
}
.department-nav a[aria-current=page] {
  color:var(--colour-accent);
  text-decoration:underline;
  text-underline-offset:5px
}
.department-nav .all-products-link {
  margin-left:auto;
  font-weight:500;
  font-size:11px
}
.home-page {
  padding-top:0
}
.featured {
  position:relative;
  background:var(--colour-warm)
}
.feature-slide {
  position:relative;
  isolation:isolate;
  min-height:390px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#e9e2d7
}
.hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 55%;
  z-index:-2
}
.feature-slide::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(245,239,229,.88),rgba(245,239,229,.69) 26%,rgba(245,239,229,0) 53%)
}
.feature-copy {
  width:40%;
  padding:46px 0 57px 76px
}
.eyebrow {
  font-size:10px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase
}
.hero-label {
  display:inline-block;
  line-height:1;
  background:var(--colour-accent);
  color:white;
  padding:7px 10px;
  letter-spacing:1.6px;
  font-size:10px;
  margin-bottom:16px
}
.feature-copy h1,.feature-copy h2 {
  font-size:clamp(34px,3.5vw,50px);
  line-height:1.03;
  letter-spacing:-1.7px;
  max-width:320px;
  text-wrap:balance
}
.hero-description {
  font-family:var(--font-editorial);
  font-size:20px;
  line-height:1.2;
  max-width:290px;
  margin-top:14px
}
.button {
  min-height:38px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  border:1px solid var(--colour-ink);
  border-radius:3px;
  background:var(--colour-ink);
  color:#fff;
  padding:9px 18px;
  font-size:12px;
  font-weight:500;
  line-height:1.3;
  text-align:center;
  text-decoration:none
}
.button:hover {
  background:#41413c;
  text-decoration:none
}
.button:disabled {
  background:#e9e6e0;
  border-color:#d8d4cd;
  color:#6c685f
}
.feature-copy .button {
  margin-top:22px;
  padding:10px 18px;
  min-width:158px
}
.hero-note {
  position:absolute;
  right:7%;
  top:25%;
  font:italic 20px/1.2 var(--font-editorial);
  color:#675d51;
  transform:rotate(-8deg);
  text-align:center
}
.hero-demo {
  position:absolute;
  right:12px;
  bottom:9px;
  color:#49443e;
  background:#ffffffbf;
  padding:2px 6px;
  font-size:9px
}
.carousel-controls {
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none
}
.carousel-controls button {
  pointer-events:auto;
}
.slide-prev,.slide-next {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:1px solid #e2dfd8;
  background:#fff;
  color:var(--colour-ink);
  height:36px;
  width:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:Georgia,serif;
  font-size:34px;
  line-height:.7;
  padding-bottom:4px;
  box-shadow:0 2px 5px #2929270d;
}
.slide-prev { left:14px; }
.slide-next { right:14px; }
.carousel-position-controls {
  position:absolute;
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  padding:3px 6px 3px 9px;
  min-height:28px;
  max-width:calc(100% - 90px);
  border-radius:20px;
  background:#ffffffd9;
}
.slide-dots {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  order:0;
}
.slide-dot {
  position:relative;
  width:15px;
  height:20px;
  padding:0;
  background:none;
  border:0;
}
.slide-dot::after {
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  border:1px solid #8b857b;
  left:4px;
  top:6px;
}
.slide-dot[aria-pressed=true]::after {
  background:var(--colour-ink);
  border-color:var(--colour-ink);
}
.rotation-control {
  position:static;
  order:1;
  flex:0 0 26px;
  height:25px;
  width:26px;
  padding:0;
  border:0;
  border-left:1px solid #d4d0c6;
  background:transparent;
  font-size:11px;
}
.carousel-fallback {
  padding:8px 14px;
  font-size:12px;
  background:var(--colour-soft)
}
.carousel-fallback a {
  text-decoration:underline
}
.feature-empty {
  background:var(--colour-soft)
}
.feature-empty .feature-copy {
  width:65%
}
.purchase-notice {
  position:absolute;
  z-index:5;
  right:16px;
  top:14px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:248px;
  padding:14px 25px 13px 12px;
  border:1px solid var(--colour-line);
  border-radius:5px;
  background:#fff;
  box-shadow:0 5px 16px #29292712;
  font-size:10px
}
.purchase-notice>svg {
  width:20px;
  height:20px;
  margin-top:5px
}
.purchase-notice strong {
  display:block;
  font-size:11px;
  margin-bottom:3px
}
.purchase-notice p {
  line-height:1.45
}
.purchase-notice button {
  position:absolute;
  right:3px;
  top:3px;
  width:27px;
  height:27px;
  background:transparent;
  border:0;
  font-size:18px;
  color:var(--colour-muted)
}
.service-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:21px 0 20px;
  border-bottom:1px solid var(--colour-line)
}
.service-strip>div {
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 21px;
  border-right:1px solid var(--colour-line)
}
.service-strip>div:first-child {
  padding-left:24px
}
.service-strip>div:last-child {
  border:0
}
.service-strip svg {
  width:28px;
  height:28px
}
.service-strip strong {
  display:block;
  font-size:11px;
  font-weight:600;
  line-height:1.3
}
.service-strip span {
  display:block;
  font-size:10px;
  color:var(--colour-muted);
  margin-top:4px;
  line-height:1.3
}
.catalogue-section {
  padding-top:25px
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  margin-bottom:16px
}
.section-heading h2 {
  font-size:26px;
  letter-spacing:-.5px
}
.text-link {
  font-size:12px;
  display:inline-flex;
  gap:10px;
  white-space:nowrap
}
.text-link:hover {
  color:var(--colour-accent)
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px
}
.product-card {
  min-width:0;
  display:flex;
  flex-direction:column
}
.product-image-link {
  display:block;
  overflow:hidden;
  border-radius:4px;
  margin-bottom:9px
}
.product-visual {
  position:relative;
  width:100%;
  aspect-ratio:1;
  background:#f1eee8;
  border-radius:4px;
  overflow:hidden
}
.product-visual img {
  width:100%;
  height:100%;
  object-fit:cover
}
.product-image-link .product-visual img {
  transition:transform .25s ease
}
.product-image-link:hover .product-visual img {
  transform:scale(1.035)
}
.photo-pending {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:10px;
  width:100%;
  height:100%;
  padding:20px;
  text-align:center;
  color:var(--colour-muted);
  font-size:11px
}
.photo-pending svg {
  width:40px;
  height:40px;
  stroke-width:1
}
.product-card h3 {
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  min-height:34px;
  margin-bottom:4px
}
.price {
  font-size:15px;
  font-weight:600;
  line-height:1.3
}
.price>span {
  font-size:11px;
  font-weight:400
}
.card-add-form {
  margin-top:9px
}
.card-add {
  width:100%;
  min-height:32px;
  font-size:11px;
  padding:6px 8px;
  gap:0
}
.product-card>a.card-add {
  margin-top:9px
}
.catalogue-demo-note {
  font-size:10px;
  color:var(--colour-muted);
  margin-top:10px
}
.delivery-checker {
  display:grid;
  grid-template-columns:28px 1fr 48%;
  align-items:center;
  gap:16px;
  background:var(--colour-soft);
  border:1px solid var(--colour-line);
  border-radius:5px;
  padding:18px 22px;
  margin-top:22px;
  scroll-margin-top:15px
}
.delivery-checker>svg {
  width:27px;
  height:31px;
  color:#89634a
}
.delivery-copy h2 {
  font-size:17px
}
.delivery-copy p {
  font-size:10px;
  color:var(--colour-muted);
  margin-top:4px
}
.delivery-checker form {
  display:flex;
  align-items:stretch;
  min-width:0
}
.delivery-checker input {
  min-width:0;
  width:100%;
  border:1px solid #d9d6cf;
  border-right:0;
  background:white;
  border-radius:3px 0 0 3px;
  padding:8px 12px;
  font-size:11px
}
.delivery-checker button {
  border-radius:0 3px 3px 0;
  font-size:10px;
  white-space:nowrap;
  min-height:36px;
  padding-inline:14px
}
.delivery-result {
  grid-column:2/-1;
  font-size:11px;
  padding-top:3px;
  color:var(--colour-accent-hover)
}
.reviews {
  padding:22px 0 0
}
.reviews .section-heading {
  margin-bottom:10px
}
.reviews h2 {
  font-size:21px;
  letter-spacing:-.3px
}
.reviews h2 span,.product-reviews h2 span {
  color:var(--colour-accent);
  font-size:18px;
  margin-right:8px
}
.reviews .section-heading p {
  font-size:10px;
  color:var(--colour-muted);
  margin-top:5px;
  margin-left:29px
}
.review-empty {
  display:flex;
  align-items:center;
  gap:15px;
  border:1px solid var(--colour-line);
  background:var(--colour-soft);
  border-radius:4px;
  padding:15px 22px;
  font-size:11px
}
.review-empty svg {
  width:28px;
  height:28px;
  color:#78756c
}
.review-empty strong {
  font-size:11px;
  font-weight:600
}
.review-empty p {
  color:var(--colour-muted);
  font-size:10px;
  margin-top:2px
}
.review-pending {
  margin-left:auto;
  font-size:10px;
  color:var(--colour-muted);
  padding:7px 10px;
  border:1px solid #d9d6cf;
  border-radius:3px;
  background:#fff
}
.shop-story {
  padding:19px 0;
  font:italic 15px/1.4 var(--font-editorial);
  text-align:center;
  color:var(--colour-muted)
}
.site-footer {
  border-top:1px solid var(--colour-line);
  display:flex;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
  padding:22px 0 15px
}
.footer-script {
  font:italic 15px/1.1 var(--font-editorial);
  color:#6e6255;
  transform:rotate(-6deg);
  margin-right:12px
}
.footer-brand .wordmark {
  font-size:23px
}
.footer-brand .wordmark-subtitle {
  font-size:8px
}
.footer-links {
  display:flex;
  align-items:center;
  gap:25px;
  margin-left:auto;
  font-size:10px
}
.footer-note {
  width:100%;
  font-size:9px;
  color:var(--colour-muted);
  text-align:center;
  border-top:1px solid var(--colour-line);
  padding-top:13px;
  margin-top:2px
}
.messages {
  padding:12px 18px;
  background:#f8efe7;
  border-bottom:1px solid #e8cdb9;
  font-size:12px
}
.messages a {
  font-weight:600;
  text-decoration:underline
}
.breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  font-size:11px;
  color:var(--colour-muted);
  margin:19px 0
}
.breadcrumbs span:last-child {
  color:var(--colour-ink)
}
.product-detail {
  display:grid;
  grid-template-columns:1.07fr 1fr;
  gap:46px;
  align-items:start;
  margin-bottom:38px
}
.product-gallery .product-visual {
  aspect-ratio:1
}
.gallery-caption {
  font-size:10px;
  margin-top:9px;
  color:var(--colour-muted)
}
.product-information {
  padding:6px 0
}
.product-information>.eyebrow {
  font-size:10px;
  color:var(--colour-accent);
  margin-bottom:11px
}
.product-information h1 {
  font-size:33px;
  line-height:1.12;
  letter-spacing:-.55px;
  max-width:500px
}
.product-lead {
  font-size:12px;
  color:var(--colour-muted);
  margin-top:12px
}
.price-line {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:18px 0
}
.detail-price {
  font-size:24px
}
.availability-note {
  font-size:10px;
  color:var(--colour-muted)
}
.variant-label {
  font-size:12px;
  margin:0 0 18px
}
.variant-label strong {
  font-weight:500
}
.purchase-form {
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin:17px 0 0
}
.quantity-field {
  display:flex;
  flex-direction:column;
  gap:4px
}
.quantity-field label {
  font-size:10px
}
.quantity-field input {
  width:64px;
  height:42px;
  border:1px solid #d8d4ce;
  border-radius:3px;
  padding:7px
}
.purchase-button {
  min-height:42px;
  flex:1;
  font-size:13px
}
.purchase-button svg {
  width:20px;
  height:20px
}
.purchase-explanation {
  font-size:10px;
  color:var(--colour-muted);
  margin-top:11px;
  line-height:1.5
}
.product-description {
  border-top:1px solid var(--colour-line);
  padding-top:21px;
  margin-top:23px
}
.product-description h2,.product-reviews h2 {
  font-size:21px;
  margin-bottom:9px
}
.product-description>p {
  font-size:12px;
  color:var(--colour-muted);
  line-height:1.7;
  margin-bottom:10px
}
.product-description .product-reference {
  font-size:10px;
  margin-top:14px
}
.product-reviews {
  padding:17px 0;
  margin:19px 0 0;
  border-block:1px solid var(--colour-line);
  font-size:11px
}
.product-reviews h2 {
  font-size:20px
}
.product-reviews strong {
  font-weight:500
}
.product-reviews p {
  font-size:10px;
  color:var(--colour-muted);
  margin-top:3px
}
.collection {
  padding-block:32px 45px
}
.collection-heading {
  margin-bottom:24px
}
.collection-heading h1 {
  font-size:35px;
  letter-spacing:-.8px;
  margin-top:10px
}
.collection-heading>p:last-child {
  font-size:12px;
  color:var(--colour-muted);
  margin-top:10px
}
.collection-filters {
  display:flex;
  gap:16px;
  align-items:flex-end;
  padding:18px;
  background:var(--colour-soft);
  border:1px solid var(--colour-line)
}
.collection-filters>div {
  display:flex;
  flex-direction:column;
  gap:5px;
  flex:1
}
.collection-filters label {
  font-size:11px
}
.collection-filters input,.collection-filters select {
  height:38px;
  border:1px solid #d8d4ce;
  border-radius:3px;
  padding:8px 10px;
  min-width:0;
  width:100%;
  background:white;
  font-size:12px
}
.results-heading {
  display:flex;
  justify-content:space-between;
  margin-block:20px;
  font-size:12px
}
.results-heading a {
  text-decoration:underline
}
.pagination {
  display:flex;
  justify-content:center;
  gap:22px;
  font-size:12px;
  margin-top:35px
}
.pagination a {
  text-decoration:underline
}
.empty-state {
  padding:35px 10px;
  grid-column:1/-1;
  font-size:13px
}
.empty-state h2 {
  font-size:23px;
  margin-bottom:10px
}
.empty-state p {
  margin-bottom:10px
}
.basket-page {
  padding:28px 0 45px
}
.basket-heading {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:baseline;
  margin-bottom:24px
}
.basket-heading h1 {
  font-size:34px;
  letter-spacing:-.6px
}
.basket-heading a {
  font-size:12px;
  text-decoration:underline
}
.basket-preview {
  padding:12px 16px;
  font-size:12px;
  background:var(--colour-soft);
  border:1px solid var(--colour-line);
  border-left:3px solid var(--colour-accent);
  margin-bottom:24px
}
.basket-error {
  background:#fff0ea;
  border-color:#c77a51
}
.basket-layout {
  display:grid;
  grid-template-columns:1fr 330px;
  gap:35px
}
.basket-items {
  border-top:1px solid var(--colour-line)
}
.basket-item {
  display:grid;
  grid-template-columns:100px 1fr auto;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid var(--colour-line);
  align-items:start
}
.basket-item img {
  width:100px;
  height:100px;
  object-fit:cover;
  border-radius:3px
}
.basket-item h2 {
  font-size:20px
}
.basket-item .item-price {
  margin-top:5px;
  font-size:12px
}
.basket-item .item-variant {
  margin-top:5px;
  font-size:10px;
  color:var(--colour-muted)
}
.basket-quantity-form {
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:14px;
  font-size:11px
}
.basket-quantity-form input {
  width:55px;
  height:32px;
  border:1px solid #d8d4ce;
  padding:5px;
  border-radius:3px
}
.basket-quantity-form button {
  min-height:32px;
  border:1px solid #d8d4ce;
  background:white;
  border-radius:3px;
  padding:5px 10px;
  font-size:10px
}
.basket-item-end {
  text-align:right
}
.basket-item-end strong {
  font-size:15px;
  white-space:nowrap
}
.remove-button {
  padding:0;
  background:none;
  border:0;
  text-decoration:underline;
  font-size:10px;
  color:var(--colour-muted);
  margin-top:13px
}
.basket-summary {
  padding:22px;
  background:var(--colour-soft);
  border:1px solid var(--colour-line);
  border-radius:4px;
  align-self:start
}
.basket-summary h2 {
  font-size:23px;
  margin-bottom:19px
}
.basket-summary dl {
  margin:0;
  font-size:12px
}
.basket-summary dl>div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px
}
.basket-summary dt,.basket-summary dd {
  margin:0
}
.basket-summary .summary-subtotal {
  border-top:1px solid var(--colour-line);
  padding-top:14px;
  font-weight:600;
  font-size:15px
}
.basket-summary .button {
  width:100%;
  margin-top:7px;
  font-size:12px
}
.basket-summary p {
  font-size:11px;
  color:var(--colour-muted);
  margin-top:12px
}
.basket-empty {
  padding:60px 15px;
  text-align:center;
  background:var(--colour-soft);
  border:1px solid var(--colour-line)
}
.basket-empty h2 {
  font-size:28px;
  margin-bottom:10px
}
.basket-empty p {
  font-size:12px;
  margin-bottom:20px;
  color:var(--colour-muted)
}
@media(min-width:1600px) {
  .feature-slide {
    min-height:420px
  }
}
@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 44px)
  }
  .header-main {
    grid-template-columns:240px 1fr 155px;
    gap:20px;
    min-height:84px
  }
  .wordmark {
    font-size:28px
  }
  .header-note {
    font-size:16px
  }
  .department-nav>.wrap {
    gap:29px
  }
  .feature-slide {
    min-height:340px
  }
  .feature-copy {
    padding-left:60px;
    width:46%
  }
  .feature-copy h1,.feature-copy h2 {
    font-size:43px
  }
  .hero-description {
    font-size:18px
  }
  .hero-note {
    font-size:18px;
    right:6%;
    top:30%
  }
  .service-strip>div {
    padding:0 14px;
    gap:10px
  }
  .service-strip>div:first-child {
    padding-left:12px
  }
  .service-strip strong {
    font-size:10px
  }
  .service-strip span {
    font-size:9px
  }
  .service-strip svg {
    width:24px;
    height:24px
  }
  .product-grid {
    gap:12px
  }
  .product-card h3 {
    font-size:11px;
    min-height:46px
  }
  .product-card .price {
    font-size:13px
  }
  .product-detail {
    gap:30px
  }
  .product-information h1 {
    font-size:28px
  }
  .footer-links {
    gap:18px
  }
  .basket-layout {
    grid-template-columns:1fr 290px;
    gap:25px
  }
}
@media(max-width:800px) {
  .wrap {
    width:calc(100% - 36px)
  }
  .topbar-inner {
    font-size:10px
  }
  .topbar-inner>div {
    gap:13px
  }
  .header-main {
    grid-template-columns:220px 1fr;
    gap:20px;
    min-height:80px
  }
  .header-note {
    display:none
  }
  .department-nav>.wrap {
    gap:24px
  }
  .department-nav a {
    font-size:11px
  }
  .department-nav .all-products-link {
    font-size:10px
  }
  .feature-slide {
    min-height:310px
  }
  .feature-copy {
    padding:36px 0 45px 48px;
    width:47%
  }
  .feature-copy h1,.feature-copy h2 {
    font-size:36px;
    letter-spacing:-1px
  }
  .hero-description {
    font-size:16px
  }
  .hero-label {
    font-size:9px;
    margin-bottom:13px
  }
  .feature-copy .button {
    min-width:136px;
    font-size:11px;
    margin-top:16px
  }
  .hero-note {
    display:none
  }
  .purchase-notice {
    max-width:210px;
    padding:11px 21px 10px 9px;
    gap:6px;
    font-size:9px;
    right:10px;
    top:10px
  }
  .purchase-notice strong {
    font-size:10px
  }
  .purchase-notice>svg {
    width:18px;
    height:18px
  }
  .service-strip {
    grid-template-columns:repeat(2,1fr);
    gap:18px 0;
    padding-block:18px
  }
  .service-strip>div {
    padding-inline:20px
  }
  .service-strip>div:nth-child(2) {
    border-right:0
  }
  .service-strip>div:first-child {
    padding-left:20px
  }
  .service-strip strong {
    font-size:11px
  }
  .service-strip span {
    font-size:10px
  }
  .product-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px 16px
  }
  .product-card h3 {
    font-size:12px;
    min-height:34px
  }
  .product-card .price {
    font-size:15px
  }
  .section-heading h2 {
    font-size:25px
  }
  .delivery-checker {
    grid-template-columns:28px 1fr;
    gap:12px;
    padding:17px
  }
  .delivery-checker form {
    grid-column:2/-1
  }
  .delivery-result {
    grid-column:2/-1
  }
  .footer-script {
    display:none
  }
  .site-footer {
    gap:20px
  }
  .footer-links {
    gap:17px
  }
  .product-detail {
    grid-template-columns:1fr 1fr;
    gap:24px
  }
  .product-information h1 {
    font-size:25px
  }
  .price-line {
    display:block;
    margin-top:13px
  }
  .availability-note {
    display:block;
    margin-top:5px
  }
  .variant-label {
    font-size:11px
  }
  .purchase-form {
    gap:8px
  }
  .purchase-button {
    font-size:11px;
    padding-inline:8px;
    gap:8px
  }
  .product-description>p {
    font-size:11px
  }
  .basket-layout {
    grid-template-columns:1fr
  }
  .basket-summary {
    max-width:none
  }
  .basket-item {
    grid-template-columns:100px 1fr auto
  }
}
@media(max-width:560px) {
  html {
    scroll-padding-top:10px
  }
  .wrap {
    width:calc(100% - 28px)
  }
  .topbar-inner {
    min-height:27px;
    justify-content:center;
    font-size:9px
  }
  .topbar-inner>span {
    display:none
  }
  .topbar-inner>div {
    width:100%;
    justify-content:space-between;
    gap:12px
  }
  .topbar-inner>div>a:last-child {
    display:none
  }
  .header-main {
    min-height:115px;
    padding-block:17px 12px;
    grid-template-columns:1fr auto;
    gap:16px 14px
  }
  .wordmark {
    font-size:28px
  }
  .wordmark-subtitle {
    font-size:8px;
    letter-spacing:.65px;
    margin-top:4px
  }
  .brand-leaf {
    width:29px;
    height:34px
  }
  .header-search {
    grid-column:1/-1;
    grid-row:2;
    height:36px;
    max-width:none
  }
  .header-search input {
    font-size:11px;
    padding-block:8px
  }
  .header-search button {
    width:38px
  }
  .mobile-basket {
    display:flex;
    align-items:center;
    gap:5px;
    font-size:11px;
    padding:7px
  }
  .mobile-basket svg {
    width:23px;
    height:23px
  }
  .department-nav>.wrap {
    gap:0;
    justify-content:space-between;
    min-height:40px;
    overflow-x:auto;
    scrollbar-width:none
  }
  .department-nav a {
    font-size:10px;
    padding:10px 6px
  }
  .department-nav a:first-child {
    padding-left:0
  }
  .department-nav .all-products-link {
    display:none
  }
  .home-page {
    width:100%
  }
  .featured {
    border-bottom:1px solid var(--colour-line)
  }
  .feature-slide {
    min-height:350px;
    align-items:flex-start
  }
  .hero-image {
    object-position:61% 100%
  }
  .feature-slide::after {
    background:linear-gradient(90deg,rgba(248,242,231,.9),rgba(248,242,231,.7) 38%,rgba(248,242,231,0) 75%)
  }
  .feature-copy {
    width:69%;
    padding:37px 0 61px 31px
  }
  .feature-copy h1,.feature-copy h2 {
    font-size:35px;
    letter-spacing:-.95px;
    max-width:235px
  }
  .hero-description {
    font-size:16px;
    max-width:205px;
    line-height:1.25;
    margin-top:12px
  }
  .feature-copy .button {
    margin-top:19px;
    font-size:11px;
    min-height:36px;
    padding:8px 13px;
    min-width:139px;
    gap:15px
  }
  .hero-label {
    font-size:8px;
    letter-spacing:1.5px;
    padding:6px 8px;
    margin-bottom:13px
  }
  .slide-prev,.slide-next {
    width:28px;
    height:28px;
    font-size:29px;
    top:59%
  }
  .slide-prev {
    left:7px
  }
  .slide-next {
    right:7px
  }
  .carousel-position-controls {
    bottom:10px
  }
  .hero-demo {
    right:7px;
    bottom:8px;
    font-size:8px;
    padding-inline:4px
  }
  .purchase-notice {
    top:9px;
    right:8px;
    max-width:159px;
    padding:9px 22px 9px 10px;
    font-size:8px;
    line-height:1.4
  }
  .purchase-notice>svg {
    display:none
  }
  .purchase-notice strong {
    font-size:9px
  }
  .purchase-notice p {
    display:none
  }
  .purchase-notice button {
    width:23px;
    height:23px;
    font-size:16px;
    top:4px
  }
  .service-strip {
    margin-inline:14px;
    gap:18px 0;
    padding:18px 0
  }
  .service-strip>div,.service-strip>div:first-child {
    padding-inline:10px;
    gap:9px
  }
  .service-strip>div:nth-child(odd) {
    padding-left:3px
  }
  .service-strip svg {
    width:23px;
    height:23px
  }
  .service-strip strong {
    font-size:10px
  }
  .service-strip span {
    font-size:9px;
    margin-top:3px
  }
  .catalogue-section {
    padding:22px 14px 0
  }
  .section-heading {
    gap:10px;
    margin-bottom:15px
  }
  .section-heading h2 {
    font-size:23px;
    letter-spacing:-.6px;
    max-width:260px
  }
  .text-link {
    font-size:10px;
    gap:6px
  }
  .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 12px
  }
  .product-card h3 {
    font-size:11px;
    min-height:32px;
    margin-bottom:5px
  }
  .product-card .price {
    font-size:14px
  }
  .card-add {
    min-height:34px;
    font-size:10px;
    padding:8px 6px
  }
  .product-image-link {
    margin-bottom:8px
  }
  .catalogue-demo-note {
    font-size:9px;
    margin-top:13px
  }
  .delivery-checker {
    margin:22px 14px 0;
    padding:15px 12px;
    grid-template-columns:22px 1fr;
    gap:10px
  }
  .delivery-checker>svg {
    width:22px;
    height:26px
  }
  .delivery-copy h2 {
    font-size:17px
  }
  .delivery-copy p {
    font-size:9px
  }
  .delivery-checker form {
    grid-column:1/-1;
    margin-top:4px
  }
  .delivery-checker input {
    padding-inline:9px;
    font-size:10px
  }
  .delivery-checker button {
    font-size:9px;
    padding-inline:10px;
    min-height:37px
  }
  .delivery-result {
    grid-column:1/-1;
    font-size:10px
  }
  .reviews {
    padding:23px 14px 0
  }
  .reviews h2 {
    font-size:21px
  }
  .reviews .section-heading p {
    margin-left:0;
    font-size:9px
  }
  .review-empty {
    padding:13px 12px;
    gap:11px;
    flex-wrap:wrap
  }
  .review-empty svg {
    width:25px;
    height:25px
  }
  .review-pending {
    width:100%;
    margin:2px 0 0;
    text-align:center;
    font-size:9px
  }
  .shop-story {
    padding:19px 27px;
    font-size:14px
  }
  .site-footer {
    padding-top:20px;
    gap:19px;
    justify-content:center
  }
  .footer-brand .wordmark {
    font-size:26px;
    text-align:center
  }
  .footer-links {
    margin:0;
    width:100%;
    justify-content:center;
    gap:19px;
    flex-wrap:wrap;
    font-size:10px
  }
  .footer-note {
    font-size:9px;
    line-height:1.6;
    margin:0;
    padding:12px 10px 0
  }
  .messages {
    font-size:11px;
    margin-top:10px;
    width:calc(100% - 28px);
    padding:10px 12px
  }
  .breadcrumbs {
    font-size:9px;
    gap:6px;
    margin:14px 0
  }
  .product-detail {
    display:block;
    margin-bottom:28px
  }
  .product-gallery .product-visual {
    aspect-ratio:1
  }
  .gallery-caption {
    font-size:9px;
    margin-top:7px
  }
  .product-information {
    padding:19px 0 0
  }
  .product-information>.eyebrow {
    font-size:9px;
    margin-bottom:8px
  }
  .product-information h1 {
    font-size:27px;
    letter-spacing:-.4px
  }
  .product-lead {
    font-size:11px;
    margin-top:9px
  }
  .price-line {
    display:flex;
    margin:15px 0
  }
  .detail-price {
    font-size:23px
  }
  .availability-note {
    font-size:9px;
    margin-top:0
  }
  .variant-label {
    font-size:11px
  }
  .purchase-form {
    gap:11px;
    margin-top:15px
  }
  .quantity-field input {
    height:42px
  }
  .purchase-button {
    font-size:12px;
    min-height:42px;
    gap:14px
  }
  .purchase-explanation {
    font-size:10px
  }
  .product-description {
    margin-top:20px;
    padding-top:18px
  }
  .product-description h2 {
    font-size:21px
  }
  .product-description>p {
    font-size:12px
  }
  .product-reviews {
    margin-top:18px;
    padding-block:17px
  }
  .product-reviews h2 {
    font-size:21px
  }
  .collection {
    padding-top:23px
  }
  .collection-heading h1 {
    font-size:29px
  }
  .collection-heading>p:last-child {
    font-size:11px
  }
  .collection-filters {
    flex-wrap:wrap;
    padding:13px;
    gap:13px
  }
  .collection-filters>div {
    flex-basis:100%;
    gap:4px
  }
  .collection-filters .button {
    width:100%
  }
  .results-heading {
    font-size:11px;
    margin-block:18px
  }
  .collection .product-grid {
    gap:23px 12px
  }
  .basket-page {
    padding-top:23px
  }
  .basket-heading {
    display:block;
    margin-bottom:18px
  }
  .basket-heading h1 {
    font-size:30px;
    margin-bottom:8px
  }
  .basket-preview {
    font-size:11px;
    padding:11px 13px;
    margin-bottom:15px
  }
  .basket-item {
    grid-template-columns:78px 1fr;
    gap:12px;
    padding-block:17px
  }
  .basket-item img {
    width:78px;
    height:90px
  }
  .basket-item h2 {
    font-size:18px;
    line-height:1.2
  }
  .basket-item-end {
    grid-column:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    text-align:left
  }
  .basket-item-end .remove-button {
    margin:0
  }
  .basket-item .item-price {
    font-size:11px
  }
  .basket-quantity-form {
    gap:6px;
    font-size:10px;
    margin-top:11px
  }
  .basket-quantity-form input {
    width:49px
  }
  .basket-quantity-form button {
    font-size:9px;
    padding-inline:8px
  }
  .basket-layout {
    gap:23px
  }
  .basket-summary {
    padding:20px
  }
  .basket-summary h2 {
    font-size:24px
  }
  .basket-empty {
    padding:40px 17px
  }
}
@media(max-width:360px) {
  .wordmark {
    font-size:25px
  }
  .brand-leaf {
    width:25px
  }
  .department-nav a {
    font-size:9px;
    padding-inline:4px
  }
  .feature-slide {
    min-height:337px
  }
  .feature-copy {
    padding-left:29px;
    width:76%;
    padding-top:37px
  }
  .feature-copy h1,.feature-copy h2 {
    font-size:33px;
    max-width:218px
  }
  .hero-description {
    font-size:15px;
    max-width:190px
  }
  .section-heading h2 {
    font-size:20px
  }
  .service-strip>div {
    gap:7px;
    padding-right:5px
  }
  .service-strip strong {
    font-size:9px
  }
  .service-strip span {
    font-size:8px
  }
  .product-card h3 {
    font-size:10px
  }
  .product-card .price {
    font-size:13px
  }
  .footer-links {
    gap:13px
  }
  .purchase-notice {
    max-width:149px;
    font-size:8px
  }
  .purchase-notice strong {
    font-size:8px
  }
}
.mobile-search {
  display:none;
}
@media(max-width:600px) {
  .topbar {
    display:none;
  }
  .header-main {
    position:relative;
    min-height:66px;
    padding-block:12px;
    grid-template-columns:minmax(0,1fr) 30px 36px;
    column-gap:10px;
    row-gap:0;
  }
  .header-main .header-search,.header-note {
    display:none;
  }
  .mobile-search {
    display:block;
  }
  .mobile-search summary {
    list-style:none;
    cursor:pointer;
    display:grid;
    place-items:center;
    width:30px;
    height:40px;
  }
  .mobile-search summary::-webkit-details-marker {
    display:none;
  }
  .mobile-search summary:focus-visible {
    outline:3px solid var(--colour-focus);
    outline-offset:3px;
  }
  .mobile-search summary svg {
    width:21px;
    height:21px;
  }
  .mobile-search-form {
    position:absolute;
    left:0;
    right:0;
    top:calc(100% - 1px);
    z-index:10;
    display:flex;
    background:white;
    padding:10px;
    border:1px solid var(--colour-line);
    border-radius:0 0 4px 4px;
    box-shadow:0 5px 10px #29292712;
  }
  .mobile-search:not([open]) .mobile-search-form {
    display:none;
  }
  .mobile-search-form input {
    min-width:0;
    width:100%;
    height:39px;
    padding:8px 10px;
    font-size:12px;
    border:1px solid #d5d3ce;
    border-radius:3px 0 0 3px;
  }
  .mobile-search-form button {
    padding:8px 13px;
    border:1px solid var(--colour-ink);
    border-radius:0 3px 3px 0;
    background:var(--colour-ink);
    color:white;
    font-size:11px;
  }
  .mobile-basket {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
    padding:7px 0;
    font-size:10px;
  }
  .mobile-basket svg {
    width:22px;
    height:22px;
  }
  .department-nav>.wrap {
    min-height:36px;
    justify-content:space-between;
    gap:0;
  }
  .department-nav a {
    padding-block:8px;
  }
  .department-nav .all-products-link {
    display:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}

/* Customer workflows share the storefront's compact form language. */
.button-secondary {
  background:white;
  border-color:#d8d4ce;
  color:var(--colour-ink);
}
.button-secondary:hover {
  background:var(--colour-soft);
  border-color:#aaa398;
}
.text-button {
  display:inline-block;
  background:none;
  border:0;
  padding:6px 0;
  font-size:11px;
  color:var(--colour-muted);
  text-decoration:underline;
  text-underline-offset:3px;
}
.footer-links {
  flex-wrap:wrap;
  row-gap:10px;
}
.footer-contact {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 24px;
  width:100%;
  font-size:12px;
  text-align:center;
}
.footer-contact a {
  min-width:0;
  padding:8px 0;
  overflow-wrap:anywhere;
  text-decoration:underline;
  text-underline-offset:3px;
}
.variant-selector {
  margin:17px 0 13px;
}
.variant-selector>label {
  display:block;
  font-size:11px;
  font-weight:600;
  margin-bottom:6px;
}
.variant-selector>div {
  display:flex;
  gap:8px;
}
.variant-selector select {
  min-width:0;
  width:100%;
  height:39px;
  background:white;
  border:1px solid #d8d4ce;
  border-radius:3px;
  padding:7px 10px;
  font-size:12px;
}
.variant-selector button {
  flex-shrink:0;
  font-size:10px;
  padding-inline:12px;
}
.variant-sku {
  color:var(--colour-muted);
  font-size:9px;
  margin-left:6px;
}
.inline-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:15px;
  margin-bottom:6px;
}
.inline-section-heading .text-link {
  font-size:10px;
}
.customer-review {
  border-top:1px solid var(--colour-line);
  padding:13px 0 2px;
  margin-top:10px;
}
.review-meta {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  font-size:11px;
  gap:12px;
}
.review-meta>span {
  color:var(--colour-accent-hover);
  white-space:nowrap;
}
.customer-review h3 {
  font-size:12px;
  margin:7px 0 3px;
}
.customer-review>p {
  font-size:11px;
  line-height:1.6;
  color:var(--colour-ink);
}
.customer-review .review-provenance {
  font-size:9px;
  color:var(--colour-muted);
  margin-top:8px;
}
.delivery-checker select {
  width:100%;
  min-width:0;
  border:1px solid #d9d6cf;
  border-right:0;
  border-radius:3px 0 0 3px;
  background:white;
  font-size:11px;
  padding:7px 9px;
}
.delivery-unavailable {
  font-size:11px;
  color:var(--colour-muted);
}
.checkout-page,.order-page,.orders-page,.return-page,.payment-page {
  padding-block:26px 46px;
}
.journey-steps {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  align-items:center;
  font-size:11px;
  color:var(--colour-muted);
  margin:0 0 25px;
}
.journey-steps [aria-current] {
  color:var(--colour-accent-hover);
  font-weight:600;
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:24px;
}
.page-heading h1 {
  margin-top:9px;
  font-size:36px;
  letter-spacing:-.8px;
}
.page-heading p:not(.eyebrow) {
  font-size:12px;
  color:var(--colour-muted);
  margin-top:10px;
  line-height:1.55;
}
.preview-notice {
  border:1px solid #e2d3c4;
  background:#faf5ef;
  border-radius:3px;
  padding:12px 15px;
  font-size:11px;
  line-height:1.6;
  margin-bottom:23px;
}
.checkout-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:48px;
  align-items:start;
}
.form-section {
  border-top:1px solid var(--colour-line);
  padding:23px 0 6px;
}
.form-section h2 {
  font-size:24px;
  margin-bottom:21px;
}
.form-section h2>span {
  font:500 10px/1 var(--font-body);
  letter-spacing:1px;
  color:var(--colour-accent);
  margin-right:12px;
  vertical-align:middle;
}
.form-field-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:19px;
}
.store-field {
  min-width:0;
  margin-bottom:19px;
}
.field-wide {
  grid-column:1/-1;
}
.store-field>label {
  display:block;
  font-size:12px;
  font-weight:500;
  margin-bottom:7px;
}
.field-optional {
  font-size:10px;
  color:var(--colour-muted);
  font-weight:400;
}
.store-field input:not([type=checkbox]):not([type=radio]),.store-field select,.store-field textarea {
  width:100%;
  min-width:0;
  border:1px solid #d8d4ce;
  border-radius:3px;
  background:white;
  padding:10px 12px;
  font-size:13px;
  line-height:1.45;
  min-height:42px;
}
.store-field textarea {
  min-height:120px;
  resize:vertical;
}
.store-field input[type=checkbox],.store-field input[type=radio] {
  accent-color:var(--colour-accent);
  width:17px;
  height:17px;
}
.store-field-error input,.store-field-error select,.store-field-error textarea {
  border-color:#a3432b!important;
}
.field-help {
  color:var(--colour-muted);
  font-size:10px;
  line-height:1.6;
  margin-top:6px;
}
.field-errors {
  list-style:none;
  margin:6px 0 0;
  padding:0;
  font-size:11px;
  color:#943922;
}
.form-error-summary {
  border:1px solid #c68369;
  border-left:3px solid #a3432b;
  background:#fff9f6;
  padding:17px 20px;
  margin-bottom:22px;
  font-size:12px;
}
.form-error-summary h2 {
  font-size:21px;
  margin:0 0 10px;
}
.form-error-summary ul {
  margin:0;
  padding-left:18px;
}
.form-error-summary li+li {
  margin-top:5px;
}
.form-error-summary a {
  text-decoration:underline;
}
.checkout-privacy {
  color:var(--colour-muted);
  font-size:11px;
  line-height:1.6;
  margin:1px 0 15px;
}
.checkout-summary {
  background:var(--colour-soft);
  border:1px solid var(--colour-line);
  border-radius:4px;
  padding:25px;
}
.checkout-summary>h2 {
  font-size:26px;
  margin-bottom:19px;
  letter-spacing:-.35px;
}
.checkout-items {
  border-top:1px solid var(--colour-line);
}
.checkout-item {
  display:flex;
  gap:10px;
  align-items:center;
  border-bottom:1px solid var(--colour-line);
  padding:13px 0;
  font-size:11px;
}
.checkout-item img {
  width:54px;
  height:60px;
  object-fit:cover;
  border-radius:3px;
  flex-shrink:0;
}
.checkout-item>div {
  flex:1;
  min-width:0;
}
.checkout-item strong {
  display:block;
  font-size:11px;
  font-weight:500;
  line-height:1.4;
}
.checkout-item span {
  display:block;
  color:var(--colour-muted);
  font-size:9px;
  line-height:1.5;
  margin-top:5px;
}
.checkout-item b {
  font-size:11px;
  font-weight:500;
  white-space:nowrap;
}
.order-totals {
  font-size:12px;
  margin:20px 0 17px;
}
.order-totals>div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:11px;
}
.order-totals dt,.order-totals dd {
  margin:0;
}
.order-totals .order-grand-total {
  border-top:1px solid #dcd8d0;
  margin-top:15px;
  padding-top:15px;
  font-size:17px;
  font-weight:600;
}
.quote-note {
  font-size:11px;
  color:#655b4f;
  line-height:1.6;
  margin:17px 0;
}
.checkout-primary {
  width:100%;
  min-height:42px;
  font-size:12px;
  gap:12px;
}
.quote-refresh {
  display:block;
  margin:7px auto 0;
}
.checkout-fine-print {
  font-size:10px;
  color:var(--colour-muted);
  line-height:1.6;
  margin-top:12px;
}
.order-reference {
  overflow-wrap:anywhere;
  font-size:11px;
  color:var(--colour-muted);
}
.state-label {
  display:inline-block;
  background:#f4eee6;
  border:1px solid #e7dacc;
  border-radius:3px;
  color:#795439;
  font-size:11px;
  line-height:1.4;
  padding:6px 10px;
  white-space:nowrap;
}
.order-status-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-block:1px solid var(--colour-line);
  padding:18px 0;
  margin-bottom:29px;
}
.order-status-grid>div {
  padding:0 20px;
  border-right:1px solid var(--colour-line);
}
.order-status-grid>div:first-child {
  padding-left:0;
}
.order-status-grid>div:last-child {
  border-right:0;
}
.order-status-grid span {
  display:block;
  font-size:10px;
  color:var(--colour-muted);
  margin-bottom:5px;
}
.order-status-grid strong {
  font-size:13px;
  font-weight:500;
}
.order-items>h2,.order-address>h2,.order-help>h2 {
  font-size:24px;
  margin-bottom:16px;
}
.order-item {
  border-bottom:1px solid var(--colour-line);
  display:flex;
  gap:20px;
  justify-content:space-between;
  align-items:center;
  padding:15px 0;
}
.order-item h3 {
  font-size:14px;
  font-weight:500;
  margin-bottom:4px;
}
.order-item p {
  font-size:11px;
  color:var(--colour-muted);
}
.order-item span {
  font-size:10px;
  color:var(--colour-muted);
}
.order-item>strong {
  font-size:13px;
  white-space:nowrap;
}
.order-address {
  padding:25px 0;
  border-bottom:1px solid var(--colour-line);
}
.order-address>p {
  font-size:12px;
  line-height:1.8;
  margin-top:10px;
}
.order-help {
  padding-top:25px;
}
.order-help-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:13px;
}
.order-help-actions .button {
  font-size:11px;
  min-height:37px;
}
.order-help>p {
  font-size:11px;
  color:var(--colour-muted);
  line-height:1.6;
}
.simulation-start {
  margin-top:15px;
  padding-top:16px;
  border-top:1px solid #dcd8d0;
}
.customer-order-list {
  border-top:1px solid var(--colour-line);
}
.customer-order-card {
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding:25px 0;
  border-bottom:1px solid var(--colour-line);
}
.customer-order-card h2 {
  margin:10px 0 7px;
  font-size:26px;
}
.customer-order-card p:last-child {
  font-size:11px;
  color:var(--colour-muted);
  margin-top:10px;
}
.customer-order-card>div:last-child {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:14px;
}
.customer-order-card strong {
  font-size:20px;
  font-weight:500;
}
.customer-order-card .button {
  font-size:11px;
}
.return-request-form {
  max-width:690px;
  border:1px solid var(--colour-line);
  border-radius:4px;
  padding:26px;
}
.form-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:23px;
}
.payment-panel {
  max-width:660px;
  margin:35px auto 10px;
  border:1px solid var(--colour-line);
  border-radius:4px;
  padding:34px;
}
.payment-panel>h1 {
  font-size:36px;
  letter-spacing:-.7px;
  margin:11px 0 17px;
}
.payment-amount {
  font-size:30px;
  font-weight:500;
}
.payment-reference {
  font-size:10px;
  color:var(--colour-muted);
  overflow-wrap:anywhere;
  margin:7px 0 22px;
}
.payment-state {
  border-block:1px solid var(--colour-line);
  padding:22px 0;
  margin:23px 0;
}
.payment-state>h2 {
  font-size:26px;
  margin:15px 0 10px;
}
.payment-state>p,.payment-review-note {
  font-size:12px;
  line-height:1.6;
  color:var(--colour-muted);
}
.payment-review-note {
  margin:0 0 20px;
}
.payment-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.simulation-controls {
  background:#faf5ef;
  border:1px solid #e7dacc;
  border-radius:4px;
  padding:20px;
  margin-top:25px;
}
.simulation-controls h2 {
  font-size:23px;
  margin-bottom:8px;
}
.simulation-controls>p {
  font-size:11px;
  line-height:1.5;
  color:var(--colour-muted);
  margin-bottom:15px;
}
.simulation-controls>div {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.simulation-controls .button {
  font-size:11px;
  padding-inline:12px;
}
@media(max-width:1000px) {
  .checkout-layout {
    grid-template-columns:minmax(0,1fr) 345px;
    gap:28px;
  }
  .checkout-summary {
    padding:20px;
  }
  .checkout-item {
    flex-wrap:wrap;
  }
  .checkout-item b {
    margin-left:auto;
  }
}
@media(max-width:760px) {
  .checkout-layout {
    grid-template-columns:1fr;
    gap:23px;
  }
  .checkout-summary {
    padding:24px;
  }
  .checkout-item {
    flex-wrap:nowrap;
  }
  .checkout-item img {
    width:60px;
    height:65px;
  }
  .checkout-item b {
    margin-left:0;
  }
  .page-heading {
    align-items:flex-start;
  }
  .page-heading h1 {
    font-size:33px;
  }
  .inline-section-heading {
    flex-wrap:wrap;
    gap:0 10px;
  }
}
@media(max-width:560px) {
  .checkout-page,.order-page,.orders-page,.return-page,.payment-page {
    padding-block:19px 30px;
  }
  .journey-steps {
    gap:11px;
    margin-bottom:23px;
    font-size:9px;
  }
  .page-heading {
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:20px;
  }
  .page-heading h1 {
    font-size:31px;
  }
  .page-heading p:not(.eyebrow) {
    font-size:11px;
  }
  .preview-notice {
    padding:11px 12px;
    font-size:10px;
    margin-bottom:19px;
  }
  .form-section {
    padding-top:19px;
  }
  .form-section h2 {
    font-size:23px;
    margin-bottom:18px;
  }
  .form-field-grid {
    grid-template-columns:1fr;
  }
  .store-field {
    margin-bottom:16px;
  }
  .store-field>label {
    font-size:11px;
  }
  .store-field input:not([type=checkbox]):not([type=radio]),.store-field select,.store-field textarea {
    font-size:16px;
  }
  .checkout-summary {
    padding:20px 17px;
  }
  .checkout-summary>h2 {
    font-size:25px;
  }
  .checkout-item {
    gap:9px;
  }
  .checkout-item img {
    width:49px;
    height:55px;
  }
  .checkout-item strong,.checkout-item b {
    font-size:10px;
  }
  .order-totals {
    font-size:11px;
  }
  .order-totals .order-grand-total {
    font-size:17px;
  }
  .checkout-primary {
    min-height:44px;
    font-size:12px;
  }
  .order-status-grid {
    grid-template-columns:1fr 1fr;
    row-gap:16px;
    padding-block:16px;
    margin-bottom:23px;
  }
  .order-status-grid>div {
    padding-inline:10px;
  }
  .order-status-grid>div:nth-child(2) {
    border-right:0;
  }
  .order-status-grid>div:last-child {
    grid-column:1/-1;
    padding-left:0;
  }
  .order-status-grid strong {
    font-size:12px;
  }
  .order-item {
    gap:14px;
  }
  .order-item h3 {
    font-size:12px;
  }
  .order-item>strong {
    font-size:12px;
  }
  .order-item p,.order-item span {
    font-size:9px;
  }
  .order-help-actions {
    gap:9px;
  }
  .order-help-actions .button {
    font-size:10px;
    padding-inline:11px;
  }
  .customer-order-card {
    flex-direction:column;
    gap:15px;
    padding-block:22px;
  }
  .customer-order-card>div:last-child {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .customer-order-card strong {
    font-size:19px;
  }
  .return-request-form {
    padding:19px 15px;
  }
  .payment-panel {
    margin:15px auto 0;
    padding:24px 18px;
  }
  .payment-panel>h1 {
    font-size:31px;
  }
  .payment-amount {
    font-size:28px;
  }
  .payment-state>h2 {
    font-size:24px;
  }
  .payment-state>p,.payment-review-note {
    font-size:11px;
  }
  .payment-actions {
    gap:10px;
  }
  .payment-actions>* {
    width:100%;
  }
  .payment-actions .button {
    width:100%;
  }
  .simulation-controls {
    padding:17px 13px;
  }
  .simulation-controls h2 {
    font-size:21px;
  }
  .simulation-controls>div {
    display:block;
  }
  .simulation-controls form+form {
    margin-top:10px;
  }
  .simulation-controls .button {
    width:100%;
    min-height:41px;
  }
  .delivery-checker select {
    font-size:10px;
    padding-inline:7px;
  }
  .delivery-unavailable {
    grid-column:1/-1;
    font-size:10px;
  }
  .variant-selector select {
    font-size:12px;
  }
}
.order-tracking,.order-returns {
  padding:24px 0;
  border-bottom:1px solid var(--colour-line);
}
.order-tracking h2,.order-returns h2 {
  font-size:24px;
  margin-bottom:14px;
}
.order-tracking p,.order-returns article>p,.order-returns li {
  font-size:12px;
  line-height:1.65;
  margin-top:6px;
}
.order-returns article+article {
  border-top:1px solid var(--colour-line);
  margin-top:17px;
  padding-top:17px;
}
.order-returns ul {
  padding-left:17px;
  margin:8px 0;
}
.homepage-review-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.homepage-review-list .customer-review {
  padding:15px 0;
  margin-top:0;
}
.review-product-link {
  display:inline-block;
  font-size:10px;
  margin-top:9px;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:760px) {
  .homepage-review-list {
    grid-template-columns:1fr;
    gap:7px;
  }
}
.return-quantity-help {
  font-size:11px;
  color:var(--colour-muted);
  line-height:1.6;
  margin-bottom:20px;
}

/* Shopping controls retain the compact Everyday Edit composition. */
.header-main {
  grid-template-columns:280px minmax(0,1fr) auto;
}
.header-account {
  display:flex;
  align-items:center;
  gap:8px;
  justify-self:end;
  min-height:40px;
  font-size:11px;
  white-space:nowrap;
}
.header-account svg {
  width:20px;
  height:20px;
}
.card-details {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:34px;
  margin-bottom:5px;
  font-size:11px;
  text-decoration:underline;
  text-underline-offset:3px;
}
.card-chat {
  margin-top:12px;
}
.chat-group-caption {
  margin-bottom:3px;
  color:var(--colour-muted);
  font-size:10px;
  line-height:1.4;
}
.product-chat-icons {
  display:flex;
  align-items:center;
  gap:4px;
  position:relative;
  width:fit-content;
  max-width:100%;
}
.chat-icon-control {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent;
  color:var(--colour-ink);
  text-decoration:none;
  transition:background-color .15s ease,border-color .15s ease;
}
.chat-icon-control:hover,.chat-icon-control:focus {
  background:var(--colour-soft);
  border-color:var(--colour-line);
  text-decoration:none;
}
.chat-icon-control .chat-brand-icon {
  width:22px;
  height:22px;
  flex-basis:22px;
  margin:6px;
}
.website-chat-icon {
  width:23px;
  height:23px;
  stroke-width:1.5;
}
.chat-icon-control[aria-disabled=true] {
  cursor:help;
}
.chat-icon-control[aria-disabled=true] .chat-brand-icon {
  opacity:.42;
}
.chat-icon-hint {
  position:absolute;
  bottom:100%;
  left:0;
  z-index:6;
  width:max-content;
  max-width:100%;
  padding:7px 9px;
  border-radius:4px;
  background:var(--colour-ink);
  color:var(--colour-paper);
  box-shadow:0 2px 7px #29292716;
  font:11px/1.4 var(--font-body);
  text-align:left;
  visibility:hidden;
  opacity:0;
  transition:opacity .15s ease;
}
.chat-icon-control:hover .chat-icon-hint,.product-chat-icons:not(:hover) .chat-icon-control:focus .chat-icon-hint,.chat-icon-control.chat-hint-open .chat-icon-hint {
  visibility:visible;
  opacity:1;
}
.product-chat-icons.tooltip-dismissed .chat-icon-hint {
  visibility:hidden;
  opacity:0;
}
.product-chat-panel {
  padding:15px 0;
  margin-top:12px;
  border-top:1px solid var(--colour-line);
  border-bottom:1px solid var(--colour-line);
}
.product-chat-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 18px;
}
.product-chat-heading>div:first-child {
  flex:1;
  min-width:105px;
}
.product-chat-heading .product-chat-icons {
  flex:0 0 auto;
}
.product-chat-heading h2 {
  font-size:18px;
  line-height:1.25;
}
.product-chat-heading p {
  margin-top:4px;
  color:var(--colour-muted);
  font-size:11px;
}
.card-chat-context,.product-chat-context {
  margin-top:10px;
  font-size:11px;
  line-height:1.6;
  color:var(--colour-muted);
}
.card-chat-context summary,.product-chat-context summary {
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.card-chat-context p,.product-chat-context p {
  margin-top:7px;
  user-select:text;
  overflow-wrap:anywhere;
}
.payment-guide {
  margin:20px 0;
  padding-top:18px;
  border-top:1px solid var(--colour-line);
}
.payment-guide h2,.basket-summary .payment-guide h2 {
  margin:0 0 12px;
  font-size:18px;
  line-height:1.2;
}
.payment-choice-summary {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  margin:0;
  padding:0;
  list-style:none;
}
.payment-choice-summary li {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:3px 7px;
  font-size:12px;
  line-height:1.5;
}
.payment-choice-status {
  color:var(--colour-muted);
  font-size:10px;
  font-weight:400;
}
.payment-choice-summary .payment-choice-status::before {
  content:"· ";
}
.payment-guide-details {
  margin-top:9px;
}
.payment-guide-details summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding-block:10px;
  list-style:none;
  cursor:pointer;
  font-size:12px;
  line-height:1.4;
}
.payment-guide-details summary::-webkit-details-marker {
  display:none;
}
.payment-guide-details summary>span {
  font-size:18px;
}
.payment-guide-details[open] summary>span {
  transform:rotate(45deg);
}
.payment-guide-details summary:focus-visible {
  outline:3px solid var(--colour-focus);
  outline-offset:3px;
}
.payment-choice-descriptions,.basket-summary .payment-choice-descriptions {
  margin:0;
}
.payment-choice-descriptions>div,.basket-summary .payment-choice-descriptions>div {
  display:block;
  margin-bottom:13px;
}
.payment-choice-descriptions dt {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:3px 8px;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
}
.payment-choice-descriptions dd {
  margin:4px 0 0;
  font-size:11px;
  line-height:1.65;
  color:var(--colour-muted);
}
.payment-guide-steps {
  padding-left:17px;
  margin:16px 0 0;
  font-size:11px;
  line-height:1.65;
}
.payment-guide-steps li+li {
  margin-top:7px;
}
.payment-guide-note,.basket-summary .payment-guide-note {
  margin-top:12px;
  font-size:11px;
  line-height:1.65;
  color:var(--colour-muted);
}
.payment-guide-compact {
  padding-top:0;
  border-top:0;
}
.product-tabs {
  margin-top:27px;
}
.product-tab-list {
  display:flex;
  border-bottom:1px solid var(--colour-line);
  gap:23px;
}
.product-tab-list a {
  padding:12px 1px;
  margin-bottom:-1px;
  border-bottom:3px solid transparent;
  font-size:13px;
  font-weight:500;
  line-height:1.3;
  text-decoration:none;
}
.product-tab-list a:hover {
  border-bottom-color:var(--colour-line);
}
.product-tab-list a[aria-selected=true] {
  border-bottom-color:var(--colour-accent);
  color:var(--colour-ink);
}
.product-tab-panel {
  margin:0;
  padding:22px 0 0;
  border:0;
}
.product-tab-panel:focus-visible {
  outline:3px solid var(--colour-focus);
  outline-offset:5px;
}
.basket-feedback {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:30;
  width:min(460px,calc(100vw - 44px));
  margin:0;
  padding:17px 18px 14px;
  border:1px solid var(--colour-line);
  border-top:3px solid var(--colour-accent);
  border-radius:4px;
  background:var(--colour-paper);
  box-shadow:0 6px 25px #29292726;
  font-size:13px;
  line-height:1.5;
}
.basket-feedback.has-error {
  border-top-color:#a43d24;
}
.basket-feedback [role=alert]:not(:empty) {
  color:#87311d;
}
.basket-feedback-actions {
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:12px;
}
.basket-feedback-actions>a:first-child {
  text-decoration:underline;
  text-underline-offset:3px;
}
.basket-feedback-actions .button {
  min-height:36px;
  padding:7px 13px;
}
.basket-feedback-actions button {
  margin-left:auto;
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  font-size:25px;
}
.native-basket-actions {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:8px;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:1100px) {
  .header-main {
    grid-template-columns:240px minmax(0,1fr) auto;
  }
}
@media(max-width:800px) {
  .header-main {
    grid-template-columns:220px minmax(0,1fr) auto;
    gap:14px;
  }
  .header-account span {
    display:none;
  }
}
@media(max-width:600px) {
  .topbar {
    display:none;
  }
  .topbar.has-preview {
    display:block;
  }
  .topbar-inner {
    min-height:23px;
    justify-content:center;
  }
  .topbar-inner>span,.topbar-inner>div>a {
    display:none;
  }
  .topbar-inner>div {
    justify-content:center;
  }
  .demo-label {
    font-size:9px;
  }
  .header-main {
    grid-template-columns:minmax(0,1fr) 26px 30px 32px;
    gap:7px;
  }
  .header-account {
    justify-self:center;
  }
  .header-main .brand-words {
    font-size:20px;
  }
  .header-main .brand-words .brand-subtitle {
    font-size:7px;
    letter-spacing:.25px;
  }
  .header-main .shared-brand-mark {
    width:32px;
    height:32px;
  }
  .basket-feedback {
    right:12px;
    bottom:12px;
    width:calc(100vw - 24px);
    padding:14px 15px 11px;
    font-size:12px;
  }
  .basket-feedback-actions {
    gap:15px;
    margin-top:9px;
  }
  .card-add,.card-details {
    min-height:44px;
    font-size:12px;
  }
  .product-tab-list {
    gap:25px;
  }
  .product-tab-list a {
    font-size:12px;
  }
}
@media(max-width:380px) {
  .header-main .brand {
    gap:5px;
  }
  .header-main .brand-words {
    font-size:18px;
    letter-spacing:-.7px;
  }
  .header-main .shared-brand-mark {
    width:28px;
    height:28px;
  }
  .header-main .brand-words .brand-subtitle {
    font-size:6.5px;
    letter-spacing:0;
  }
}

@media(min-width:801px) and (max-width:950px) {
  .product-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:950px),(pointer:coarse) {
  .card-add,.card-details {
    min-height:44px;
    font-size:12px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .chat-icon-control,.chat-icon-hint {
    transition:none;
  }
}

/* Guest ordering keeps the saved basket intact. */
.basket-checkout-choices{display:grid;gap:10px;margin:20px 0 0}
.basket-checkout-choices .button{margin:0;min-height:46px;font-size:12px}
.basket-external-checkout{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 13px;box-sizing:border-box;border:1px solid #d5d2cb;border-radius:5px;background:#fff;color:var(--colour-ink);font-size:12px;font-weight:600;text-align:center;text-decoration:none;line-height:1.5}
.basket-external-checkout:hover{background:#faf9f5;border-color:#9a978f}
.basket-external-checkout .chat-brand-icon{width:21px;height:21px;flex:0 0 21px;margin:0}
.basket-summary .basket-guest-label{font-size:11px;line-height:1.5;text-align:center;margin:2px 0 0}
.basket-summary .basket-account-hint{margin:17px 0 0;font-size:11px;line-height:1.7}
.basket-account-hint a{color:var(--colour-ink);text-underline-offset:3px}
.basket-summary .payment-guide{border-top:1px solid var(--colour-line);padding-top:18px;margin:20px 0 0}
.basket-checkout-error{padding:12px 15px;border:1px solid #dfc3b3;border-radius:5px;background:#fcf3ee;font-size:12px;line-height:1.6;color:#7c422e;margin:15px 0}
.basket-handoff-channel{display:flex;align-items:center;gap:11px;margin:0 28px;padding:0 0 19px;border-bottom:1px solid #e9e6df}
.basket-handoff-channel>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e9e6df;border-radius:9px}
.basket-handoff-channel .chat-brand-icon{width:24px;height:24px;margin:0}
.basket-handoff-channel p{margin:0;font-size:12px;font-weight:600}
.basket-handoff-intro,.basket-handoff-loading{margin:0 0 19px;font-size:13px;line-height:1.7;color:var(--colour-muted)}
.basket-handoff-test{margin:0 0 17px;padding:10px 12px;border-radius:6px;background:#f7f0e6;color:#735839;font-size:11px;line-height:1.6}
.basket-handoff-unavailable{margin:0 0 18px;padding:13px 15px;border:1px solid #e5dccb;border-radius:7px;background:#faf7f1;color:#65553e}
.basket-handoff-unavailable p{font-size:12px;line-height:1.65;margin:0}
.basket-handoff-warnings{font-size:12px;line-height:1.7;color:#735839;padding-left:18px;margin:0 0 19px}
.basket-handoff-warnings li+li{margin-top:7px}
.basket-handoff-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:0 0 12px;border-bottom:1px solid #e9e6df}
.basket-handoff-list-heading h3{font-family:var(--font-editorial);font-weight:400;font-size:22px;margin:0;line-height:1.3}
.basket-handoff-list-heading span{font-size:11px;white-space:nowrap;color:var(--colour-muted)}
.basket-handoff-items{list-style:none;padding:0;margin:0}
.basket-handoff-items li{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:17px 0;border-bottom:1px solid #e9e6df}
.basket-handoff-items li>div{min-width:0;flex:1}
.basket-handoff-items a,.basket-handoff-items .handoff-product-name{display:block;font-size:13px;line-height:1.5;color:var(--colour-ink);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.basket-handoff-items a:hover{text-decoration:underline;text-underline-offset:3px}
.basket-handoff-items small{display:block;font-size:11px;line-height:1.6;color:var(--colour-muted);margin:5px 0 0;overflow-wrap:anywhere}
.basket-handoff-items p{font-size:12px;line-height:1.5;color:var(--colour-muted);margin:8px 0 0}
.basket-handoff-items strong{font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap}
.basket-handoff-total{margin:16px 0 0}
.basket-handoff-total>div{display:flex;justify-content:space-between;gap:14px;font-size:14px;font-weight:600;line-height:1.5}
.basket-handoff-total dt,.basket-handoff-total dd{margin:0}
.basket-handoff-delivery{font-size:11px;line-height:1.7;color:var(--colour-muted);margin:9px 0 0}
.basket-handoff-step{font-size:12px;line-height:1.7;margin:23px 0 14px}
.basket-handoff-share-actions{display:grid;gap:10px}
.basket-handoff-share-actions .chat-secondary{margin:0}
.basket-handoff-text{margin:13px 0 0}
.basket-handoff-text summary{display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:44px;font-size:11px;color:var(--colour-muted);cursor:pointer;list-style:none}
.basket-handoff-text summary::-webkit-details-marker{display:none}
.basket-handoff-text summary span{font-size:18px}
.basket-handoff-text[open] summary span{transform:rotate(45deg)}
.basket-handoff-text textarea{box-sizing:border-box;width:100%;max-width:100%;padding:12px 13px;border:1px solid #d5d3cd;border-radius:7px;font:inherit;font-size:12px;line-height:1.75;color:var(--colour-ink);background:#faf9f6;resize:vertical;min-height:150px}
.basket-handoff-copy-status:empty{display:none}
.basket-handoff-copy-status{font-size:12px;line-height:1.6;color:var(--colour-muted);margin:13px 0}
.basket-handoff-boundary{font-size:11px;line-height:1.7;color:var(--colour-muted);margin:23px 0 9px;padding-top:17px;border-top:1px solid #e9e6df}
.basket-handoff-website{font-size:11px;line-height:1.65;color:var(--colour-ink);text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.basket-handoff-back{min-height:40px;border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}
.basket-handoff-empty{font-size:13px;line-height:1.7;margin:20px 0;color:var(--colour-muted)}
.basket-handoff-page{max-width:620px;padding-top:28px;padding-bottom:65px}
.basket-handoff-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0 28px}
.basket-handoff-page-heading h1{font-family:var(--font-editorial);font-weight:400;font-size:clamp(28px,5vw,37px);line-height:1.15;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.basket-handoff-page-heading>span{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border:1px solid var(--colour-line);border-radius:11px}
.basket-handoff-page-heading .chat-brand-icon{width:29px;height:29px;margin:0}
.basket-handoff-page .basket-handoff-content{border:1px solid #e9e6df;border-radius:12px;padding:25px}
.basket-handoff-page [hidden]{display:none!important}
.basket-handoff-page :is(button,a,textarea,summary):focus-visible,.basket-external-checkout:focus-visible{outline:2px solid var(--colour-focus);outline-offset:3px}
@media(max-width:600px){.basket-handoff-channel{margin-inline:21px}.basket-handoff-page .basket-handoff-content{padding:20px 17px}.basket-handoff-page{padding-top:18px;padding-bottom:35px}.basket-handoff-page-heading{margin-top:18px}.basket-handoff-text textarea{font-size:16px}.basket-handoff-share-actions .chat-primary,.basket-handoff-share-actions .chat-secondary{font-size:13px}.basket-external-checkout{font-size:13px}}
@media(max-width:350px){.basket-handoff-channel{margin-inline:16px}.basket-handoff-items li{gap:10px}.basket-handoff-items a,.basket-handoff-items .handoff-product-name{font-size:12px}.basket-handoff-items strong{font-size:11px}}

#checkout-options{scroll-margin-top:24px}
.basket-handoff-share-actions .basket-handoff-copy-optional{order:1;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px;font-weight:400;min-height:40px;padding-block:8px}
.basket-checkout-error[hidden]{display:none}
