/* ==========================================================================
   Tobias Oliver — retail page stylesheet.
   Loaded ONLY on the four retail page templates. The reset below is scoped
   to the `to-retail` body class (added via body_class in functions.php) so
   it cannot escape onto parent-theme templates.
   ========================================================================== */

  /* :where() carries ZERO specificity, so these match the original global
     `*` / `body` / `a` rules exactly — (0,0,1) for the link rules — while
     still being confined to retail templates. Scoping them the obvious way
     (body.to-retail a) raised specificity above `.to-catnav a` and turned
     the whole navigation near-black on near-black. Fixed v1.3.7. */
  :where(body.to-retail), :where(body.to-retail) * { box-sizing: border-box; }
  body.to-retail { margin: 0; background: #F9F7F6; color: #3A2E2C; font-family: "NeueHaasUnicaPro","Neue Haas Unica Pro", "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
  :where(body.to-retail) a { color: #3A2E2C; text-decoration: none; }
  :where(body.to-retail) a:hover { color: #906631; }

.to-herocta { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; background: #49261D; color: #F9F7F6; border: 1px solid #BB9464; border-radius: 2px; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; transition: background 150ms ease, color 150ms ease, border-color 150ms ease; }

  .to-herocta .to-cta-arrow { color: #BB9464; transition: color 150ms ease, transform 200ms ease; }

  .to-herocta:hover { background: #BB9464; color: #49261D; border-color: #BB9464; }

  .to-herocta:hover .to-cta-arrow { color: #49261D; transform: translateX(3px); }

  
  .to-viewall { display: inline-flex; align-items: center; gap: 8px; color: #3A2E2C; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; text-decoration: none; border-bottom: 1px solid #AFA39D; padding-bottom: 3px; white-space: nowrap; transition: color 150ms ease, border-color 150ms ease; }

  .to-viewall:hover { color: #906631; border-color: #906631; }

  .to-catgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }

  .to-cat-tile { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; text-decoration: none; background: #F1ECE8; }

  .to-cat-media { position: absolute; inset: 0; }

  .to-cat-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 550ms cubic-bezier(0.2,0.6,0.2,1); }

  .to-cat-tile:hover .to-cat-media img, .to-cat-tile:focus-visible .to-cat-media img { transform: scale(1.05); }

  .to-cat-grad { position: absolute; left: 0; right: 0; bottom: 0; height: 42%; background: linear-gradient(to top, rgba(27,24,24,0.6), rgba(27,24,24,0)); pointer-events: none; }

  .to-cat-label { position: absolute; left: 20px; right: 20px; bottom: 18px; display: flex; align-items: center; gap: 8px; color: #F9F7F6; font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase; }

  .to-cat-arrow { flex-shrink: 0; color: #F9F7F6; transform: translateX(0); transition: color 220ms ease, transform 220ms ease; }

  .to-cat-tile:hover .to-cat-arrow, .to-cat-tile:focus-visible .to-cat-arrow { color: #BB9464; transform: translateX(5px); }

  .to-cat-tile:focus-visible { outline: 2px solid #BB9464; outline-offset: -2px; }
@media (max-width: 1024px) {
 .to-catgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {

    .to-cat-label { left: 14px; right: 14px; bottom: 14px; font-size: 13px; }

    .to-cat-arrow { color: #BB9464; transform: translateX(0); }

    .to-cat-tile:hover .to-cat-arrow, .to-cat-tile:focus-visible .to-cat-arrow { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
 .to-cat-media img, .to-cat-arrow { transition: none; }
}

  
  .to-nn { background: #F4EFEA; }

  .to-nn-rail { display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 14px; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 14px; margin: -14px; }

  .to-nn-rail::-webkit-scrollbar { display: none; }

  .to-card { position: relative; flex: 0 0 calc((100% - 84px) / 4); scroll-snap-align: start; text-decoration: none; color: inherit; display: block; }

  .to-card::after { content: ""; position: absolute; inset: -10px; border: 0 solid #BB9464; pointer-events: none; z-index: 2; transition: border-width 200ms ease; }

  .to-card:hover::after { border-width: 1px; }

  .to-card:focus-within::after, .to-card:focus-visible::after { border-width: 2px; }

  .to-card-media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #EDE6DF; }

  .to-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

  .to-card-media .to-card-img2 { opacity: 0; transition: opacity 400ms ease; }

  .to-card:hover .to-card-img2, .to-card:focus-visible .to-card-img2 { opacity: 1; }

  .to-card:focus-within, .to-card:focus-visible { outline: none; }
@media (hover: none) {
 .to-card::after { display: none; }
}

  .to-card-flag { position: absolute; top: 14px; left: 14px; background: #F4EFEA; color: #3A2E2C; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; padding: 5px 9px; }

  .to-card-flag.is-sale { background: #49261D; color: #F9F7F6; }

  .to-card-wish { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; background: rgba(249,247,246,0.9); border: none; color: #3A2E2C; cursor: pointer; opacity: 0; transition: opacity 200ms ease, color 150ms ease; }

  .to-card:hover .to-card-wish, .to-card:focus-within .to-card-wish { opacity: 1; }

  .to-card-wish:hover { color: #906631; }

  .to-card-wish:focus-visible { opacity: 1; outline: 2px solid #BB9464; outline-offset: 2px; }

  .to-card-quick { position: absolute; left: 14px; right: 14px; bottom: 14px; overflow: hidden; background: #BB9464; color: #49261D; border: none; padding: 11px 0; font-family: inherit; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; cursor: pointer; opacity: 0; transform: translateY(6px); transition: opacity 220ms ease, transform 220ms ease; }

  .to-card-quick > span { position: relative; z-index: 1; transition: color 220ms ease; }

  .to-card-quick::before { content: ""; position: absolute; inset: 0; background: #49261D; transform: scaleX(0); transform-origin: left center; transition: transform 300ms cubic-bezier(0.2,0.6,0.2,1); z-index: 0; pointer-events: none; }

  .to-card:hover .to-card-quick, .to-card:focus-within .to-card-quick { opacity: 1; transform: translateY(0); }

  .to-card-quick:hover::before, .to-card-quick:focus-visible::before { transform: scaleX(1); }

  .to-card-quick:hover > span, .to-card-quick:focus-visible > span { color: #F9F7F6; }

  .to-card-quick:focus-visible { opacity: 1; transform: translateY(0); outline: 2px solid #BB9464; outline-offset: 2px; }

  .to-card-quick[disabled] { cursor: default; }

  .to-card-quick[disabled]::before { transform: scaleX(1); }

  .to-card-quick[disabled] > span { color: #F9F7F6; }
@media (prefers-reduced-motion: reduce) {

    .to-card-quick, .to-card-quick > span, .to-card-quick::before { transition: none; }

    .to-card-quick:hover::before, .to-card-quick:focus-visible::before { transition: none; }
}

  .to-card-info { padding: 16px 2px 0; }

  .to-card-brand { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; margin: 0 0 6px; }

  .to-card-name { font-size: 15px; letter-spacing: 0.01em; color: #3A2E2C; margin: 0 0 8px; line-height: 1.3; }

  .to-card-price { font-size: 14px; letter-spacing: 0.02em; color: #3A2E2C; margin: 0; display: flex; align-items: baseline; gap: 9px; }

  .to-card-price .to-was { color: #9C8E86; text-decoration: line-through; }

  .to-card-price .to-now { color: #B22C10; }

  .to-card-variants { font-size: 12px; letter-spacing: 0.04em; color: #7E7167; margin: 8px 0 0; }

  
  .to-card-media { aspect-ratio: 3 / 4; }
@media (max-width: 1024px) {
 .to-card { flex-basis: calc((100% - 56px) / 3); }
 .to-card::after { inset: -8px; }
}
@media (max-width: 860px) {
 .to-card { flex-basis: calc((100% - 28px) / 2); }
}
@media (max-width: 600px) {

    .to-nn-rail { gap: 16px; }

    .to-card { flex-basis: 78%; }

    .to-card-wish { opacity: 1; }

    .to-card-quick { display: none; }
}

  
  .to-str-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 44px; align-items: stretch; }

  .to-str-figure { position: relative; margin: 0; overflow: hidden; background: #EDE6DF; aspect-ratio: 4 / 5; }

  .to-str-figure img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
@media (max-width: 1024px) {
 .to-str-figure { aspect-ratio: 4 / 5; }
}
@media (max-width: 600px) {
 .to-str-figure { aspect-ratio: 3 / 4; }
}

  .to-hotspot { position: absolute; width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(249,247,246,0.9); background: rgba(73,38,29,0.72); color: #F9F7F6; font-family: inherit; font-size: 13px; letter-spacing: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transform: translate(-50%,-50%); transition: background 180ms ease, box-shadow 180ms ease; }

  .to-hotspot:hover { background: #906631; }

  .to-hotspot:focus-visible { outline: 2px solid #F9F7F6; outline-offset: 2px; }

  .to-str-list { display: flex; flex-direction: column; }

  .to-str-item { display: flex; gap: 18px; align-items: center; padding: 16px 12px; background: none; border: none; border-bottom: 1px solid #E2D9CF; text-align: left; cursor: pointer; text-decoration: none; color: inherit; width: 100%; transition: background 160ms ease; }

  .to-str-item:first-child { border-top: 1px solid #E2D9CF; }

  .to-str-item:hover { background: #EFE7E0; }

  .to-str-item:focus-visible { outline: 2px solid #BB9464; outline-offset: -2px; }

  .to-str-num { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: #49261D; color: #F9F7F6; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }

  .to-str-thumb { flex-shrink: 0; width: 60px; height: 72px; object-fit: cover; background: #EDE6DF; }

  .to-str-meta { flex: 1; min-width: 0; }

  .to-str-brand { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; margin: 0 0 4px; }

  .to-str-name { font-size: 14px; letter-spacing: 0.01em; color: #3A2E2C; margin: 0 0 3px; line-height: 1.3; }

  .to-str-price { font-size: 13px; letter-spacing: 0.02em; color: #625550; margin: 0; }

  .to-str-arrow { flex-shrink: 0; color: #AFA39D; }

  .to-str-item.is-active .to-str-arrow, .to-str-item:hover .to-str-arrow { color: #906631; }
@media (max-width: 1024px) {
 .to-str-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {

    .to-hotspot { width: 30px; height: 30px; font-size: 12px; }

    .to-hotspot.is-dim { opacity: 0.45; }

    .to-str-item { padding: 16px 8px; }
}
@media (prefers-reduced-motion: reduce) {
 .to-hotspot, .to-str-item, .to-str-arrow { transition: none; }
}

  
  .to-sbr-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 240px 240px 220px; grid-template-areas: "live live live dine" "live live live dine" "bed office outdoor bar"; gap: 4px; }

  .to-sbr-tile { position: relative; overflow: hidden; text-decoration: none; background: #EDE6DF; display: block; }

  .sbr-live { grid-area: live; }
 .sbr-dine { grid-area: dine; }
 .sbr-bed { grid-area: bed; }
 .sbr-office { grid-area: office; }
 .sbr-outdoor { grid-area: outdoor; }
 .sbr-bar { grid-area: bar; }

  .to-sbr-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .to-sbr-tile:hover img, .to-sbr-tile:focus-visible img { transform: scale(1.04); }

  .to-sbr-grad { position: absolute; left: 0; right: 0; bottom: 0; height: 46%; background: linear-gradient(to top, rgba(27,24,24,0.62), rgba(27,24,24,0)); pointer-events: none; }

  .to-sbr-label { position: absolute; left: 20px; right: 20px; bottom: 18px; display: flex; align-items: flex-end; gap: 8px; color: #F9F7F6; font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.25; }

  .to-sbr-arrow { flex-shrink: 0; color: #BB9464; opacity: 0; transform: translateX(-4px); transition: opacity 200ms ease, transform 200ms ease; margin-bottom: 2px; }

  .to-sbr-tile:hover .to-sbr-arrow, .to-sbr-tile:focus-visible .to-sbr-arrow { opacity: 1; transform: translateX(5px); }

  .to-sbr-tile:focus-visible { outline: 2px solid #BB9464; outline-offset: -2px; }
@media (max-width: 1024px) {

    .to-sbr-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 320px 230px 230px 230px; grid-template-areas: "live live" "dine bed" "office outdoor" "bar bar"; }
}
@media (max-width: 600px) {

    .to-sbr-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 190px 190px 190px; grid-template-areas: "live live" "dine bed" "office outdoor" "bar bar"; gap: 6px; }

    .to-sbr-label { left: 14px; right: 14px; bottom: 14px; font-size: 13px; }

    .to-sbr-arrow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 .to-sbr-tile img, .to-sbr-arrow { transition: none; }
}

  
  .to-fwl-head { max-width: 720px; }

  .to-fwl-btns { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-top: 26px; }

  .to-fwl-btn { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 14px 24px; text-decoration: none; border: 1px solid #49261D; transition: background 180ms ease, color 180ms ease; }

  .to-fwl-btn.primary { background: #49261D; color: #F9F7F6; }

  .to-fwl-btn.primary:hover { background: #3A1D16; }

  .to-fwl-btn.secondary { background: transparent; color: #49261D; }

  .to-fwl-btn.secondary:hover { background: #49261D; color: #F9F7F6; }

  .to-fwl-btn:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  .to-fwl-split { display: grid; grid-template-columns: 1.25fr 1fr; gap: 4px; margin-top: 40px; }

  .to-fwl-panel { position: relative; display: block; overflow: hidden; text-decoration: none; background: #EDE6DF; aspect-ratio: 5 / 6; }

  .to-fwl-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .to-fwl-panel:hover img, .to-fwl-panel:focus-visible img { transform: scale(1.04); }

  .to-fwl-grad { position: absolute; inset: 0; background: linear-gradient(to top, rgba(27,24,24,0.68), rgba(27,24,24,0.04) 58%); pointer-events: none; }

  .to-fwl-body { position: absolute; left: 30px; right: 30px; bottom: 28px; color: #F9F7F6; }

  .to-fwl-label { font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; margin: 0 0 10px; }

  .to-fwl-line { font-size: 15px; line-height: 1.5; letter-spacing: 0.02em; margin: 0 0 16px; max-width: 340px; color: #F1E9E4; }

  .to-fwl-cta { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #F9F7F6; }

  .to-fwl-cta .to-arw { color: #BB9464; transition: transform 200ms ease; }

  .to-fwl-panel:hover .to-fwl-cta .to-arw, .to-fwl-panel:focus-visible .to-fwl-cta .to-arw { transform: translateX(5px); }

  .to-fwl-panel:focus-visible { outline: 2px solid #BB9464; outline-offset: -2px; }

  .to-fwl-samples { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 32px; border-top: 1px solid #E2D9CF; padding-top: 26px; }

  .to-fwl-samples-txt { max-width: 620px; }

  .to-fwl-samples h4 { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: #3A2E2C; margin: 0 0 6px; font-weight: 500; }

  .to-fwl-samples p { font-size: 15px; line-height: 1.55; letter-spacing: 0.02em; color: #625550; margin: 0; }

  .to-fwl-sample-link { display: inline-flex; align-items: center; gap: 8px; color: #3A2E2C; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; text-decoration: none; border-bottom: 1px solid #BB9464; padding-bottom: 3px; white-space: nowrap; transition: color 180ms ease; }

  .to-fwl-sample-link .to-arw { color: #BB9464; transition: transform 200ms ease; }

  .to-fwl-sample-link:hover, .to-fwl-sample-link:focus-visible { color: #906631; }

  .to-fwl-sample-link:hover .to-arw, .to-fwl-sample-link:focus-visible .to-arw { transform: translateX(5px); }

  .to-fwl-sample-link:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }
@media (max-width: 600px) {

    .to-fwl-split { grid-template-columns: 1fr; }

    .to-fwl-panel { aspect-ratio: 4 / 3; }

    .to-fwl-body { left: 18px; right: 18px; bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
 .to-fwl-panel img, .to-fwl-cta .to-arw, .to-fwl-sample-link .to-arw, .to-fwl-btn { transition: none; }
}

  
  .to-sbt { background: #DCCDCC; }

  .to-sbt-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }

  .to-sbt-figure { position: relative; margin: 0; overflow: hidden; background: #EDE6DF; aspect-ratio: 4 / 5; }

  .to-sbt-figure img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: 50% 28%; }

  .to-sbt-cap { position: absolute; left: 22px; bottom: 20px; color: #F9F7F6; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }

  .to-sbt-copy { max-width: 460px; }

  .to-sbt-btns { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin: 28px 0 8px; }

  .to-sbt-btn { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 14px 24px; text-decoration: none; border: 1px solid #49261D; background: #49261D; color: #F9F7F6; transition: background 180ms ease; }

  .to-sbt-btn:hover { background: #3A1D16; }

  .to-sbt-btn:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  .to-sbt-btn .to-arw { color: #BB9464; transition: transform 200ms ease; }

  .to-sbt-btn:hover .to-arw { transform: translateX(5px); }

  .to-sbt-link { display: inline-flex; align-items: center; gap: 8px; color: #3A2E2C; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; text-decoration: none; border-bottom: 1px solid #BB9464; padding-bottom: 3px; transition: color 180ms ease; }

  .to-sbt-link .to-arw { color: #BB9464; transition: transform 200ms ease; }

  .to-sbt-link:hover, .to-sbt-link:focus-visible { color: #906631; }

  .to-sbt-link:hover .to-arw, .to-sbt-link:focus-visible .to-arw { transform: translateX(5px); }

  .to-sbt-link:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  .to-sbt-signoff { font-size: 14px; line-height: 1.5; letter-spacing: 0.02em; color: #625550; font-style: italic; margin: 22px 0 0; max-width: 420px; }

  .to-sbt-edit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }

  .to-sbt-item { display: block; text-decoration: none; color: inherit; }

  .to-sbt-item-media { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #EDE6DF; }

  .to-sbt-item-media::after { content: ""; position: absolute; inset: 0; border: 0 solid #BB9464; pointer-events: none; transition: border-width 180ms ease; }

  .to-sbt-item:hover .to-sbt-item-media::after, .to-sbt-item:focus-visible .to-sbt-item-media::after { border-width: 1px; }

  .to-sbt-item:focus-visible { outline: none; }

  .to-sbt-item:focus-visible .to-sbt-item-media::after { border-width: 2px; }

  .to-sbt-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .to-sbt-item:hover img, .to-sbt-item:focus-visible img { transform: scale(1.04); }

  .to-sbt-cat { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; margin: 14px 0 6px; }

  .to-sbt-brand { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #7E7167; margin: 0 0 4px; }

  .to-sbt-name { font-size: 15px; letter-spacing: 0.01em; color: #3A2E2C; margin: 0 0 5px; line-height: 1.3; }

  .to-sbt-price { font-size: 14px; letter-spacing: 0.02em; color: #3A2E2C; margin: 0; }
@media (max-width: 1024px) {

    .to-sbt-grid { grid-template-columns: 1fr 1fr; gap: 40px; }

    .to-sbt-edit { margin-top: 44px; }
}
@media (max-width: 600px) {

    .to-sbt-grid { grid-template-columns: 1fr; gap: 26px; }

    .to-sbt-edit { grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }
}
@media (prefers-reduced-motion: reduce) {
 .to-sbt-item img, .to-sbt-item-media::after, .to-sbt-btn .to-arw, .to-sbt-link .to-arw { transition: none; }
}

  
  .to-tdd { background: #E7DED6; }

  .to-tdd-intro { max-width: 640px; margin-bottom: 56px; }

  .to-tdd-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }

  .to-tdd-pt { padding: 4px 32px 4px 0; border-left: 1px solid #BB9464; padding-left: 28px; }

  .to-tdd-pt:first-child { border-left: none; padding-left: 0; }

  .to-tdd-num { font-size: 13px; letter-spacing: 0.16em; color: #906631; margin: 0 0 18px; font-weight: 500; }

  .to-tdd-h { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #3A2E2C; margin: 0 0 12px; font-weight: 500; line-height: 1.35; }

  .to-tdd-b { font-size: 14px; line-height: 1.6; letter-spacing: 0.02em; color: #625550; margin: 0; }

  .to-tdd-link { display: inline-flex; align-items: center; gap: 8px; color: #3A2E2C; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; text-decoration: none; border-bottom: 1px solid #BB9464; padding-bottom: 3px; margin-top: 26px; transition: color 180ms ease; }

  .to-tdd-link .to-arw { color: #BB9464; transition: transform 200ms ease; }

  .to-tdd-link:hover, .to-tdd-link:focus-visible { color: #906631; }

  .to-tdd-link:hover .to-arw, .to-tdd-link:focus-visible .to-arw { transform: translateX(5px); }

  .to-tdd-link:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }
@media (max-width: 1024px) {

    .to-tdd-row { grid-template-columns: 1fr 1fr; gap: 40px 0; }

    .to-tdd-pt:nth-child(3) { border-left: none; padding-left: 0; }
}
@media (max-width: 600px) {

    .to-tdd-intro { margin-bottom: 40px; }

    .to-tdd-row { grid-template-columns: 1fr; gap: 0; }

    .to-tdd-pt { border-left: none; padding: 26px 0; border-top: 1px solid #BB9464; }

    .to-tdd-pt:first-child { padding-top: 0; border-top: none; }

    .to-tdd-num { margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
 .to-tdd-link .to-arw { transition: none; }
}

  
  .to-ow-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 44px; }

  .to-ow-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }

  .to-ow-item { display: block; text-decoration: none; color: inherit; }

  .to-ow-media { position: relative; overflow: hidden; background: #EDE6DF; }

  .to-ow-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .to-ow-item:hover .to-ow-media img, .to-ow-item:focus-visible .to-ow-media img { transform: scale(1.04); }

  .to-ow-item:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  .to-ow-meta { display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; }

  .to-ow-meta .to-ow-date { color: #7E7167; }

  .to-ow-read { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #3A2E2C; }

  .to-ow-read .to-arw { color: #BB9464; transition: transform 200ms ease; }

  .to-ow-item:hover .to-ow-read .to-arw, .to-ow-item:focus-visible .to-ow-read .to-arw { transform: translateX(5px); }

  
  .to-ow-lead .to-ow-media { aspect-ratio: 3 / 2; }

  .to-ow-lead .to-ow-meta { margin: 22px 0 10px; }

  .to-ow-lead-title { font-family: 'BreweryNo2Pro','Brewery No2 Pro', serif; font-weight: 400; font-size: 30px; letter-spacing: 0.03em; line-height: 1.18; color: #3A2E2C; margin: 0 0 12px; }

  .to-ow-lead-excerpt { font-size: 15px; line-height: 1.6; letter-spacing: 0.02em; color: #625550; margin: 0 0 16px; max-width: 460px; }

  
  .to-ow-side { display: flex; flex-direction: column; }

  .to-ow-side-item { display: grid; grid-template-columns: 160px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid #E2D9CF; align-items: center; }

  .to-ow-side-item:first-child { padding-top: 0; border-top: none; }

  .to-ow-side-item:last-child { padding-bottom: 0; }

  .to-ow-side-item .to-ow-media { aspect-ratio: 4 / 3; }

  .to-ow-side-item .to-ow-meta { margin: 0 0 8px; }

  .to-ow-side-title { font-family: 'BreweryNo2Pro','Brewery No2 Pro', serif; font-weight: 400; font-size: 20px; letter-spacing: 0.03em; line-height: 1.2; color: #3A2E2C; margin: 0 0 10px; }

  .to-ow-side-read { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #3A2E2C; }

  .to-ow-side-read .to-arw { color: #BB9464; transition: transform 200ms ease; }

  .to-ow-side-item:hover .to-ow-side-read .to-arw, .to-ow-side-item:focus-visible .to-ow-side-read .to-arw { transform: translateX(4px); }
@media (max-width: 1024px) {

    .to-ow-grid { grid-template-columns: 1fr 1fr; gap: 32px; }

    .to-ow-side { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }

    .to-ow-side-item { grid-template-columns: 1fr; gap: 0; padding: 0; border-top: none; }

    .to-ow-side-item .to-ow-media { aspect-ratio: 3 / 2; }

    .to-ow-side-item .to-ow-meta { margin-top: 18px; }

    .to-ow-side-title { font-size: 22px; }
}
@media (max-width: 600px) {

    .to-ow-grid { grid-template-columns: 1fr; gap: 36px; }

    .to-ow-side { grid-column: auto; grid-template-columns: 1fr; gap: 36px; }

    .to-ow-lead-title { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
 .to-ow-media img, .to-ow-read .to-arw, .to-ow-side-read .to-arw { transition: none; }
}

  
  .to-nl { background: #49261D; }

  .to-nl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }

  .to-nl-copy { max-width: 460px; }

  .to-nl-form { width: 100%; }

  .to-nl-row { display: flex; align-items: flex-end; gap: 16px; }

  .to-nl-field { flex: 1; display: flex; flex-direction: column; gap: 8px; }

  .to-nl-field label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #DCCDCC; }

  .to-nl-input { background: transparent; border: none; border-bottom: 1px solid #7E7167; color: #F9F7F6; font-family: inherit; font-size: 16px; letter-spacing: 0.02em; padding: 10px 0; outline: none; border-radius: 0; transition: border-color 180ms ease; }

  .to-nl-input::placeholder { color: #AFA39D; }

  .to-nl-input:focus { border-bottom-color: #BB9464; }

  .to-nl-form.is-invalid .to-nl-input { border-bottom-color: #E23814; }

  .to-nl-btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 9px; font-family: inherit; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; padding: 15px 28px; border: 1px solid #BB9464; background: #BB9464; color: #49261D; cursor: pointer; transition: background 180ms ease, color 180ms ease; }

  .to-nl-btn:hover { background: #906631; border-color: #906631; color: #F9F7F6; }

  .to-nl-btn:focus-visible { outline: 2px solid #F9F7F6; outline-offset: 2px; }

  .to-nl-btn[disabled] { opacity: 0.65; cursor: default; }

  .to-nl-msg { min-height: 20px; margin: 14px 0 0; font-size: 13px; letter-spacing: 0.02em; }

  .to-nl-msg.error { color: #E9A491; }

  .to-nl-msg.success { color: #C4B462; }

  .to-nl-privacy { font-size: 12px; line-height: 1.55; letter-spacing: 0.02em; color: #AFA39D; margin: 22px 0 0; max-width: 440px; }

  .to-nl-reassure { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #DCCDCC; margin: 10px 0 0; }

  .to-nl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

  .to-nl-demo { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #7E7167; margin: 18px 0 0; }
@media (max-width: 1024px) {
 .to-nl-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {

    .to-nl-row { flex-direction: column; align-items: stretch; gap: 20px; }

    .to-nl-btn { justify-content: center; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .to-nl-input, .to-nl-btn { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
 .to-card-media .to-card-img2, .to-card-quick, .to-card-wish { transition: none; }
}


  .to-heroseclink { transition: color 150ms ease, border-color 150ms ease; }

  .to-heroseclink:hover { color: #906631; border-color: #906631; }
@media (min-width: 861px) and (max-width: 1200px) {

    .to-hero-copy { padding: 48px 40px !important; }
}
@media (max-width: 860px) {

    .to-hero { grid-template-columns: 1fr !important; min-height: 0 !important; }

    .to-hero-media { display: none !important; }

    .to-hero-mobmedia { display: block !important; order: 2; }

    .to-hero-copy { padding: 40px 20px 40px !important; order: 1; }

    .to-headline { font-size: 30px !important; max-width: 100% !important; }

    .to-eyebrow { font-size: 12px !important; }

    .to-support { font-size: 15px !important; max-width: 100% !important; }
}

  .sbrh-wrap { min-height: 100vh; }

  .sbrh-eyebrow { display: inline-block; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; color: #906631; margin: 0; }

  .sbrh-h1 { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.12; letter-spacing: 0.04em; color: #3A2E2C; margin: 18px 0 20px; }

  .sbrh-support { font-size: 16px; line-height: 1.6; letter-spacing: 0.02em; color: #625550; margin: 0; max-width: 420px; }

  
  .sbrh-hero { display: grid; grid-template-columns: 42% 58%; min-height: 560px; background: #F1EAE4; }

  .sbrh-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 64px 56px; }

  .sbrh-hero-media { position: relative; overflow: hidden; min-height: 560px; background: #EDE6DF; }

  .sbrh-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; }

  .sbrh-hero-cap { position: absolute; left: 22px; bottom: 18px; color: #F9F7F6; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(27,24,24,0.4); }

  
  .sbrh-sec { max-width: 1440px; margin: 0 auto; padding: 92px 32px 40px; }

  .sbrh-sec-head { margin-bottom: 40px; }

  .sbrh-label { display: inline-block; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #906631; }

  .sbrh-h2 { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: 34px; letter-spacing: 0.04em; color: #3A2E2C; margin: 16px 0 0; line-height: 1.15; }

  
  .sbrh-grid { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: 320px 320px 300px; grid-template-areas: "live live live live dine dine" "live live live live bed bed" "office office outdoor outdoor bar bar"; gap: 6px; }

  .r-live { grid-area: live; }
 .r-dine { grid-area: dine; }
 .r-bed { grid-area: bed; }
 .r-office { grid-area: office; }
 .r-outdoor { grid-area: outdoor; }
 .r-bar { grid-area: bar; }

  .sbrh-tile { position: relative; display: block; overflow: hidden; text-decoration: none; background: #EDE6DF; }

  .sbrh-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 550ms cubic-bezier(0.2,0.6,0.2,1); }

  .sbrh-tile:hover img, .sbrh-tile:focus-visible img { transform: scale(1.05); }

  .sbrh-tile-grad { position: absolute; left: 0; right: 0; bottom: 0; height: 62%; background: linear-gradient(to top, rgba(27,24,24,0.72), rgba(27,24,24,0)); pointer-events: none; }

  .sbrh-tile-body { position: absolute; left: 24px; right: 24px; bottom: 22px; color: #F9F7F6; }

  .sbrh-tile-name { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: 24px; letter-spacing: 0.03em; line-height: 1.15; color: #F9F7F6; margin: 0; }

  .r-live .sbrh-tile-name { font-size: 32px; }

  .sbrh-tile-desc { font-size: 14px; line-height: 1.5; letter-spacing: 0.02em; color: #EDE1DB; margin: 8px 0 0; max-width: 340px; }

  .sbrh-tile-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #F9F7F6; }

  .sbrh-tile-cta .arw { color: #BB9464; transition: transform 220ms ease; }

  .sbrh-tile:hover .sbrh-tile-cta .arw, .sbrh-tile:focus-visible .sbrh-tile-cta .arw { transform: translateX(5px); }

  .sbrh-tile:focus-visible { outline: 3px solid #BB9464; outline-offset: -3px; }
@media (max-width: 1024px) {

    .sbrh-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 300px); grid-template-areas: "live live" "dine bed" "office outdoor" "bar bar"; grid-auto-rows: 260px; }

    .sbrh-grid { grid-template-rows: 320px 260px 260px 260px; }

    .r-live .sbrh-tile-name { font-size: 30px; }
}
@media (max-width: 600px) {

    .sbrh-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 200px 200px 200px 200px; grid-template-areas: "live live" "dine dine" "bed office" "outdoor outdoor" "bar bar"; gap: 8px; }

    .sbrh-tile-body { left: 16px; right: 16px; bottom: 16px; }

    .sbrh-tile-name { font-size: 21px; }

    .r-live .sbrh-tile-name { font-size: 26px; }

    .sbrh-tile-desc { display: none; }

    .r-live .sbrh-tile-desc, .r-dine .sbrh-tile-desc, .r-outdoor .sbrh-tile-desc, .r-bar .sbrh-tile-desc { display: block; }
}
@media (prefers-reduced-motion: reduce) {
 .sbrh-tile img, .sbrh-tile-cta .arw { transition: none; }
}

  
  .sbrh-reassure { background: #F4EFEA; margin-top: 72px; }

  .sbrh-reassure-inner { max-width: 1120px; margin: 0 auto; padding: 80px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }

  .sbrh-reassure p { font-size: 16px; line-height: 1.65; letter-spacing: 0.02em; color: #544645; margin: 16px 0 0; }

  .sbrh-reassure-points { display: flex; flex-direction: column; gap: 22px; }

  .sbrh-rp { border-top: 1px solid #E2D9CF; padding-top: 20px; }

  .sbrh-rp:first-child { border-top: none; padding-top: 0; }

  .sbrh-rp h3 { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: #3A2E2C; margin: 0 0 8px; font-weight: 500; }

  .sbrh-rp p { font-size: 15px; line-height: 1.55; color: #625550; margin: 0; }
@media (max-width: 768px) {
 .sbrh-reassure-inner { grid-template-columns: 1fr; gap: 36px; padding: 56px 24px; }
}

  
  .sbrh-note { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #AFA39D; margin: 26px 0 0; }
@media (max-width: 860px) {

    .sbrh-hero { grid-template-columns: 1fr; min-height: 0; }

    .sbrh-hero-media { min-height: 0; height: 380px; order: 2; }

    .sbrh-hero-copy { padding: 44px 20px; order: 1; }

    .sbrh-support { max-width: 100%; }

    .sbrh-sec { padding: 60px 20px 32px; }
}

  .rd-wrap { min-height: 100vh; }

  .rd-shell { max-width: 1440px; margin: 0 auto; padding: 0 32px; }

  .rd-label { display: inline-block; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #906631; margin: 0; }

  .rd-h2 { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: 32px; letter-spacing: 0.04em; color: #3A2E2C; margin: 16px 0 0; line-height: 1.15; }

  
  .rd-crumbs { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; padding: 22px 0 0; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #7E7167; }

  .rd-crumbs a { color: #7E7167; }

  .rd-crumbs a:hover { color: #906631; }

  .rd-crumbs a:focus-visible, .rd-crumbs [aria-current] { outline-offset: 3px; }

  .rd-crumbs a:focus-visible { outline: 2px solid #BB9464; }

  .rd-crumbs .sep { color: #C4B7AE; }

  .rd-crumbs [aria-current] { color: #3A2E2C; }

  
  .rd-hero { display: grid; grid-template-columns: 1fr 1.35fr; gap: 48px; align-items: center; padding: 34px 0 20px; }

  .rd-hero-copy { max-width: 460px; }

  .rd-hero-eyebrow { display: inline-block; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; color: #906631; }

  .rd-h1 { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.08; letter-spacing: 0.04em; color: #3A2E2C; margin: 16px 0 20px; }

  .rd-hero-support { font-size: 16px; line-height: 1.65; letter-spacing: 0.02em; color: #625550; margin: 0; }

  .rd-hero-fig { position: relative; margin: 0; overflow: hidden; background: #EDE6DF; aspect-ratio: 16 / 11; }

  .rd-hero-fig img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; display: block; }

  .rd-hero-cap { position: absolute; left: 20px; bottom: 16px; color: #F9F7F6; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(27,24,24,0.45); }

  
  .rd-filterbar { border-top: 1px solid #E2D9CF; border-bottom: 1px solid #E2D9CF; margin-top: 40px; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }

  .rd-filters { display: flex; gap: 10px; flex-wrap: wrap; }

  .rd-chip { font-family: inherit; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #3A2E2C; background: transparent; border: 1px solid #D6C9BE; padding: 10px 18px; cursor: pointer; transition: background 160ms ease, color 160ms ease, border-color 160ms ease; }

  .rd-chip:hover { border-color: #906631; color: #906631; }

  .rd-chip:focus-visible { outline: 2px solid #BB9464; outline-offset: 2px; }

  .rd-sort { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #7E7167; display: inline-flex; align-items: center; gap: 10px; }

  .rd-proto { display: inline-block; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #9C8E86; border: 1px dashed #C4B7AE; padding: 4px 9px; }

  .rd-note { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #AFA39D; margin: 18px 0 0; }

  
  .rd-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 28px; margin-top: 40px; }

  .rd-card { position: relative; display: block; text-decoration: none; color: inherit; }

  .rd-card::after { content: ""; position: absolute; inset: -10px; border: 0 solid #BB9464; pointer-events: none; z-index: 2; transition: border-width 200ms ease; }

  .rd-card:hover::after { border-width: 1px; }

  .rd-card:focus-visible, .rd-card:focus-within { outline: none; }

  .rd-card:focus-within::after, .rd-card:focus-visible::after { border-width: 2px; }

  .rd-card-media { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: #EDE6DF; }

  .rd-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .rd-card:hover .rd-card-media img, .rd-card:focus-visible .rd-card-media img { transform: scale(1.04); }

  .rd-card-flag { position: absolute; top: 14px; left: 14px; background: #F4EFEA; color: #3A2E2C; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; padding: 5px 9px; }

  .rd-card-flag.is-sale { background: #49261D; color: #F9F7F6; }

  .rd-card-wish { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; background: rgba(249,247,246,0.9); border: none; color: #3A2E2C; cursor: pointer; opacity: 0; transition: opacity 200ms ease, color 150ms ease; }

  .rd-card:hover .rd-card-wish, .rd-card:focus-within .rd-card-wish { opacity: 1; }

  .rd-card-wish:hover { color: #906631; }

  .rd-card-wish.is-wished { color: #B22C10; opacity: 1; }

  .rd-card-wish:focus-visible { opacity: 1; outline: 2px solid #BB9464; outline-offset: 2px; }

  .rd-card-info { padding: 16px 2px 0; }

  .rd-card-brand { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; margin: 0 0 6px; }

  .rd-card-name { font-size: 15px; letter-spacing: 0.01em; color: #3A2E2C; margin: 0 0 8px; line-height: 1.3; }

  .rd-card-price { font-size: 14px; letter-spacing: 0.02em; color: #3A2E2C; margin: 0; display: flex; align-items: baseline; gap: 9px; }

  .rd-card-price .was { color: #9C8E86; text-decoration: line-through; }

  .rd-card-price .now { color: #B22C10; }

  .rd-card-variants { font-size: 12px; letter-spacing: 0.04em; color: #7E7167; margin: 8px 0 0; }
@media (hover: none) {
 .rd-card::after { display: none; }
 .rd-card-wish { opacity: 1; }
}

  
  .rd-ctr { background: #F4EFEA; margin-top: 88px; }

  .rd-ctr-inner { max-width: 1440px; margin: 0 auto; padding: 80px 32px; display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 5vw, 64px); align-items: center; }

  .rd-ctr-fig { position: relative; margin: 0; overflow: hidden; background: #EDE6DF; aspect-ratio: 4 / 5; }

  .rd-ctr-fig img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .rd-ctr-copy p { font-size: 16px; line-height: 1.65; letter-spacing: 0.02em; color: #544645; margin: 16px 0 0; max-width: 460px; }

  .rd-ctr-list { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-direction: column; }

  .rd-ctr-item { display: flex; gap: 18px; align-items: center; padding: 16px 0; border-top: 1px solid #E2D9CF; text-decoration: none; color: inherit; transition: background 160ms ease; }

  .rd-ctr-item:hover { color: #3A2E2C; }

  .rd-ctr-item:focus-visible { outline: 2px solid #BB9464; outline-offset: 2px; }

  .rd-ctr-thumb { flex-shrink: 0; width: 68px; height: 82px; object-fit: cover; background: #EDE6DF; }

  .rd-ctr-meta { flex: 1; min-width: 0; }

  .rd-ctr-brand { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; margin: 0 0 4px; }

  .rd-ctr-name { font-size: 15px; letter-spacing: 0.01em; color: #3A2E2C; margin: 0 0 3px; line-height: 1.3; }

  .rd-ctr-price { font-size: 13px; letter-spacing: 0.02em; color: #625550; margin: 0; }

  .rd-ctr-arw { flex-shrink: 0; color: #AFA39D; transition: transform 200ms ease, color 200ms ease; }

  .rd-ctr-item:hover .rd-ctr-arw { color: #906631; transform: translateX(4px); }

  
  .rd-other { max-width: 1440px; margin: 0 auto; padding: 88px 32px; }

  .rd-other-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 36px; }

  .rd-other-tile { position: relative; display: block; overflow: hidden; text-decoration: none; background: #EDE6DF; aspect-ratio: 3 / 4; }

  .rd-other-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .rd-other-tile:hover img, .rd-other-tile:focus-visible img { transform: scale(1.05); }

  .rd-other-grad { position: absolute; left: 0; right: 0; bottom: 0; height: 55%; background: linear-gradient(to top, rgba(27,24,24,0.7), rgba(27,24,24,0)); pointer-events: none; }

  .rd-other-name { position: absolute; left: 16px; right: 16px; bottom: 16px; color: #F9F7F6; font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.25; }

  .rd-other-tile:focus-visible { outline: 3px solid #BB9464; outline-offset: -3px; }
@media (max-width: 1024px) {

    .rd-hero { grid-template-columns: 1fr; gap: 28px; }

    .rd-hero-copy { max-width: 640px; }

    .rd-grid { grid-template-columns: repeat(3, 1fr); }

    .rd-ctr-inner { grid-template-columns: 1fr; gap: 36px; }

    .rd-other-grid { grid-template-columns: repeat(5, 1fr); gap: 6px; }
}
@media (max-width: 768px) {

    .rd-grid { grid-template-columns: repeat(2, 1fr); gap: 32px 20px; }

    .rd-other-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {

    .rd-shell { padding: 0 20px; }

    .rd-filterbar { padding: 16px 0; }

    .rd-filters { width: 100%; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }

    .rd-chip { white-space: nowrap; }

    .rd-ctr-inner, .rd-other { padding-left: 20px; padding-right: 20px; }

    .rd-other-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
 .rd-card-media img, .rd-card-wish, .rd-card::after, .rd-ctr-arw, .rd-other-tile img, .rd-chip { transition: none; }
}

  .te-wrap { min-height: 100vh; }

  .te-label { display: inline-block; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #906631; margin: 0; }

  .te-h2 { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: 34px; letter-spacing: 0.04em; color: #3A2E2C; margin: 16px 0 0; line-height: 1.15; }

  .te-sec { max-width: 1440px; margin: 0 auto; padding: 92px 32px 0; }

  .te-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 44px; }

  .te-viewall { display: inline-flex; align-items: center; gap: 8px; color: #3A2E2C; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; border-bottom: 1px solid #AFA39D; padding-bottom: 3px; white-space: nowrap; transition: color 150ms ease, border-color 150ms ease; }

  .te-viewall:hover, .te-viewall:focus-visible { color: #906631; border-color: #906631; }

  .te-viewall:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  .te-viewall .arw { color: #BB9464; }

  .te-note { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #AFA39D; margin: 26px 0 0; }

  
  .te-hero { display: grid; grid-template-columns: 1fr 0.92fr; background: #F1EAE4; }

  .te-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 80px 64px; }

  .te-hero-eyebrow { display: inline-block; font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; color: #906631; }

  .te-h1 { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.08; letter-spacing: 0.04em; color: #3A2E2C; margin: 20px 0 22px; max-width: 12ch; }

  .te-hero-support { font-size: 17px; line-height: 1.6; letter-spacing: 0.02em; color: #625550; margin: 0 0 34px; max-width: 440px; }

  .te-herocta { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; background: #49261D; color: #F9F7F6; border: 1px solid #BB9464; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; align-self: flex-start; transition: background 150ms ease, color 150ms ease, border-color 150ms ease; }

  .te-herocta .arw { color: #BB9464; transition: color 150ms ease, transform 200ms ease; }

  .te-herocta:hover { background: #BB9464; color: #49261D; border-color: #BB9464; }

  .te-herocta:hover .arw { color: #49261D; transform: translateX(3px); }

  .te-herocta:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  .te-hero-sig { font-size: 14px; line-height: 1.5; letter-spacing: 0.02em; color: #7E7167; font-style: italic; margin: 30px 0 0; max-width: 380px; }

  .te-hero-media { position: relative; overflow: hidden; background: #EDE6DF; min-height: 600px; }

  .te-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%; }

  .te-hero-cap { position: absolute; left: 22px; bottom: 20px; color: #F9F7F6; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(27,24,24,0.45); }

  
  .te-pgrid { display: grid; gap: 28px; }

  .te-pgrid.cols3 { grid-template-columns: repeat(3, 1fr); }

  .te-pgrid.cols4 { grid-template-columns: repeat(4, 1fr); }

  .te-pcard { position: relative; display: block; text-decoration: none; color: inherit; }

  .te-pcard::after { content: ""; position: absolute; inset: -10px; border: 0 solid #BB9464; pointer-events: none; z-index: 2; transition: border-width 200ms ease; }

  .te-pcard:hover::after { border-width: 1px; }

  .te-pcard:focus-visible, .te-pcard:focus-within { outline: none; }

  .te-pcard:focus-visible::after, .te-pcard:focus-within::after { border-width: 2px; }
@media (hover: none) {
 .te-pcard::after { display: none; }
}

  .te-pcard-media { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: #EDE6DF; }

  .te-pcard-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .te-pcard:hover .te-pcard-media img, .te-pcard:focus-visible .te-pcard-media img { transform: scale(1.04); }

  .te-pcard-cat { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; margin: 16px 0 6px; }

  .te-pcard-brand { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #7E7167; margin: 0 0 4px; }

  .te-pcard-name { font-size: 15px; letter-spacing: 0.01em; color: #3A2E2C; margin: 0 0 5px; line-height: 1.3; }

  .te-pcard-price { font-size: 14px; letter-spacing: 0.02em; color: #3A2E2C; margin: 0; }

  
  .te-nn { background: #F4EFEA; margin-top: 92px; }

  .te-nn-inner { max-width: 1440px; margin: 0 auto; padding: 88px 32px; }

  
  .te-str { margin-top: 92px; }

  .te-str-inner { max-width: 1440px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 1.4fr 1fr; gap: 0; align-items: stretch; }

  .te-str-fig { position: relative; overflow: hidden; background: #EDE6DF; min-height: 520px; }

  .te-str-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

  .te-str-copy { background: #DCCDCC; display: flex; flex-direction: column; justify-content: center; padding: 64px 56px; }

  .te-str-copy p { font-size: 16px; line-height: 1.65; letter-spacing: 0.02em; color: #544645; margin: 16px 0 28px; max-width: 380px; }

  .te-link { display: inline-flex; align-items: center; gap: 8px; color: #3A2E2C; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; border-bottom: 1px solid #BB9464; padding-bottom: 3px; align-self: flex-start; transition: color 180ms ease; }

  .te-link .arw { color: #BB9464; transition: transform 200ms ease; }

  .te-link:hover, .te-link:focus-visible { color: #906631; }

  .te-link:hover .arw, .te-link:focus-visible .arw { transform: translateX(5px); }

  .te-link:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  
  .te-mat { background: #49261D; margin-top: 92px; }

  .te-mat-inner { max-width: 1440px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 0; align-items: stretch; }

  .te-mat-copy { display: flex; flex-direction: column; justify-content: center; padding: 80px 56px; }

  .te-mat-copy .te-label { color: #BB9464; }

  .te-mat-h2 { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: 34px; letter-spacing: 0.04em; color: #F9F7F6; margin: 16px 0 0; line-height: 1.15; }

  .te-mat-copy p { font-size: 16px; line-height: 1.65; letter-spacing: 0.02em; color: #DCCDCC; margin: 16px 0 28px; max-width: 400px; }

  .te-mat-link { color: #F9F7F6; border-bottom-color: #BB9464; }

  .te-mat-link:hover, .te-mat-link:focus-visible { color: #BB9464; }

  .te-mat-fig { position: relative; overflow: hidden; background: #3A1D16; min-height: 480px; }

  .te-mat-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

  
  .te-ow-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }

  .te-ow-lead-media, .te-ow-side-media { position: relative; overflow: hidden; background: #EDE6DF; }

  .te-ow-lead-media { aspect-ratio: 3 / 2; }

  .te-ow-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1); }

  .te-ow-item:hover img, .te-ow-item:focus-visible img { transform: scale(1.04); }

  .te-ow-item:focus-visible { outline: 2px solid #BB9464; outline-offset: 3px; }

  .te-ow-item { display: block; text-decoration: none; color: inherit; }

  .te-ow-meta { display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #906631; margin: 22px 0 10px; }

  .te-ow-meta .date { color: #7E7167; }

  .te-ow-lead-title { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: 30px; letter-spacing: 0.03em; line-height: 1.18; color: #3A2E2C; margin: 0 0 12px; }

  .te-ow-excerpt { font-size: 15px; line-height: 1.6; letter-spacing: 0.02em; color: #625550; margin: 0 0 16px; max-width: 460px; }

  .te-ow-read { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #3A2E2C; }

  .te-ow-read .arw { color: #BB9464; transition: transform 200ms ease; }

  .te-ow-item:hover .te-ow-read .arw, .te-ow-item:focus-visible .te-ow-read .arw { transform: translateX(5px); }

  .te-ow-side { display: flex; flex-direction: column; }

  .te-ow-side-item { display: grid; grid-template-columns: 160px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid #E2D9CF; align-items: center; }

  .te-ow-side-item:first-child { padding-top: 0; border-top: none; }

  .te-ow-side-item .te-ow-side-media { aspect-ratio: 4 / 3; }

  .te-ow-side-item .te-ow-meta { margin: 0 0 8px; }

  .te-ow-side-title { font-family: "Brewery No2 Pro", serif; font-weight: 400; font-size: 20px; letter-spacing: 0.03em; line-height: 1.2; color: #3A2E2C; margin: 0 0 10px; }

  .te-foot-space { height: 92px; }
@media (max-width: 1024px) {

    .te-hero { grid-template-columns: 1fr; }

    .te-hero-copy { padding: 56px 32px; order: 1; }

    .te-hero-media { order: 2; min-height: 460px; }

    .te-pgrid.cols3 { grid-template-columns: repeat(2, 1fr); }

    .te-str-inner, .te-mat-inner { grid-template-columns: 1fr; }

    .te-str-fig, .te-mat-fig { min-height: 380px; order: 1; }

    .te-str-copy, .te-mat-copy { order: 2; padding: 48px 32px; }

    .te-ow-grid { grid-template-columns: 1fr 1fr; gap: 32px; }

    .te-ow-side { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }

    .te-ow-side-item { grid-template-columns: 1fr; gap: 0; padding: 0; border-top: none; }

    .te-ow-side-item .te-ow-side-media { aspect-ratio: 3 / 2; }

    .te-ow-side-item .te-ow-meta { margin-top: 18px; }
}
@media (max-width: 768px) {

    .te-pgrid.cols4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {

    .te-sec { padding: 60px 20px 0; }

    .te-hero-copy { padding: 44px 20px; }

    .te-pgrid.cols3 { grid-template-columns: 1fr 1fr; gap: 18px; }

    .te-nn-inner { padding: 56px 20px; }

    .te-str-inner, .te-mat-inner { padding: 0 0; }

    .te-str-copy, .te-mat-copy { padding: 40px 20px; }

    .te-ow-grid { grid-template-columns: 1fr; gap: 36px; }

    .te-ow-side { grid-column: auto; grid-template-columns: 1fr; gap: 36px; }

    .te-ow-lead-title { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
 .te-pcard-media img, .te-pcard::after, .te-herocta .arw, .te-link .arw, .te-ow-item img, .te-ow-read .arw { transition: none; }
}





.to-cat-media picture, .to-mega-fig picture, .to-sbr-tile picture,
.to-fwl-panel picture, .to-sbt-figure picture, .sbrh-tile picture,
.sbrh-hero-media picture, .rd-hero-fig picture, .rd-ctr-fig picture,
.rd-other-tile picture, .te-hero-media picture, .te-str-fig picture,
.te-mat-fig picture, .to-hero-media picture, .to-hero-mobmedia picture,
.to-str-figure picture { display: contents; }


.pegasus-retail-page { margin: 0; }

.pegasus-retail-page .to-root h1, .pegasus-retail-page .to-root h2,
.pegasus-retail-page .to-root h3, .pegasus-retail-page .to-root h4,
.pegasus-retail-page .to-root p, .pegasus-retail-page .to-root ul,
.pegasus-retail-page .to-root figure { margin-block-start: 0; margin-block-end: 0; }





.to-card-media img,
.rd-card-media img,
.te-pcard-media img {
  object-fit: contain;
  background: #FFFFFF;
  padding: 7%;
  box-sizing: border-box;
}

.to-card-media,
.rd-card-media,
.te-pcard-media { background: #FFFFFF; }


.rd-ctr-thumb,
.to-sbt-item-media img,
.to-str-thumb {
  object-fit: cover;
  object-position: center;
  background: #FFFFFF;
  padding: 0;
  box-sizing: border-box;
}



.te-herocta { margin: 30px 0 24px; }

.te-hero-support { margin-bottom: 6px; }

.te-hero-sig { margin-top: 4px; }

/* -------------------------------------------------------------------------
 * Selected by Tobias — card finish (v1.4.7, reported 3 Aug 2026).
 *
 * Three faults, one section:
 *
 * 1. The gold frame only existed on hover (border-width 0 -> 1px), so at
 *    rest the cards had no frame at all and read as unstyled next to the
 *    rest of the site. Now always on, thickening on hover/focus.
 *
 * 2. object-fit: cover cropped every product to a square — the Ophelia
 *    floor lamp lost its base. Supplier photography here is already
 *    product-on-white at mixed aspect ratios, so `contain` on a white tile
 *    is the correct treatment: the whole product, optically centred, with
 *    the tile rather than the photograph providing the consistent shape.
 *
 * 3. The tile was #EDE6DF, which showed as a warm band around white-
 *    background photography. White tile removes the seam entirely.
 *
 * Padding keeps the product off the frame. Hover zoom reduced to 1.02 —
 * at 1.04 a contained image visibly collided with the new border.
 * ---------------------------------------------------------------------- */

  .to-sbt-item-media { background: #FFFFFF; padding: 16px; }

  .to-sbt-item-media::after { border-width: 1px; }

  .to-sbt-item:hover .to-sbt-item-media::after,
  .to-sbt-item:focus-visible .to-sbt-item-media::after { border-width: 2px; }

  .to-sbt-item img { object-fit: contain; object-position: 50% 50%; }

  .to-sbt-item:hover img,
  .to-sbt-item:focus-visible img { transform: scale(1.02); }

  /* Count-aware grid: never leave an empty column when a curated pick is
   * skipped (enquire-only products have no price and are excluded). */
  .to-sbt-edit--2 { grid-template-columns: repeat(2, 1fr); max-width: 66%; }

  .to-sbt-edit--1 { grid-template-columns: 1fr; max-width: 33%; }

@media (max-width: 860px) {
  .to-sbt-edit--2, .to-sbt-edit--1 { max-width: 100%; }
}

/* -------------------------------------------------------------------------
 * Selected by Tobias — frame parity with the standard product card
 * (v1.4.8, reported 3 Aug 2026).
 *
 * v1.4.7 put the frame on the media box only, so it boxed the image and
 * stopped above the brand/name/price. Every other card on the page draws
 * its frame on the whole <a> at inset -10px, on hover, hidden on touch.
 * These now use identical geometry, timing, colour and breakpoint rules —
 * the values below are deliberately copied from .to-card rather than
 * re-derived, so the two stay in step if either is retuned later.
 *
 * The media-level frame from v1.4.7 is switched off rather than deleted:
 * .to-sbt-item-media::after still exists in the cascade above, so it has
 * to be explicitly zeroed or both frames would draw.
 *
 * Padding + matching negative margin mirrors .to-nn-rail, giving the
 * -10px frame room to draw without being clipped, at no visual cost.
 * ---------------------------------------------------------------------- */

  .to-sbt-item-media::after { border-width: 0; }

  .to-sbt-item:hover .to-sbt-item-media::after,
  .to-sbt-item:focus-visible .to-sbt-item-media::after { border-width: 0; }

  .to-sbt-item { position: relative; }

  .to-sbt-item::after { content: ""; position: absolute; inset: -10px; border: 0 solid #BB9464; pointer-events: none; z-index: 2; transition: border-width 200ms ease; }

  .to-sbt-item:hover::after { border-width: 1px; }

  .to-sbt-item:focus-within::after, .to-sbt-item:focus-visible::after { border-width: 2px; }

  .to-sbt-item:focus-within, .to-sbt-item:focus-visible { outline: none; }

  .to-sbt-edit { padding: 12px; margin: 44px -12px 0; }

@media (hover: none) {
 .to-sbt-item::after { display: none; }
}
