/* Patience & Gough: product pages (v5 preview). Builds on site.css tokens. */
.pd { padding-top: calc(var(--header-h) + 1rem); }
.pd-crumbs { margin-bottom: 1.25rem; font-size: .85rem; }
.pd-top__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: start; }

/* Gallery */
.pd-gallery { display: flex; flex-direction: column; gap: .9rem; min-width: 0; }
.pd-gallery__main { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--brown-deep); }
.pd-gallery__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .7s var(--ease); cursor: zoom-in; }
.pd-gallery__slide.is-active { opacity: 1; z-index: 1; }
.pd-gallery__slide img { width: 100%; height: 100%; object-fit: cover; }
.pd-gallery__chips { position: absolute; z-index: 3; left: 1rem; top: 1rem; display: flex; gap: .45rem; flex-wrap: wrap; }
.pd-chip { padding: .4rem .85rem; border-radius: 100em; font-size: .8rem; color: var(--cream); text-decoration: none; background: rgba(20, 14, 13, .45); border: 1px solid rgba(233, 228, 222, .4); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.pd-gallery__nav { position: absolute; z-index: 3; top: 50%; width: 2.8rem; height: 2.8rem; margin-top: -1.4rem; display: grid; place-items: center; border-radius: 50%; color: var(--cream); background: rgba(20, 14, 13, .4); border: 1px solid rgba(233, 228, 222, .35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); cursor: pointer; }
.pd-gallery__nav svg { width: 1.2rem; }
.pd-gallery__nav.is--prev { left: 1rem; } .pd-gallery__nav.is--next { right: 1rem; }
.pd-gallery__count { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; padding: .3rem .75rem; border-radius: 100em; font-size: .78rem; letter-spacing: .06em; background: rgba(20, 14, 13, .45); border: 1px solid rgba(233, 228, 222, .3); }
.pd-gallery__thumbs { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: .5rem; }
.pd-thumb { padding: 0; aspect-ratio: 4 / 5; border-radius: .6rem; overflow: hidden; border: 1px solid var(--line); background: none; cursor: pointer; opacity: .55; transition: opacity .3s, border-color .3s; }
.pd-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-thumb.is-active, .pd-thumb:hover { opacity: 1; border-color: var(--line-strong); }

/* Buy panel */
.pd-buy { position: sticky; top: calc(var(--header-h) + 1rem); }
.pd-buy__inner { display: flex; flex-direction: column; gap: 1.1rem; padding: clamp(1.4rem, 2.5vw, 2.2rem); border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--brown-deep); }
.pd-buy__coll { font-size: .85rem; color: var(--muted); letter-spacing: .04em; }
.pd-buy__title { font-size: clamp(2.6rem, 4vw, 3.8rem); line-height: .98; }
.pd-buy__variant { color: rgba(233, 228, 222, .85); margin-top: -.4rem; }
.pd-buy__price { display: flex; align-items: center; gap: .9rem; padding-top: .3rem; }
.pd-price { font-family: var(--serif); font-size: 2.1rem; line-height: 1; }
.pd-currency select { appearance: none; padding: .35rem 1.8rem .35rem .8rem; border-radius: 100em; font: inherit; font-size: .8rem; color: var(--cream); background: rgba(233, 228, 222, .06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23e9e4de' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .6rem center / .8rem; border: 1px solid var(--line-strong); cursor: pointer; }
.pd-currency option { color: #111; }
.pd-price-note { font-size: .8rem; color: var(--muted); margin-top: -.6rem; }
.pd-buy__lead { font-size: .98rem; color: rgba(233, 228, 222, .86); }
.pd-buy__facts { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.pd-buy__facts li { display: grid; grid-template-columns: 4.5rem 1fr; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .92rem; }
.pd-buy__facts span { color: var(--muted); font-size: .82rem; }
.pd-buy__ctas { display: flex; flex-direction: column; gap: .6rem; padding-top: .3rem; }
.pd-buy__main { width: 100%; justify-content: center; }
.pd-buy__ctas .btn-row .btn { flex: 1; justify-content: center; }
.pd-buy__reply { font-size: .82rem; color: var(--muted); }
.pd-buy__more { border-top: 1px solid var(--line); padding-top: .7rem; font-size: .9rem; }
.pd-buy__more summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.pd-buy__more summary::after { content: "+"; color: var(--muted); }
.pd-buy__more[open] summary::after { content: "−"; }
.pd-buy__more p { margin-top: .5rem; color: rgba(233, 228, 222, .8); font-size: .88rem; }

/* Section links */
.pd-nav { position: sticky; top: var(--header-h); z-index: 30; margin-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(29, 21, 20, .82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.pd-nav__inner { display: flex; align-items: center; gap: 1.6rem; min-height: 3.6rem; overflow-x: auto; scrollbar-width: none; font-size: .88rem; }
.pd-nav__inner::-webkit-scrollbar { display: none; }
.pd-nav__inner > a { color: var(--muted); text-decoration: none; white-space: nowrap; transition: color .3s; }
.pd-nav__inner > a.is-active, .pd-nav__inner > a:hover { color: var(--cream); }
.pd-nav__price { margin-left: auto; display: flex; align-items: center; gap: .9rem; white-space: nowrap; font-family: var(--serif); font-size: 1.2rem; }

/* Story */
.pd-story__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.pd-story__text { display: flex; flex-direction: column; gap: 1.2rem; max-width: 40rem; }
.pd-story__text h2, .pd-compare__text h2, .pd-sketch__text h2 { font-size: clamp(2.4rem, 4vw, 3.8rem); line-height: 1.02; }
.pd-story__text p, .pd-compare__text p, .pd-sketch__text p { color: rgba(233, 228, 222, .84); }
.pd-quote { margin: .6rem 0 0; padding-left: 1.2rem; border-left: 1px solid var(--line-strong); font-family: var(--serif); font-style: italic; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.2; }
.pd-story__video { aspect-ratio: 9 / 16; max-height: 82svh; margin: 0 0 0 auto; width: 100%; max-width: 26rem; overflow: hidden; }
.pd-story__video video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Hotspots (Osmo Product Hotspot Modal, styled for P&G) */
.hotspot-section { position: relative; display: flex; justify-content: center; overflow: hidden; background: var(--brown-deep); }
.hotspot-area { position: relative; width: min(100%, calc((100svh - var(--header-h) - 6rem) * .7529)); aspect-ratio: 1200 / 1594; }
.hotspot-area__media { position: absolute; inset: 0; }
.hotspot-area__media img { width: 100%; height: 100%; object-fit: cover; }
.hotspot-area__close { position: absolute; inset: 0; }
.hotspot-area__list { position: absolute; inset: 0; pointer-events: none; }
.hotspot-area__item { position: absolute; transform: translate(-50%, -50%); pointer-events: auto; display: flex; align-items: center; gap: .6rem; }
.hotspot-plus-btn { width: 2.9rem; height: 2.9rem; padding: .85rem; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; color: var(--brown); background: var(--cream); cursor: pointer; box-shadow: 0 0 0 0 rgba(233, 228, 222, .55); transform: rotate(-45deg); transition: transform .35s var(--ease), background-color .35s var(--ease); animation: pd-pulse 2.4s infinite; }
.hotspot-plus-btn svg { width: 100%; }
.hotspot-plus-btn:hover, .hotspot-plus-btn[data-hotspot-status="active"] { transform: scale(1.1) rotate(45deg); }
.hotspot-plus-btn[data-hotspot-status="active"] { background: var(--blue); color: #fff; animation: none; }
@keyframes pd-pulse { 0% { box-shadow: 0 0 0 0 rgba(233, 228, 222, .5); } 70% { box-shadow: 0 0 0 14px rgba(233, 228, 222, 0); } 100% { box-shadow: 0 0 0 0 rgba(233, 228, 222, 0); } }
.hotspot-label { pointer-events: none; padding: .3rem .75rem; border-radius: 100em; font-size: .78rem; white-space: nowrap; background: rgba(20, 14, 13, .55); border: 1px solid rgba(233, 228, 222, .35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transform: translateX(-.4rem); transition: opacity .3s, transform .3s; }
.hotspot-area__item:hover .hotspot-label { opacity: 1; transform: none; }
.hotspot-modal { position: fixed; inset: 0; z-index: 120; pointer-events: none; overflow: hidden; }
.hotspot-modal__side { position: absolute; top: 0; right: 0; height: 100%; width: 100%; max-width: 31rem; padding: 1.25rem; display: flex; align-items: center; transform: translateX(105%); transition: transform .6s var(--ease); }
[data-hotspot-modal-status="active"] .hotspot-modal__side { transform: none; }
.hotspot-modal__tile { pointer-events: auto; position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; max-height: 50rem; overflow: auto; border-radius: var(--radius-lg); border: 1px solid var(--line-strong); background: rgba(20, 14, 13, .9); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.hotspot-modal__collection { flex: 1; position: relative; }
.hotspot-modal__list { display: grid; height: 100%; }
.hotspot-modal__item { grid-area: 1 / 1; display: flex; flex-direction: column; padding: .75rem .75rem 0; }
[data-hotspot-name] { transition: opacity .6s var(--ease), transform .6s var(--ease); }
[data-hotspot-name][data-hotspot-status="not-active"] { opacity: 0; visibility: hidden; }
[data-hotspot-name][data-hotspot-status="active"] { opacity: 1; visibility: visible; transform: none; }
[data-hotspot-name][data-hotspot-status="transition-in-right"] { opacity: 0; visibility: visible; transform: translateX(1em); transition: none; }
[data-hotspot-name][data-hotspot-status="transition-in-left"] { opacity: 0; visibility: visible; transform: translateX(-1em); transition: none; }
[data-hotspot-name][data-hotspot-status="transition-out-right"] { opacity: 0; visibility: visible; transform: translateX(1em); }
[data-hotspot-name][data-hotspot-status="transition-out-left"] { opacity: 0; visibility: visible; transform: translateX(-1em); }
.hotspot-modal__top { position: sticky; top: 1.4rem; z-index: 2; height: 0; display: flex; justify-content: flex-end; padding: 0 1.4rem; pointer-events: none; }
.hotspot-close-btn, .hotspot-arrow-btn { pointer-events: auto; width: 2.6rem; height: 2.6rem; padding: .75rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid var(--line-strong); color: var(--cream); background: rgba(20, 14, 13, .6); cursor: pointer; }
.hotspot-modal__media { aspect-ratio: 4 / 3; border-radius: calc(var(--radius-lg) - .5rem); overflow: hidden; }
.hotspot-modal__media img { width: 100%; height: 100%; object-fit: cover; }
.hotspot-modal__info { display: flex; flex-direction: column; gap: 1rem; padding: 1.6rem 1rem 1.2rem; }
.hotspot-modal__n { font-size: .78rem; letter-spacing: .08em; color: var(--muted); }
.hotspot-modal__h { font-size: clamp(1.9rem, 2.6vw, 2.4rem); line-height: 1.02; }
.hotspot-modal__p { color: rgba(233, 228, 222, .85); }
.hotspot-modal__bottom { padding: 0 1.4rem 1.4rem; }
.hotspot-modal__controls { display: flex; justify-content: space-between; align-items: center; }
.hotspot-arrow-btn.is--prev { transform: scaleX(-1); }
.hotspot-modal__dots { display: flex; gap: .4rem; }
.hotspot-dot { width: .6rem; height: .6rem; padding: 0; border-radius: 50%; border: 0; background: rgba(233, 228, 222, .3); cursor: pointer; }
.hotspot-dot[data-hotspot-control-status="active"] { background: var(--cream); }

/* 3D tour */
.pd-tour__frame { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #e9e8e6; }
.pd-tour__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pd-tour__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pd-tour__start { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; border: 0; background: linear-gradient(180deg, rgba(20, 14, 13, 0) 40%, rgba(20, 14, 13, .55)); color: var(--cream); font: inherit; cursor: pointer; }
.pd-tour__ring { width: 6rem; height: 6rem; display: grid; place-items: center; border-radius: 50%; font-family: var(--serif); font-size: 1.8rem; background: rgba(20, 14, 13, .45); border: 1px solid rgba(233, 228, 222, .6); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: transform .5s var(--ease); }
.pd-tour__start:hover .pd-tour__ring { transform: scale(1.08); }
.pd-tour__hint { margin-top: .8rem; font-size: .85rem; }

/* Before / after */
.pd-compare__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.pd-compare__text { display: flex; flex-direction: column; gap: 1.2rem; }
.pd-ba { position: relative; aspect-ratio: 1; overflow: hidden; user-select: none; }
.pd-ba img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pd-ba__after { clip-path: inset(0 0 0 var(--pos)); }
.pd-ba__line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 1px; background: var(--cream); pointer-events: none; }
.pd-ba__knob { position: absolute; top: 50%; left: 50%; width: 3rem; height: 3rem; margin: -1.5rem 0 0 -1.5rem; display: grid; place-items: center; border-radius: 50%; color: var(--brown); background: var(--cream); }
.pd-ba__knob svg { width: 1.3rem; }
.pd-ba__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.pd-ba__tag { position: absolute; bottom: 1rem; padding: .3rem .8rem; border-radius: 100em; font-size: .78rem; background: rgba(20, 14, 13, .5); border: 1px solid rgba(233, 228, 222, .35); pointer-events: none; }
.pd-ba__tag.is--l { left: 1rem; } .pd-ba__tag.is--r { right: 1rem; }

/* Specification */
.pd-spec__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.pd-spec__drawings { display: flex; flex-direction: column; gap: 1.25rem; }
.pd-spec__drawing { position: relative; margin: 0; aspect-ratio: 16 / 9; background: #fff; }
.pd-spec__drawing img { width: 100%; height: 100%; object-fit: contain; }
.pd-spec__drawing figcaption { position: absolute; left: .8rem; top: .8rem; font-size: .75rem; color: #444; }
.pd-scale { padding: 1.2rem 1.4rem; border-radius: var(--radius); border: 1px solid var(--line); }
.pd-scale__label { font-size: .82rem; color: var(--muted); margin-bottom: .6rem; }
.pd-scale__svg { width: 100%; max-width: 26rem; color: var(--cream); display: block; }
.pd-spec__list { margin: 0; border-top: 1px solid var(--line); }
.pd-spec__list div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .95rem 0; border-bottom: 1px solid var(--line); }
.pd-spec__list dt { color: var(--muted); font-size: .88rem; }
.pd-spec__list dd { margin: 0; }

/* Mosaic */
.pd-mosaic__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(11rem, 18vw, 17rem); gap: 1rem; }
.pd-mosaic__grid figure { margin: 0; cursor: zoom-in; }
.pd-mosaic__grid img { width: 100%; height: 100%; object-fit: cover; }
.pd-mosaic__grid .is--tall { grid-row: span 2; }
.pd-mosaic__grid .is--wide { grid-column: span 2; }

/* Make it yours */
.pd-yours__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.pd-option { display: flex; flex-direction: column; gap: .55rem; }
.pd-option figure { margin: 0 0 .5rem; aspect-ratio: 4 / 5; }
.pd-option figure img { width: 100%; height: 100%; object-fit: cover; }
.pd-option h3 { font-size: 1.7rem; line-height: 1.1; }
.pd-option p { color: rgba(233, 228, 222, .82); font-size: .95rem; }
.pd-option__k { font-size: .8rem !important; color: var(--muted) !important; }
.pd-option--list { padding: 1.4rem; border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--brown-deep); gap: 1rem; }

/* Sketch */
.pd-sketch__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.pd-sketch__grid > figure { margin: 0; aspect-ratio: 3140 / 4104; background: #fff; }
.pd-sketch__grid > figure img { width: 100%; height: 100%; object-fit: cover; }
.pd-sketch__text { display: flex; flex-direction: column; gap: 1.2rem; }
.pd-sketch__mark { margin: .5rem 0 0; width: 7rem; border-radius: .6rem; overflow: hidden; }
.pd-sketch__mark img { width: 100%; display: block; }

/* Buying steps */
.pd-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; counter-reset: s; }
.pd-steps li { display: flex; flex-direction: column; gap: .7rem; padding: 1.4rem; border-radius: var(--radius-lg); border: 1px solid var(--line); }
.pd-steps__n { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-strong); font-size: .85rem; }
.pd-steps h3 { font-size: 1.5rem; line-height: 1.1; }
.pd-steps p { color: rgba(233, 228, 222, .8); font-size: .93rem; }

/* Related */
.pd-related { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.pd-rel { display: flex; flex-direction: column; gap: .45rem; color: inherit; text-decoration: none; }
.pd-rel > .framed { display: block; aspect-ratio: 4 / 5; overflow: hidden; }
.pd-rel img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.pd-rel:hover img { transform: scale(1.05); }
.pd-rel__n { font-family: var(--serif); font-size: 1.35rem; line-height: 1.1; margin-top: .4rem; }
.pd-rel__p { font-size: .88rem; color: var(--muted); }

/* Mobile bar */
.pd-mbar { display: none; }

@media (max-width: 991px) {
  .pd-top__grid { grid-template-columns: 1fr; }
  .pd-buy { position: relative; top: auto; }
  .pd-gallery__thumbs { grid-template-columns: repeat(8, 4.5rem); overflow-x: auto; scrollbar-width: none; }
  .pd-story__grid, .pd-compare__grid, .pd-spec__grid, .pd-sketch__grid { grid-template-columns: 1fr; }
  .pd-story__video { margin: 0 auto; max-height: 70svh; }
  .pd-yours__grid, .pd-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-option--list { grid-column: 1 / -1; }
  .pd-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-mosaic__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-dock { display: none; }
}
@media (max-width: 767px) {
  .pd-nav { top: var(--header-h); }
  .pd-nav__price { display: none; }
  .hotspot-label { display: none; }
  .hotspot-plus-btn { width: 2rem; height: 2rem; padding: .55rem; }
  .hotspot-area { width: 100%; }
  .hotspot-modal__side { max-width: none; padding: .6rem; align-items: flex-end; transform: translateY(105%); }
  .hotspot-modal__tile { max-height: 82svh; }
  .pd-tour__frame { aspect-ratio: 3 / 4; }
  .pd-spec__list div { grid-template-columns: 7rem 1fr; }
  .pd-steps { grid-template-columns: 1fr; }
  .pd-mbar { position: fixed; z-index: 60; left: .6rem; right: .6rem; bottom: .6rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .55rem .55rem 1.1rem; border-radius: 100em; border: 1px solid var(--line-strong); background: rgba(20, 14, 13, .78); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); transform: translateY(160%); transition: transform .5s var(--ease); }
  .pd-mbar.is-on { transform: none; }
  .pd-mbar__p { display: flex; flex-direction: column; line-height: 1.15; font-family: var(--serif); font-size: 1.15rem; }
  .pd-mbar__n { font-family: var(--sans); font-size: .72rem; color: var(--muted); }
}
@media (prefers-reduced-motion: reduce) { .hotspot-plus-btn { animation: none; } }

/* Round 2: provenance, delivery estimate, tools, units, dated plan, terms, tearsheet */
.pd-prov { margin-top: -.5rem; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); line-height: 1.7; }
.pd-prov i { font-style: normal; padding: 0 .35em; opacity: .6; }
.pd-buy__facts li > span:first-child { color: var(--muted); font-size: .82rem; }
.pd-buy__facts span, .pd-buy__facts em { font-style: normal; }
.pd-buy__facts li > span:not(:first-child) { color: inherit; font-size: inherit; }
.pd-eta { padding: 1rem 1.1rem; border-radius: var(--radius); border: 1px solid var(--line); background: rgba(233, 228, 222, .035); display: flex; flex-direction: column; gap: .35rem; }
.pd-eta__row { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; }
.pd-eta__k { display: inline-flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--muted); }
.pd-eta__k svg { width: 1.15rem; }
.pd-eta__dest select { appearance: none; max-width: 100%; padding: .35rem 1.8rem .35rem .8rem; border-radius: 100em; font: inherit; font-size: .8rem; color: var(--cream); background: rgba(233, 228, 222, .06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23e9e4de' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .6rem center / .8rem; border: 1px solid var(--line-strong); cursor: pointer; }
.pd-eta__dest select option { color: #111; }
.pd-eta__date { font-family: var(--serif); font-size: 1.45rem; line-height: 1.15; }
.pd-eta__note { font-size: .8rem; color: var(--muted); }
.pd-tools { display: flex; flex-wrap: wrap; gap: .5rem; }
.pd-tool { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem; border-radius: 100em; border: 1px solid var(--line); background: none; color: var(--cream); font: inherit; font-size: .8rem; text-decoration: none; cursor: pointer; transition: border-color .3s, background-color .3s; }
.pd-tool:hover, .pd-tool[aria-expanded="true"] { border-color: var(--line-strong); background: rgba(233, 228, 222, .06); }
.pd-tool svg { width: 1rem; height: 1rem; }
.pd-share { position: relative; }
.pd-share__pop { position: absolute; z-index: 20; left: 0; top: calc(100% + .4rem); min-width: 12rem; display: flex; flex-direction: column; padding: .35rem; border-radius: var(--radius); border: 1px solid var(--line-strong); background: rgba(20, 14, 13, .96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 1rem 2rem rgba(0, 0, 0, .35); }
.pd-share__pop[hidden] { display: none; }
.pd-share__pop > * { padding: .6rem .75rem; border: 0; border-radius: calc(var(--radius) - .3rem); background: none; color: var(--cream); font: inherit; font-size: .85rem; text-align: left; text-decoration: none; cursor: pointer; }
.pd-share__pop > *:hover { background: rgba(233, 228, 222, .08); }
.pd-share__pop > [hidden] { display: none; }
.pd-linkbtn { background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; }
.pd-spec__side { display: flex; flex-direction: column; gap: 1rem; }
.pd-units { display: inline-flex; align-self: flex-start; padding: .2rem; border-radius: 100em; border: 1px solid var(--line); }
.pd-units button { padding: .4rem .9rem; border: 0; border-radius: 100em; background: none; color: var(--muted); font: inherit; font-size: .8rem; cursor: pointer; transition: background-color .3s, color .3s; }
.pd-units button[aria-pressed="true"] { background: var(--cream); color: var(--brown); }
.pd-plan { display: flex; justify-content: space-between; align-items: center; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pd-plan__intro { font-family: var(--serif); font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.15; }
.pd-plan__ctrl { display: flex; align-items: center; gap: .8rem 1.2rem; flex-wrap: wrap; }
.pd-plan__ctrl .pd-eta__dest { display: inline-flex; align-items: center; gap: .6rem; }
.pd-plan__lbl { font-size: .82rem; color: var(--muted); }
.pd-steps--dated li { position: relative; }
.pd-steps__when { font-size: .8rem; letter-spacing: .04em; color: var(--cream) !important; padding: .25rem .7rem; align-self: flex-start; border-radius: 100em; background: rgba(233, 228, 222, .08); }
.pd-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.25rem; }
.pd-terms > div { padding: 1.4rem; border-radius: var(--radius-lg); background: var(--brown-deep); border: 1px solid var(--line); display: flex; flex-direction: column; gap: .6rem; }
.pd-terms h3 { font-size: 1.4rem; line-height: 1.1; }
.pd-terms p { font-size: .92rem; color: rgba(233, 228, 222, .8); }
.pd-trade-q { justify-content: flex-end; gap: .6rem; }
.pd-check { display: flex; align-items: center; gap: .6rem; font-size: .9rem; cursor: pointer; }
.pd-check input { width: 1.05rem; height: 1.05rem; accent-color: var(--cream); }
.pd-file { padding: .6rem 0; font-size: .85rem; color: var(--muted); }
.pd-file::file-selector-button { margin-right: .8rem; padding: .45rem .9rem; border-radius: 100em; border: 1px solid var(--line-strong); background: none; color: var(--cream); font: inherit; cursor: pointer; }
.pd-send { display: flex; align-items: center; gap: 1rem 1.4rem; flex-wrap: wrap; }
.pd-send .muted { font-size: .85rem; }
.pd-dialog { width: min(32rem, calc(100vw - 2rem)); padding: 0; border-radius: var(--radius-lg); border: 1px solid var(--line-strong); background: var(--brown-deep); color: var(--cream); }
.pd-dialog::backdrop { background: rgba(10, 7, 6, .6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pd-dialog__form { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: clamp(1.4rem, 3vw, 2.2rem); }
.pd-dialog__form h2 { font-size: clamp(2rem, 3vw, 2.6rem); line-height: 1; }
.pd-dialog__x { position: absolute; top: 1rem; right: 1rem; width: 2.4rem; height: 2.4rem; padding: .65rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); background: none; color: var(--cream); cursor: pointer; }
.pd-dialog__opts { display: flex; flex-wrap: wrap; gap: .5rem; border: 0; padding: 0; margin: 0; }
.pd-dialog__small { font-size: .8rem; color: var(--muted); }
.pd-sheet { display: none; }
@media (max-width: 991px) { .pd-terms { grid-template-columns: 1fr; } }

@media print {
  @page { size: A4; margin: 11mm; }
  html:has(.pd-sheet), body:has(.pd-sheet) { background: #fff !important; color: #1d1514 !important; height: auto !important; overflow: visible !important; }
  body:has(.pd-sheet) > *:not(.pd-sheet) { display: none !important; }
  .pd-sheet { display: block !important; font-family: var(--sans); color: #1d1514; font-size: 9pt; line-height: 1.4; }
  .pd-sheet__head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 3mm; margin-bottom: 5mm; border-bottom: .3mm solid #1d1514; }
  .pd-sheet__brand { font-family: var(--serif); font-size: 16pt; letter-spacing: .02em; }
  .pd-sheet__for { font-size: 9pt; color: #6b5d55; }
  .pd-sheet__grid { display: grid; grid-template-columns: 74mm 1fr; gap: 7mm; }
  .pd-sheet__hero { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2mm; }
  .pd-sheet__coll { font-size: 8pt; letter-spacing: .14em; text-transform: uppercase; color: #6b5d55; }
  .pd-sheet__title { font-family: var(--serif); font-size: 26pt; line-height: 1; margin: 1mm 0 1.5mm; color: #1d1514; }
  .pd-sheet__variant { color: #4a3e38; }
  .pd-sheet__price { font-family: var(--serif); font-size: 15pt; margin: 3mm 0; }
  .pd-sheet__lead { margin-bottom: 3mm; color: #3a2f2a; }
  .pd-sheet__dl { margin: 0; border-top: .2mm solid #cfc6bd; }
  .pd-sheet__dl div { display: grid; grid-template-columns: 24mm 1fr; gap: 3mm; padding: 1.4mm 0; border-bottom: .2mm solid #cfc6bd; }
  .pd-sheet__dl dt { color: #6b5d55; } .pd-sheet__dl dd { margin: 0; }
  .pd-sheet__row { display: grid; grid-template-columns: 1fr 1fr 1fr 1.7fr; gap: 3mm; margin-top: 6mm; }
  .pd-sheet__row img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 1.5mm; }
  .pd-sheet__row img.is--drawing { aspect-ratio: 1.7; object-fit: contain; background: #fff; border: .2mm solid #e2dbd3; }
  .pd-sheet__foot { display: flex; justify-content: space-between; gap: 4mm; margin-top: 6mm; padding-top: 3mm; border-top: .3mm solid #1d1514; font-size: 7.5pt; color: #4a3e38; }
}
.pd-prov { display: flex; flex-wrap: wrap; gap: .1rem 0; }
.pd-prov span { white-space: nowrap; }
.pd-prov span:not(:last-child)::after { content: "·"; padding: 0 .55em; opacity: .6; }
@media print { .pd-sheet, .pd-sheet * { letter-spacing: 0; } .pd-sheet__coll { letter-spacing: .14em !important; } }

/* Round 3 */
.pd-story__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pd-story__video { aspect-ratio: 4 / 5; max-height: none; width: 100%; max-width: 44rem; margin: 0 0 0 auto; }
.hotspot-section { background: none; overflow: visible; }
.hotspot-area { width: min(100%, calc((100svh - var(--header-h) - 6rem) * var(--ar, .7529))); border-radius: var(--radius-lg); }
.hotspot-modal__tile { overflow-x: hidden; overflow-y: auto; }
.hotspot-modal__collection, .hotspot-modal__list { overflow: hidden; }
.pd-tour__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: center; }
.pd-tour__frame { aspect-ratio: 1 / 1; max-height: 78svh; width: 100%; margin: 0 auto; background: #e9e8e6; }
.pd-tour__shield { position: absolute; inset: 0; z-index: 2; display: flex; align-items: flex-end; justify-content: center; padding: 1.1rem; border: 0; background: transparent; cursor: pointer; }
.pd-tour__shield[hidden] { display: none; }
.pd-tour__chip { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1.1rem; border-radius: 100em; font-size: .85rem; color: var(--cream); background: rgba(20, 14, 13, .72); border: 1px solid rgba(233, 228, 222, .35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: transform .4s var(--ease); }
.pd-tour__chip svg { width: 1.1rem; }
.pd-tour__shield:hover .pd-tour__chip { transform: translateY(-2px); }
.pd-tour__info { display: flex; flex-direction: column; gap: 1.1rem; }
.pd-tour__info h3 { font-size: clamp(2.2rem, 3.4vw, 3.2rem); line-height: 1.02; }
.pd-tour__info > p { color: rgba(233, 228, 222, .84); }
.pd-tour__how { list-style: none; margin: .2rem 0; padding: 0; border-top: 1px solid var(--line); }
.pd-tour__how li { display: flex; align-items: center; gap: .9rem; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .95rem; }
.pd-tour__how span { flex: none; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-strong); font-size: .78rem; }
.pd-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pd-pair figure { margin: 0; aspect-ratio: 4 / 5; cursor: zoom-in; }
.pd-pair__tag { position: absolute; left: 1rem; bottom: 1rem; padding: .3rem .8rem; border-radius: 100em; font-size: .78rem; background: rgba(20, 14, 13, .55); border: 1px solid rgba(233, 228, 222, .35); }
.pd-spec__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; }
.pd-spec__drawing { position: relative; margin: 0; aspect-ratio: 16 / 9; background: none; cursor: zoom-in; }
.pd-spec__drawing img { width: 100%; height: 100%; object-fit: contain; filter: invert(1) grayscale(1) brightness(1.6) contrast(1.15); }
.pd-spec__drawing figcaption { position: absolute; left: 0; top: 0; font-size: .75rem; color: var(--muted); }
.pd-sketch__grid > figure { aspect-ratio: 4 / 5; overflow: hidden; }
.pd-sketch__grid > figure img { transform: scale(var(--sk-scale, 1)); object-position: var(--sk-pos, 50% 50%); }
.pd-sketch__mark { width: 6.5rem; aspect-ratio: .53; background: #fff; border-radius: .6rem; overflow: hidden; }
.pd-sketch__mark img { width: 100%; height: 100%; object-fit: cover; }
.pd-sil { position: relative; flex: none; width: 1.3rem; height: 2.45rem; overflow: hidden; border-radius: .2rem; margin-right: -.3rem; }
.pd-sil img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: invert(1); mix-blend-mode: screen; opacity: .28; }
.pd-sil img.pd-sil__fill { opacity: 1; clip-path: inset(calc((1 - var(--p, 0)) * 100%) 0 0 0); }
.pd-avail { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1.1rem; border-radius: var(--radius); border: 1px solid rgba(214, 160, 112, .45); background: rgba(214, 160, 112, .07); font-size: .88rem; }
.pd-avail__k { display: flex; align-items: center; gap: .5rem; font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; color: #e2b48a; }
.pd-avail__dot { width: .5rem; height: .5rem; border-radius: 50%; background: #e2b48a; }
@media (max-width: 991px) {
  .pd-story__grid { grid-template-columns: 1fr; }
  .pd-story__video { margin: 0 auto; max-width: 36rem; }
  .pd-tour__grid { grid-template-columns: 1fr; }
  .pd-tour__frame { aspect-ratio: 4 / 5; }
  .pd-spec__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) { .pd-pair { gap: .6rem; } .pd-sil { display: none; } }
@media print { .pd-sheet__brand { display: flex; align-items: center; } .pd-sheet__sil { width: 5mm; height: 9.5mm; object-fit: cover; margin-right: 3mm; } }
.hotspot-area__item { display: block; }
.hotspot-label { position: absolute; top: 50%; left: calc(100% + .6rem); transform: translate(-.4rem, -50%); }
.hotspot-area__item:hover .hotspot-label { transform: translate(0, -50%); }
.hotspot-area__item.is--left .hotspot-label { left: auto; right: calc(100% + .6rem); transform: translate(.4rem, -50%); }
.hotspot-area__item.is--left:hover .hotspot-label { transform: translate(0, -50%); }

/* Round 4: drawing fix for the Koshi handles, optional sections, care guide */
.pd-spec__drawing { position: relative; }
.pd-draw-fix { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.pd-draw-fix__mask { fill: var(--brown); }
.pd-draw-fix__line { stroke: #f4f1ec; }
.pd-spec__photo { margin: 0; aspect-ratio: 4 / 3; cursor: zoom-in; }
.pd-yours__grid.is--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pd-yours__grid.is--two .pd-option--list { grid-column: auto; }
.care { padding-top: calc(var(--header-h) + 2rem); }
.care__hero { display: flex; flex-direction: column; gap: 1.2rem; max-width: 46rem; padding-bottom: clamp(2rem, 5vw, 4rem); }
.care__hero h1 { font-size: clamp(3rem, 6vw, 5.5rem); line-height: .98; }
.care__lead { font-size: 1.1rem; color: rgba(233, 228, 222, .86); }
.care__motto { font-family: var(--serif); font-style: italic; font-size: clamp(1.5rem, 2.4vw, 2.1rem); }
.care__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.care__item { display: flex; flex-direction: column; gap: .8rem; padding: 1.6rem; border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--brown-deep); }
.care__item h2 { font-size: 1.9rem; line-height: 1.05; }
.care__item p { color: rgba(233, 228, 222, .84); font-size: .95rem; }
.care__n { font-size: .78rem; letter-spacing: .1em; color: var(--muted); }
.care__help { padding: clamp(2rem, 5vw, 4rem) 0; color: var(--muted); }
@media (max-width: 991px) { .care__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .care__grid, .pd-yours__grid.is--two { grid-template-columns: 1fr; } }
@media print {
  .pd-sheet__draw { position: relative; display: block; }
  .pd-sheet__draw .pd-draw-fix__mask { fill: #fff; }
  .pd-sheet__draw .pd-draw-fix__line { stroke: #1e1e1e; }
  .pd-sheet.is--nodraw .pd-sheet__row { grid-template-columns: repeat(3, 1fr); }
  html:has(.care), body:has(.care) { background: #fff !important; height: auto !important; overflow: visible !important; }
  body:has(.care) > *:not(main) { display: none !important; }
  .care, .care * { color: #1d1514 !important; background: none !important; border-color: #cfc6bd !important; }
  .care .btn-row { display: none !important; }
  .care__grid { grid-template-columns: 1fr 1fr !important; }
  .care__item { break-inside: avoid; }
}

/* Audit (v32): the gallery mosaic keeps each photo near its own shape, no letterbox strips */
.pd-mosaic__grid { grid-auto-rows: min(15.5vw, 19rem); grid-auto-flow: dense; }
.pd-mosaic__grid > figure { grid-row: span 2; }
.pd-mosaic__grid .is--wide { grid-column: span 2; }
@media (max-width: 991px) { .pd-mosaic__grid { grid-auto-rows: 31vw; } }

/* v86 corrected dimension labels on the bar cabinet elevations */
.pd-draw-fix__text { fill: #f4f1ec; font-family: var(--sans); font-weight: 300; letter-spacing: .01em; }
.pd-sheet__draw .pd-draw-fix__text { fill: #1e1e1e; }
/* v86 hotspots: the label of the hovered or focused point sits above every other cross, on a firmer ground */
.hotspot-area__item { z-index: 1; }
.hotspot-area__item:hover, .hotspot-area__item:focus-within { z-index: 6; }
.hotspot-area__item:hover .hotspot-label, .hotspot-area__item:focus-within .hotspot-label { background: rgba(20, 14, 13, .88); }

/* v88 Panthera sideboard: the side elevation sits small, under and to the right of the front one; the studio link */
.pd-spec__drawings--side-small .pd-spec__drawing:nth-child(2) { width: min(30%, 14rem); align-self: flex-end; margin-top: -0.5rem; }
.pd-studio-link { margin-top: .6rem; width: 100%; justify-content: center; }
