.ysg {
  --ysg-duration:620ms; --ysg-ease:cubic-bezier(.22,1,.36,1);
  --ysg-reveal-duration:650ms; --ysg-reveal-delay:140ms; --ysg-stagger:70ms; --ysg-reveal-distance:16px;
  --ysg-focus-color:#71583d; --ysg-row-gap:0px; --ysg-hover-scale:1.025;
  color:#342f29; font-family:inherit; width:100%; min-width:0;
}
.ysg[data-easing="smooth"] { --ysg-ease:cubic-bezier(.65,0,.35,1); }
.ysg[data-easing="linear"] { --ysg-ease:linear; }
.ysg *, .ysg *::before, .ysg *::after { box-sizing:border-box; }
.ysg .ysg-item { --ysg-separator-width:1px; --ysg-separator-color:#d4cabe; position:relative; margin:0; background:transparent; border:0; border-block-start:var(--ysg-separator-width) solid var(--ysg-separator-color); transition:background-color .25s ease; }
.ysg .ysg-item + .ysg-item { margin-block-start:var(--ysg-row-gap); }
.ysg .ysg-item:last-of-type { border-block-end:var(--ysg-separator-width) solid var(--ysg-separator-color); }
.ysg .ysg-heading { font:inherit; color:inherit; padding:0; margin:0; border:0; }
.ysg button.ysg-trigger { position:relative; display:flex; align-items:center; gap:22px; width:100%; min-height:110px; padding:24px 4px; margin:0; border:0; border-radius:inherit; background:transparent; color:inherit; font:inherit; text-align:start; white-space:normal; text-transform:none; letter-spacing:normal; cursor:pointer; box-shadow:none; }
.ysg .ysg-trigger:focus-visible, .ysg .ysg-photo:focus-visible, .ysg .ysg-cta:focus-visible, .ysg .ysg-dialog button:focus-visible { outline:2px solid var(--ysg-focus-color); outline-offset:4px; }
.ysg .ysg-trigger:hover, .ysg .ysg-trigger:focus { background:transparent; color:inherit; }
.ysg .ysg-copy { display:flex; flex:1 1 0; min-width:0; flex-direction:column; gap:8px; }
.ysg .ysg-title { font-size:clamp(22px,2.2vw,34px); font-weight:500; line-height:1.25; overflow-wrap:anywhere; }
.ysg .ysg-subtitle { font-size:16px; line-height:1.6; font-weight:400; color:#706557; overflow-wrap:anywhere; }
.ysg .ysg-number { flex:0 0 auto; font-size:14px; font-weight:400; font-variant-numeric:tabular-nums; color:#706557; }
.ysg .ysg-thumbnail { --ysg-thumb-rotation:4deg; display:none; flex:0 0 auto; width:64px; max-width:28%; height:80px; overflow:hidden; border-radius:3px; transform:rotate(var(--ysg-thumb-rotation)); }
.ysg .ysg-thumbnail img { display:block; height:100%; width:100%; object-fit:cover; }
.ysg .ysg-toggle { --ysg-icon-size:22px; --ysg-icon-box:44px; position:relative; display:grid; place-items:center; flex:0 0 auto; width:var(--ysg-icon-box); height:var(--ysg-icon-box); color:inherit; border-radius:50%; font-size:var(--ysg-icon-size); }
.ysg[data-icon-side="start"] .ysg-toggle { order:-1; }
.ysg .ysg-toggle > span { display:flex; align-items:center; justify-content:center; grid-area:1 / 1; width:100%; height:100%; transition:opacity var(--ysg-duration) var(--ysg-ease), transform var(--ysg-duration) var(--ysg-ease); }
.ysg .ysg-toggle svg, .ysg .ysg-toggle img { width:var(--ysg-icon-size); height:var(--ysg-icon-size); object-fit:contain; fill:currentColor; }
.ysg .ysg-icon-close { opacity:0; transform:rotate(-70deg) scale(.8); }
.ysg .is-open > .ysg-heading .ysg-icon-open { opacity:0; transform:rotate(70deg) scale(.8); }
.ysg .is-open > .ysg-heading .ysg-icon-close { opacity:1; transform:rotate(0) scale(1); }
.ysg .ysg-preview { --ysg-preview-display:flex; --ysg-preview-width:115px; --ysg-preview-rotation:6deg; display:none; gap:6px; position:absolute; inset-inline-end:18%; top:50%; z-index:3; max-width:65%; opacity:0; transform:translateY(calc(-50% + 10px)); pointer-events:none; transition:opacity .25s ease, transform .4s var(--ysg-ease); }
.ysg .ysg-preview img { display:block; width:var(--ysg-preview-width); min-width:0; max-width:48%; height:auto; aspect-ratio:3 / 4; object-fit:cover; border:5px solid #fffaf3; border-radius:3px; box-shadow:0 8px 22px #0002; transform:rotate(calc(-1 * var(--ysg-preview-rotation))); }
.ysg .ysg-preview img:only-child { max-width:100%; }
.ysg .ysg-preview img:nth-child(2) { transform:translateY(12px) rotate(var(--ysg-preview-rotation)); }
@media (hover:hover) and (pointer:fine) {
  .ysg .ysg-preview { display:var(--ysg-preview-display); }
  .ysg .ysg-item:not(.is-open) > .ysg-heading .ysg-trigger:hover .ysg-preview,
  .ysg .ysg-item:not(.is-open) > .ysg-heading .ysg-trigger:focus-visible .ysg-preview { opacity:1; transform:translateY(-50%); }
  .ysg .ysg-photo:hover img { transform:scale(var(--ysg-hover-scale)); }
}
@media (hover:none) {
  .ysg .ysg-thumbnail { display:block; }
}
.ysg .ysg-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--ysg-duration) var(--ysg-ease); }
.ysg .is-open > .ysg-panel { grid-template-rows:1fr; }
.ysg .ysg-clip { min-height:0; overflow:hidden; }
.ysg .ysg-content { padding:0 4px 24px; }
.ysg .ysg-description { font-size:16px; line-height:1.75; margin-bottom:22px; overflow-wrap:anywhere; }
.ysg .ysg-description > :first-child { margin-top:0; }
.ysg .ysg-description > :last-child { margin-bottom:0; }
.ysg .ysg-description a { text-decoration:underline; }
.ysg .ysg-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:start; }
.ysg .ysg-figure { width:100%; max-width:100%; min-width:0; margin:0; padding:0; opacity:0; transform:translateY(var(--ysg-reveal-distance)) scale(.985); transition:opacity 180ms ease, transform 300ms var(--ysg-ease); }
.ysg .is-open > .ysg-panel .ysg-figure { opacity:1; transform:translateY(0) scale(1); transition:opacity var(--ysg-reveal-duration) ease, transform var(--ysg-reveal-duration) var(--ysg-ease); transition-delay:calc(var(--ysg-reveal-delay) + var(--ysg-i,0) * var(--ysg-stagger)); }
.ysg[data-reveal="fade"] .ysg-figure { transform:none; }
.ysg[data-reveal="none"] .ysg-figure { opacity:1; transform:none; transition:none; }
.ysg .ysg-photo { display:block; overflow:hidden; border-radius:4px; width:100%; background:#eae4dc; text-decoration:none; }
.ysg .ysg-photo img { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; object-position:center; transition:transform .4s var(--ysg-ease); }
.ysg .ysg-caption { margin-top:8px; font-size:14px; line-height:1.5; color:#706557; overflow-wrap:anywhere; }
.ysg .ysg-cta-wrap { margin-top:24px; }
.ysg a.ysg-cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:12px 24px; border:1px solid #342f29; border-radius:4px; background:#342f29; color:#fff; font:inherit; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; transition:color .2s, background-color .2s; }
.ysg a.ysg-cta:hover { background:#584a3b; color:#fff; }
.ysg .ysg-dialog { --ysg-lightbox-bg:#191714f5; position:fixed; inset:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; padding:clamp(12px,3vw,40px); border:0; border-radius:0; background:var(--ysg-lightbox-bg); color:#fff; overflow:auto; overscroll-behavior:contain; }
.ysg .ysg-dialog:not([open]) { display:none; }
.ysg .ysg-dialog::backdrop { background:#000a; }
.ysg .ysg-dialog-inner { display:flex; flex-direction:column; justify-content:center; min-height:100%; gap:12px; }
.ysg .ysg-dialog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ysg .ysg-dialog-count { font-size:14px; font-variant-numeric:tabular-nums; direction:ltr; unicode-bidi:isolate; }
.ysg .ysg-dialog button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:1px solid #ffffff55; background:#ffffff15; color:inherit; border-radius:50%; font-family:Arial,sans-serif; font-size:28px; line-height:1; cursor:pointer; box-shadow:none; }
.ysg .ysg-dialog button:hover { background:#ffffff30; }
.ysg .ysg-dialog button[hidden] { display:none; }
.ysg .ysg-dialog-stage { display:flex; align-items:center; justify-content:center; gap:12px; min-width:0; direction:ltr; }
.ysg .ysg-dialog-image { display:block; flex:0 1 auto; min-width:0; max-width:calc(100% - 112px); width:auto; height:auto; max-height:72dvh; object-fit:contain; touch-action:pan-y pinch-zoom; }
.ysg .ysg-dialog-caption, .ysg .ysg-dialog-error { text-align:center; font-size:15px; line-height:1.5; margin:0; overflow-wrap:anywhere; }
.ysg .ysg-dialog-error[hidden] { display:none; }
@media (max-width:767px) {
  .ysg button.ysg-trigger { gap:12px; padding:18px 2px; }
  .ysg .ysg-title { font-size:22px; }
  .ysg .ysg-subtitle { font-size:14px; }
  .ysg .ysg-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .ysg .ysg-dialog-stage { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:10px; }
  .ysg .ysg-dialog-image { grid-column:1 / -1; grid-row:1; justify-self:center; max-width:100%; max-height:65dvh; }
  .ysg .ysg-dialog-prev { grid-column:1; grid-row:2; }
  .ysg .ysg-dialog-next { grid-column:3; grid-row:2; }
}
@media (prefers-reduced-motion:reduce) {
  .ysg .ysg-panel, .ysg .ysg-figure, .ysg .is-open > .ysg-panel .ysg-figure,
  .ysg .ysg-preview, .ysg .ysg-toggle > span, .ysg .ysg-photo img,
  .ysg .ysg-item, .ysg a.ysg-cta { transition:none !important; animation:none !important; }
  .ysg .ysg-figure { transform:none; }
}

/* Service markers added in 1.1.0; existing number selectors stay unchanged. */
.ysg .ysg-service-icon { --ysg-service-icon-size:28px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; color:#706557; font-size:var(--ysg-service-icon-size); line-height:1; }
.ysg .ysg-service-icon i { font-size:inherit; }
.ysg .ysg-service-icon svg, .ysg .ysg-service-icon img { display:block; width:var(--ysg-service-icon-size); height:var(--ysg-service-icon-size); object-fit:contain; fill:currentColor; }
