:root {
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:    'Hanken Grotesk', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --paper:         #FFFCF8;
  --cream:         #FBF4EA;
  --sand:          #F3E7D8;
  --sand-deep:     #EADBC8;
  --blush:         #F7E6E0;
  --peach:         #F8E4D2;
  --ink:           #3B322B;
  --ink-2:         #2B2520;
  --text-body:     #6B5F53;
  --text-muted:    #9A8B7C;
  --mauve:         #9E5E73;
  --mauve-deep:    #834A5D;
  --rose:          #C18A77;
  --champagne:     #C7A77C;
  --hairline:      rgba(59, 50, 43, 0.14);
  --hairline-ledger: #E4DAD0;
  --hairline-on-ink: rgba(255, 252, 248, 0.22);
  --on-ink:        #FFFCF8;
  --on-ink-mut:    rgba(255, 252, 248, 0.72);
  --ink-nav:       #211A1D;
  --mauve-press:   #843F55;
  --blush-row:     #F6EEE9;
  --wrap-max:      1280px;
  --gutter:        clamp(20px, 6vw, 96px);
  --section-y:     clamp(72px, 10vw, 160px);
  --line-measure:  62ch;
  --header-h:      72px;
  --mobile-bar-h:  64px;
  --ease-soft:     cubic-bezier(0.22, 0.61, 0.36, 1);
  --reveal-dur:    520ms;
  --accent-primary: var(--mauve);
  --color-bg:       var(--paper);
  --color-ink:      var(--ink);
}
*,
*::before,
*::after { box-sizing: border-box; }
* { margin: 0; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: transparent;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
body {
  min-height: 100vh;
  margin: 0;
  background: var(--paper);
  color: var(--text-body);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.7;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}
img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
  height: auto;
}
svg { fill: currentColor; }
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}
button { cursor: pointer; background: none; border: none; }
ul,
ol { list-style: none; padding: 0; }
a { color: var(--mauve); text-decoration: none; transition: color 0.25s var(--ease-soft); }
a:hover { color: var(--mauve-deep); }
p { text-wrap: pretty; }
:focus-visible {
  outline: 2px solid var(--mauve);
  outline-offset: 2px;
}
::selection {
  background: var(--mauve);
  color: var(--paper);
}
hr { border: 0; border-top: 1px solid var(--hairline); }
body:not(.home):not(.front-page) { padding-top: var(--header-h); }
[id] { scroll-margin-top: calc(var(--header-h) + 16px); }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--ink);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-wrap: balance;
  font-optical-sizing: auto;
}
h1, .sb-h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); letter-spacing: -0.03em; line-height: 1.02; }
h2, .sb-h2,
.sb-section-title { font-size: clamp(2.5rem, 4.5vw, 4.25rem); letter-spacing: -0.02em; line-height: 1.04; }
h3, .sb-h3 { font-size: clamp(1.25rem, 2.2vw, 1.7rem); letter-spacing: -0.01em; }
h4         { font-size: 1.15rem; }
.sb-pullquote,
.sb-quote--display {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(2.6rem, 6vw, 4.75rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--ink);
  text-wrap: balance;
}
.sb-display {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(4rem, 13vw, 11rem);
  letter-spacing: -0.04em;
  line-height: 0.9;
  color: var(--ink);
}
.sb-display em,
.sb-italic { font-style: italic; font-weight: 500; }
.sb-lead {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.6;
  color: var(--text-body);
}
.sb-body { font-size: 1.0625rem; line-height: 1.7; color: var(--text-body); max-width: var(--line-measure); }
.sb-lead { max-width: var(--line-measure); }
.sb-prose { max-width: var(--line-measure); }
.sb-prose p { max-width: var(--line-measure); }
.sb-muted { color: var(--text-muted); }
.sb-label {
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: lowercase;
  color: var(--text-muted);
  line-height: 1.4;
}
.sb-label--accent {
  text-transform: uppercase;
  color: var(--mauve);
}
.sb-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: lowercase;
  color: var(--mauve);
}
.sb-eyebrow::before {
  content: "";
  width: 1.8em;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}
.sb-index {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.sb-index::after {
  content: " —";
  color: var(--mauve);
  font-weight: 400;
}
.sb-wrap,
.hgc-container {
  width: 100%;
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.sb-section { padding-block: var(--section-y); }
.sb-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: clamp(16px, 2.4vw, 40px);
  row-gap: clamp(24px, 4vw, 56px);
}
@media (max-width: 860px) {
  .sb-grid { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 560px) {
  .sb-grid { grid-template-columns: 1fr; }
}
.sb-rule {
  border: 0;
  border-top: 1px solid var(--hairline);
  width: 100%;
}
.sb-rule--ink { border-top-color: var(--hairline-on-ink); }
.sb-band--ink     { background: var(--cream); color: var(--text-body); }
.sb-band--cream   { background: var(--cream); color: var(--text-body); }
.sb-band--sand    { background: var(--sand); color: var(--text-body); }
.sb-band--blush   { background: var(--blush); color: var(--text-body); }
.sb-band--peach   { background: var(--peach); color: var(--text-body); }
.sb-band--paper   { background: var(--paper); color: var(--text-body); }
.sb-band--ink h1, .sb-band--ink h2, .sb-band--ink h3, .sb-band--ink h4,
.sb-band--cream h1, .sb-band--cream h2, .sb-band--cream h3, .sb-band--cream h4,
.sb-band--sand h1, .sb-band--sand h2, .sb-band--sand h3, .sb-band--sand h4 { color: var(--ink); }
.sb-band--mauve   { background: var(--mauve); color: var(--on-ink); }
.sb-band--mauve h1, .sb-band--mauve h2, .sb-band--mauve h3, .sb-band--mauve h4 { color: var(--on-ink); }
.sb-kohl {
  display: block;
  color: var(--mauve);
  width: 100%;
  pointer-events: none;
}
.sb-kohl svg { width: 100%; height: auto; overflow: visible; }
.sb-kohl svg path { fill: none; stroke: currentColor; }
@media (prefers-reduced-motion: no-preference) {
  .sb-kohl svg path {
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
    transition: stroke-dashoffset 1.1s var(--ease-soft);
  }
  .sb-kohl.is-drawn svg path,
  .sb-kohl.hgc-visible svg path,
  .hgc-visible .sb-kohl svg path,
  .is-drawn .sb-kohl svg path { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sb-kohl svg path { stroke-dasharray: none; stroke-dashoffset: 0; }
}
.sb-kohl--underline { max-width: 220px; margin-top: 0.4rem; }
.sb-arc {
  display: inline-block;
  color: var(--mauve);
  width: clamp(120px, 18vw, 240px);
}
.sb-arc svg { width: 100%; height: auto; }
.sb-arc svg path { fill: none; stroke: currentColor; }
.sb-arc-mask {
  -webkit-mask: url("../img/stencil-arc.svg") center / contain no-repeat;
  mask: url("../img/stencil-arc.svg") center / contain no-repeat;
}
.sb-grain { position: relative; }
.sb-grain::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.05;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 160px 160px;
}
.sb-band--mauve.sb-grain::after,
.sb-grain--on-ink::after { mix-blend-mode: screen; opacity: 0.07; }
.sb-btn,
.hgc-btn {
  --btn-bg: var(--mauve);
  --btn-fg: var(--on-ink);
  --btn-bd: var(--mauve);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  min-height: 56px;
  padding: 0 28px;
  border-radius: 999px;
  border: 1px solid var(--btn-bd);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s var(--ease-soft),
              border-color 0.2s var(--ease-soft),
              color 0.2s var(--ease-soft),
              transform 0.2s var(--ease-soft);
  -webkit-appearance: none;
  appearance: none;
}
.sb-btn:hover,
.hgc-btn:hover {
  --btn-bg: var(--mauve-press);
  --btn-fg: var(--on-ink);
  --btn-bd: var(--mauve-press);
  color: var(--on-ink);
  transform: translateY(-1px);
}
.sb-btn:active,
.hgc-btn:active { transform: translateY(0); }
.sb-btn svg,
.hgc-btn svg { width: 1.05em; height: 1.05em; }
@media (max-width: 768px) {
  .sb-btn,
  .hgc-btn { min-height: 52px; padding: 0 24px; }
}
.sb-btn--primary,
.hgc-btn--primary {
  --btn-bg: var(--mauve);
  --btn-fg: var(--on-ink);
  --btn-bd: var(--mauve);
}
.sb-btn--champagne {
  --btn-bg: var(--champagne);
  --btn-fg: var(--ink);
  --btn-bd: var(--champagne);
}
.sb-btn--champagne:hover {
  --btn-bg: var(--mauve-press);
  --btn-fg: var(--on-ink);
  --btn-bd: var(--mauve-press);
}
.sb-btn--ghost,
.hgc-btn--outline,
.hgc-btn--accent {
  --btn-bg: transparent;
  --btn-fg: var(--mauve);
  --btn-bd: var(--mauve);
  background: transparent;
  color: var(--mauve);
  border-color: var(--mauve);
}
.sb-btn--ghost:hover,
.hgc-btn--outline:hover,
.hgc-btn--accent:hover {
  --btn-bg: var(--mauve);
  --btn-fg: var(--on-ink);
  --btn-bd: var(--mauve);
  color: var(--on-ink);
  transform: translateY(-1px);
}
.sb-band--mauve .sb-btn--ghost,
.sb-btn--ghost.sb-btn--on-ink,
.sb-photo .sb-btn--ghost {
  color: var(--on-ink);
  border-color: var(--hairline-on-ink);
}
.sb-band--mauve .sb-btn--ghost:hover,
.sb-btn--ghost.sb-btn--on-ink:hover {
  background: var(--paper);
  color: var(--ink);
  border-color: var(--paper);
}
.hgc-btn--whatsapp {
  --btn-bg: transparent;
  --btn-fg: var(--mauve);
  --btn-bd: var(--mauve);
  background: transparent;
  color: var(--mauve);
}
.hgc-btn--whatsapp:hover {
  --btn-bg: var(--mauve);
  --btn-fg: var(--on-ink);
  --btn-bd: var(--mauve);
}
.sb-btn--sm,
.hgc-btn--sm { min-height: 42px; padding: 0.5rem 1.25rem; font-size: 0.85rem; }
.sb-btn--lg,
.hgc-btn--lg { min-height: 54px; padding: 0.95rem 2.3rem; font-size: 1rem; }
.hgc-btn--full,
.sb-btn--full { width: 100%; }
.sb-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--mauve);
  border-bottom: 1px solid transparent;
  transition: border-color 0.25s var(--ease-soft), color 0.25s var(--ease-soft);
}
.sb-link:hover { color: var(--mauve-deep); border-bottom-color: currentColor; }
.sb-photo,
.sb-photo-slot {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--sand);
  border: 1px solid var(--hairline);
  border-radius: 0;
  isolation: isolate;
}
.sb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ease-soft);
}
.sb-photo:hover .sb-img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
  .sb-photo:hover .sb-img { transform: none; }
}
.sb-photo--portrait .sb-img,
.sb-photo--wide .sb-img,
.sb-photo--square .sb-img,
.sb-photo--tall .sb-img {
  position: absolute;
  inset: 0;
}
.sb-photo > img:not(.sb-img),
.sb-photo-slot > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 2;
}
.sb-photo--portrait,
.sb-photo-slot--portrait { aspect-ratio: 4 / 5; }
.sb-photo--wide,
.sb-photo-slot--wide { aspect-ratio: 16 / 9; }
.sb-photo--square,
.sb-photo-slot--square { aspect-ratio: 1 / 1; }
.sb-photo--tall,
.sb-photo-slot--tall { aspect-ratio: 3 / 4; }
.sb-photo > picture { display: block; width: 100%; height: 100%; }
.sb-photo--portrait > picture,
.sb-photo--wide > picture,
.sb-photo--square > picture,
.sb-photo--tall > picture { position: absolute; inset: 0; }
.sb-photo > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ease-soft);
}
.sb-photo:hover > picture > img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
  .sb-photo:hover > picture > img { transform: none; }
}
.sb-photo--ink,
.sb-photo-slot--ink { background: var(--sand-deep); border-color: var(--hairline); }
.sb-photo__ph { display: none; }
.sb-photo.is-empty { background: var(--sand); }
.sb-photo.is-empty .sb-photo__ph {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  pointer-events: none;
}
.sb-photo.is-empty .sb-photo__ph::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.05;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 160px 160px;
}
.sb-photo.is-empty .sb-photo__ph::after {
  content: "";
  width: 46%;
  max-width: 180px;
  aspect-ratio: 240 / 140;
  background: var(--mauve);
  opacity: 0.42;
  -webkit-mask: url("../img/stencil-arc.svg") center / contain no-repeat;
  mask: url("../img/stencil-arc.svg") center / contain no-repeat;
}
.sb-photo.is-empty .sb-photo__cap {
  position: relative;
  z-index: 1;
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: lowercase;
  color: var(--text-muted);
}
.sb-photo-slot {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sb-photo-slot::before,
.sb-photo-slot__fill::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.05;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 160px 160px;
  z-index: 1;
}
.sb-photo-slot::after {
  content: "";
  position: absolute;
  width: 46%;
  max-width: 200px;
  aspect-ratio: 240 / 140;
  background: var(--mauve);
  opacity: 0.42;
  -webkit-mask: url("../img/stencil-arc.svg") center / contain no-repeat;
  mask: url("../img/stencil-arc.svg") center / contain no-repeat;
  z-index: 1;
}
.sb-photo__caption,
.sb-photo-slot__hint {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 1;
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: lowercase;
  color: var(--text-muted);
}
.sb-photo-slot:has(> img)::after,
.sb-photo-slot:has(> img)::before { display: none; }
.sb-wash {
  position: relative;
  isolation: isolate;
}
.sb-wash::before {
  content: "";
  position: absolute;
  inset: -10% -5%;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 70% 70%, 60% 60%;
  opacity: 0.9;
}
.sb-wash--blush::before {
  background-image:
    radial-gradient(closest-side, rgba(247, 230, 224, 0.9), rgba(247, 230, 224, 0) 70%),
    radial-gradient(closest-side, rgba(193, 138, 119, 0.18), rgba(193, 138, 119, 0) 70%);
  background-position: 12% 8%, 86% 84%;
}
.sb-wash--peach::before {
  background-image:
    radial-gradient(closest-side, rgba(248, 228, 210, 0.9), rgba(248, 228, 210, 0) 70%),
    radial-gradient(closest-side, rgba(199, 167, 124, 0.18), rgba(199, 167, 124, 0) 70%);
  background-position: 88% 10%, 10% 88%;
}
@media (prefers-reduced-motion: no-preference) {
  .sb-wash--blush::before { animation: sb-wash-drift 28s var(--ease-soft) infinite alternate; }
  .sb-wash--peach::before { animation: sb-wash-drift 34s var(--ease-soft) infinite alternate-reverse; }
}
@keyframes sb-wash-drift {
  from { transform: translate3d(-2%, -1.5%, 0) scale(1); }
  to   { transform: translate3d(2.5%, 2%, 0) scale(1.06); }
}
.sb-scrim {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(255, 252, 248, 0.86),
    rgba(255, 252, 248, 0.50) 55%,
    rgba(255, 252, 248, 0.30)
  );
}
.sb-scrim--bottom {
  background: linear-gradient(
    to top,
    rgba(255, 252, 248, 0.92),
    rgba(255, 252, 248, 0.55) 40%,
    rgba(255, 252, 248, 0) 80%
  );
}
.sb-scrim--even {
  background: rgba(255, 252, 248, 0.62);
}
@media (prefers-reduced-motion: no-preference) {
  .sb-rise:not(.hgc-visible):not(.is-visible),
  .hgc-fade-up:not(.hgc-visible):not(.is-visible) {
    opacity: 0;
    transform: translateY(16px);
  }
  .sb-rise,
  .hgc-fade-up {
    transition: opacity var(--reveal-dur) var(--ease-soft),
                transform var(--reveal-dur) var(--ease-soft);
  }
  .sb-rise.hgc-visible,
  .sb-rise.is-visible,
  .hgc-fade-up.hgc-visible,
  .hgc-fade-up.is-visible {
    opacity: 1;
    transform: none;
  }
}
.hgc-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--paper);
  color: var(--ink);
  border-bottom: 1px solid var(--hairline);
  transition: background-color 0.35s var(--ease-soft),
              color 0.35s var(--ease-soft),
              border-color 0.35s var(--ease-soft);
}
.hgc-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 4vw, 48px);
  width: 100%;
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding: 0 var(--gutter);
  height: var(--header-h);
}
body.home .hgc-header:not(.scrolled),
body.front-page .hgc-header:not(.scrolled) {
  background: transparent;
  color: var(--ink);
  border-bottom-color: transparent;
}
.hgc-header.scrolled {
  background: var(--paper);
  color: var(--ink);
  border-bottom-color: var(--hairline);
  backdrop-filter: saturate(1.05);
}
.hgc-header__logo { display: inline-flex; align-items: center; color: inherit; }
.hgc-header__logo-text {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: -0.02em;
  color: inherit;
  line-height: 1;
}
.hgc-header__nav-list {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.4vw, 34px);
  margin: 0;
}
.hgc-header__nav-link {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  text-transform: lowercase;
  color: inherit;
  opacity: 0.82;
  position: relative;
  padding-bottom: 2px;
  transition: opacity 0.25s var(--ease-soft), color 0.25s var(--ease-soft);
}
.hgc-header__nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: var(--mauve);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--ease-soft);
}
.hgc-header__nav-link:hover { opacity: 1; color: inherit; }
.hgc-header__nav-link:hover::after,
.hgc-header__nav-item.is-active .hgc-header__nav-link::after { transform: scaleX(1); }
.hgc-header__actions { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 22px); }
.hgc-header .hgc-lang-switcher__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  background: transparent;
  border: 0;
  color: inherit;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 4px;
  opacity: 0.85;
  transition: opacity 0.25s var(--ease-soft);
}
.hgc-header .hgc-lang-switcher__toggle:hover { opacity: 1; }
.hgc-header__mobile-lang { display: none; }
.hgc-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 8px;
  color: inherit;
}
.hgc-hamburger span {
  display: block;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  border-radius: 0;
  transition: transform 0.3s var(--ease-soft), opacity 0.2s var(--ease-soft);
}
.hgc-hamburger.active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hgc-hamburger.active span:nth-child(2) { opacity: 0; }
.hgc-hamburger.active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
@media (max-width: 920px) {
  .hgc-header__nav { display: none; }
  .hgc-header__cta-wrap { display: none; }
  .hgc-hamburger { display: flex; }
  .hgc-header .hgc-header__actions > .hgc-lang-switcher--dropdown { display: none; }
  .hgc-header__mobile-lang { display: inline-flex; }
}
.hgc-mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 1100;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s var(--ease-soft), visibility 0.4s var(--ease-soft);
}
.hgc-mobile-nav.active { visibility: visible; opacity: 1; }
.hgc-mobile-nav__overlay {
  position: absolute;
  inset: 0;
  background: rgba(59, 50, 43, 0.32);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.hgc-mobile-nav__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(86vw, 420px);
  background: var(--cream);
  color: var(--ink);
  border-left: 1px solid var(--hairline);
  padding: clamp(28px, 8vw, 56px) clamp(24px, 7vw, 44px);
  padding-top: max(env(safe-area-inset-top), 28px);
  display: flex;
  flex-direction: column;
  gap: 28px;
  transform: translateX(100%);
  transition: transform 0.42s var(--ease-soft);
  overflow-y: auto;
}
.hgc-mobile-nav.active .hgc-mobile-nav__panel { transform: translateX(0); }
.hgc-mobile-nav__close {
  align-self: flex-end;
  color: var(--text-muted);
  transition: color 0.25s var(--ease-soft);
}
.hgc-mobile-nav__close:hover { color: var(--ink); }
.hgc-mobile-nav__links { display: flex; flex-direction: column; gap: 2px; }
.hgc-mobile-nav__link {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 8vw, 2.6rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink);
  padding: 0.25em 0;
  transition: color 0.25s var(--ease-soft), padding-left 0.25s var(--ease-soft);
}
.hgc-mobile-nav__link:hover { color: var(--mauve); padding-left: 0.35em; }
.hgc-mobile-nav__actions { margin-top: auto; }
.hgc-mobile-nav__cta { width: 100%; }
.hgc-mobile-nav__phone { border-top: 1px solid var(--hairline); padding-top: 20px; }
.hgc-mobile-nav__phone-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  color: var(--text-body);
}
.hgc-mobile-nav__phone-link:hover { color: var(--mauve); }
.hgc-footer {
  background: var(--sand);
  color: var(--text-body);
  border-top: 1px solid var(--hairline);
}
.hgc-footer a { color: var(--text-body); }
.hgc-footer a:hover { color: var(--mauve); }
.hgc-footer__main { padding-block: clamp(56px, 9vw, 110px); }
.hgc-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: clamp(28px, 5vw, 64px);
}
@media (max-width: 860px) { .hgc-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .hgc-footer__grid { grid-template-columns: 1fr; } }
.hgc-footer__brand-name {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.hgc-footer__brand-text { margin-top: 0.8rem; font-size: 0.94rem; line-height: 1.65; max-width: 34ch; }
.hgc-footer__social { display: flex; gap: 14px; margin-top: 1.4rem; }
.hgc-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--hairline);
  color: var(--text-body);
  transition: color 0.25s var(--ease-soft), border-color 0.25s var(--ease-soft);
}
.hgc-footer__social-link:hover { color: var(--mauve); border-color: var(--mauve); }
.hgc-footer__title {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: lowercase;
  color: var(--mauve);
  margin-bottom: 1.1rem;
}
.hgc-footer__links { display: flex; flex-direction: column; gap: 0.7rem; }
.hgc-footer__links a { font-size: 0.92rem; }
.hgc-footer__contact { display: flex; flex-direction: column; gap: 0.95rem; }
.hgc-footer__contact li { display: flex; align-items: flex-start; gap: 0.7em; font-size: 0.9rem; line-height: 1.5; }
.hgc-footer__contact svg { flex-shrink: 0; margin-top: 0.2em; color: var(--mauve); }
.hgc-footer__badges { border-top: 1px solid var(--hairline); padding-block: 22px; }
.hgc-footer__badges-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.hgc-footer__ftc {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}
.hgc-footer__powered { display: inline-flex; align-items: center; gap: 0.4em; font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em; }
.hgc-footer__powered-link { color: var(--mauve); }
.hgc-footer__bottom { border-top: 1px solid var(--hairline); padding-block: 18px; }
.hgc-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.hgc-footer__copyright { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.05em; }
.hgc-footer__legal-links { display: inline-flex; gap: 18px; }
.hgc-footer__legal-links a { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.05em; }
#hgcAppointmentForm { display: flex; flex-direction: column; gap: clamp(20px, 3vw, 30px); }
#hgcAppointmentForm .hgc-form-group { display: flex; flex-direction: column; gap: 0.5rem; }
#hgcAppointmentForm .hgc-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 3vw, 26px);
}
@media (max-width: 560px) { #hgcAppointmentForm .hgc-form-row { grid-template-columns: 1fr; } }
#hgcAppointmentForm .hgc-form-group__label {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: lowercase;
  color: var(--text-muted);
}
#hgcAppointmentForm .hgc-form-group__required { color: var(--mauve); }
#hgcAppointmentForm .hgc-form-group__input,
#hgcAppointmentForm .hgc-form-group__textarea,
#hgcAppointmentForm select.hgc-form-group__input,
#hgcAppointmentForm input[type="text"],
#hgcAppointmentForm input[type="tel"],
#hgcAppointmentForm input[type="email"],
#hgcAppointmentForm textarea,
#hgcAppointmentForm select {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  border-radius: 0;
  padding: 0.55rem 0;
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink);
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.25s var(--ease-soft);
}
#hgcAppointmentForm textarea { resize: vertical; min-height: 3.2em; }
#hgcAppointmentForm select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239E5E73' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  padding-right: 24px;
}
#hgcAppointmentForm .hgc-form-group__input:focus,
#hgcAppointmentForm .hgc-form-group__textarea:focus,
#hgcAppointmentForm select:focus,
#hgcAppointmentForm input:focus,
#hgcAppointmentForm textarea:focus {
  outline: none;
  border-bottom-color: var(--mauve);
}
#hgcAppointmentForm ::placeholder { color: var(--text-muted); opacity: 0.7; }
#hgcAppointmentForm .hgc-appointment-types {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
}
@media (max-width: 560px) { #hgcAppointmentForm .hgc-appointment-types { grid-template-columns: 1fr; } }
#hgcAppointmentForm .hgc-appointment-type { display: block; cursor: pointer; }
#hgcAppointmentForm .hgc-appointment-type input { position: absolute; opacity: 0; pointer-events: none; }
#hgcAppointmentForm .hgc-appointment-type__card {
  display: flex;
  align-items: center;
  gap: 0.7em;
  padding: 0.95rem 0.4rem;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  border-radius: 0;
  box-shadow: none;
  color: var(--text-body);
  transition: color 0.25s var(--ease-soft), border-color 0.25s var(--ease-soft);
}
@media (min-width: 561px) {
  #hgcAppointmentForm .hgc-appointment-type:not(:last-child) .hgc-appointment-type__card { border-right: 1px solid var(--hairline); }
}
#hgcAppointmentForm .hgc-appointment-type__icon { color: var(--mauve); display: inline-flex; }
#hgcAppointmentForm .hgc-appointment-type__name { font-family: var(--font-body); font-weight: 600; font-size: 0.92rem; color: var(--ink); }
#hgcAppointmentForm .hgc-appointment-type__badge {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--text-muted);
  margin-top: 2px;
}
#hgcAppointmentForm .hgc-appointment-type:hover .hgc-appointment-type__card { color: var(--ink); }
#hgcAppointmentForm .hgc-appointment-type input:checked + .hgc-appointment-type__card {
  border-bottom-color: var(--mauve);
  box-shadow: inset 0 -2px 0 var(--mauve);
}
#hgcAppointmentForm .hgc-appointment-type input:focus-visible + .hgc-appointment-type__card { outline: 2px solid var(--mauve); outline-offset: 2px; }
#hgcAppointmentForm .hgc-appointment__consent { display: flex; flex-direction: column; gap: 0.85rem; }
#hgcAppointmentForm .hgc-appointment__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.7em;
  cursor: pointer;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--text-body);
}
#hgcAppointmentForm .hgc-appointment__checkbox input { position: absolute; opacity: 0; pointer-events: none; }
#hgcAppointmentForm .hgc-appointment__checkbox-mark {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1px solid var(--hairline);
  border-radius: 0;
  background: transparent;
  position: relative;
  transition: background-color 0.2s var(--ease-soft), border-color 0.2s var(--ease-soft);
}
#hgcAppointmentForm .hgc-appointment__checkbox input:checked + .hgc-appointment__checkbox-mark {
  background: var(--ink);
  border-color: var(--ink);
}
#hgcAppointmentForm .hgc-appointment__checkbox input:checked + .hgc-appointment__checkbox-mark::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid var(--paper);
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
#hgcAppointmentForm .hgc-appointment__checkbox input:focus-visible + .hgc-appointment__checkbox-mark { outline: 2px solid var(--mauve); outline-offset: 2px; }
#hgcAppointmentForm .hgc-calendar { border: 1px solid var(--hairline); border-radius: 0; padding: 14px; }
#hgcAppointmentForm .hgc-calendar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
#hgcAppointmentForm .hgc-calendar__month-year {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ink);
}
#hgcAppointmentForm .hgc-calendar__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--hairline);
  color: var(--ink);
  transition: background-color 0.2s var(--ease-soft), color 0.2s var(--ease-soft);
}
#hgcAppointmentForm .hgc-calendar__nav:hover { background: var(--ink); color: var(--paper); }
#hgcAppointmentForm .hgc-calendar__weekdays,
#hgcAppointmentForm .hgc-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
#hgcAppointmentForm .hgc-calendar__weekdays {
  margin-bottom: 6px;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  color: var(--text-muted);
  text-align: center;
}
#hgcAppointmentForm .hgc-calendar__day {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  color: var(--text-muted);
  border: 1px solid transparent;
  border-radius: 0;
  font-variant-numeric: tabular-nums;
}
#hgcAppointmentForm .hgc-calendar__day--available { color: var(--ink); cursor: pointer; border-color: var(--hairline); transition: background-color 0.18s var(--ease-soft), color 0.18s var(--ease-soft); }
#hgcAppointmentForm .hgc-calendar__day--available:hover { background: var(--sand); }
#hgcAppointmentForm .hgc-calendar__day--selected { background: var(--ink); color: var(--paper); border-color: var(--ink); }
#hgcAppointmentForm .hgc-calendar__day--disabled,
#hgcAppointmentForm .hgc-calendar__day--empty { opacity: 0.3; cursor: default; }
#hgcAppointmentForm .hgc-time-slots { display: flex; flex-direction: column; gap: 0.6rem; }
#hgcAppointmentForm .hgc-time-slots__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
  gap: 8px;
}
#hgcAppointmentForm .hgc-time-slot {
  padding: 0.5rem 0.4rem;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--ink);
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s var(--ease-soft), color 0.2s var(--ease-soft), border-color 0.2s var(--ease-soft);
}
#hgcAppointmentForm .hgc-time-slot:hover { border-color: var(--mauve); color: var(--mauve); }
#hgcAppointmentForm .hgc-time-slot--selected,
#hgcAppointmentForm .hgc-time-slot.selected { background: var(--ink); color: var(--paper); border-color: var(--ink); }
#hgcAppointmentForm .hgc-time-slots__empty,
#hgcAppointmentForm .hgc-time-slots__loading { font-family: var(--font-mono); font-size: 0.74rem; color: var(--text-muted); }
.hgc-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 1.5px solid var(--hairline);
  border-top-color: var(--mauve);
  border-radius: 50%;
  animation: sb-spin 0.7s linear infinite;
  vertical-align: middle;
}
@keyframes sb-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .hgc-spinner { animation: none; } }
#hgcAppointmentForm .hgc-form-success,
#hgcAppointmentForm .hgc-form-error {
  display: flex;
  align-items: center;
  gap: 0.6em;
  padding: 0.85rem 1rem;
  border: 1px solid var(--hairline);
  border-radius: 0;
  font-size: 0.9rem;
}
#hgcAppointmentForm .hgc-form-success { color: #2D8B4E; border-color: rgba(45, 139, 78, 0.4); }
#hgcAppointmentForm .hgc-form-error { color: #C0392B; border-color: rgba(192, 57, 43, 0.4); }
.hgc-whatsapp-fallback { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--hairline); display: flex; flex-direction: column; align-items: flex-start; gap: 0.7rem; }
.hgc-whatsapp-fallback__text { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: lowercase; color: var(--text-muted); }
.sb-mobile-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  display: none;
  grid-template-columns: repeat(3, 1fr);
  background: var(--paper);
  border-top: 1px solid var(--hairline);
  -webkit-backdrop-filter: saturate(1.05) blur(4px);
  backdrop-filter: saturate(1.05) blur(4px);
  padding-bottom: env(safe-area-inset-bottom);
}
.sb-mobile-bar__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: var(--mobile-bar-h);
  color: var(--text-body);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  transition: color 0.2s var(--ease-soft), background-color 0.2s var(--ease-soft);
}
.sb-mobile-bar__btn:not(:last-child) { border-right: 1px solid var(--hairline); }
.sb-mobile-bar__btn svg { width: 18px; height: 18px; }
.sb-mobile-bar__btn:hover,
.sb-mobile-bar__btn:active { color: var(--ink); }
.sb-mobile-bar__btn--primary { color: var(--mauve); }
@media (max-width: 768px) {
  .sb-mobile-bar { display: grid; }
  body { padding-bottom: calc(var(--mobile-bar-h) + env(safe-area-inset-bottom)); }
}
.hgc-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
.hgc-sr-only--focusable:focus,
.hgc-sr-only--focusable:focus-visible {
  position: fixed !important;
  top: 12px; left: 12px;
  width: auto; height: auto;
  margin: 0; padding: 10px 18px;
  clip: auto; white-space: normal;
  background: var(--ink); color: var(--paper);
  border-radius: 999px;
  z-index: 2000;
}
@media (max-width: 768px) {
  .hgc-whatsapp-float { bottom: calc(var(--mobile-bar-h) + env(safe-area-inset-bottom) + 14px); }
}
.hgc-header__nav-link,
.hgc-header .hgc-lang-switcher__toggle,
.hgc-footer__social-link,
.hgc-footer__legal-links a,
.sb-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.hgc-hamburger,
.hgc-mobile-nav__close { min-width: 44px; min-height: 44px; }
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .sb-rise,
  .hgc-fade-up { opacity: 1 !important; transform: none !important; }
  .sb-btn:hover,
  .hgc-btn:hover,
  .sb-header__cta:hover,
  .sb-whatsapp-float:hover { transform: none !important; }
}
.sb-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(251, 244, 234, 0.55);
    -webkit-backdrop-filter: saturate(1.1) blur(10px);
    backdrop-filter: saturate(1.1) blur(10px);
    border-bottom: 1px solid rgba(59, 50, 43, 0.08);
    transition: background .4s ease, border-color .4s ease,
                box-shadow .4s ease, padding .3s ease;
}
.sb-header__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(16px, 2.4vw, 26px) clamp(20px, 6vw, 96px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(16px, 4vw, 48px);
}
.sb-header.scrolled {
    background: var(--paper, #FFFCF8);
    border-bottom-color: var(--hairline, rgba(59, 50, 43, 0.14));
    box-shadow: 0 1px 0 rgba(59, 50, 43, 0.03), 0 8px 30px rgba(59, 50, 43, 0.05);
}
.sb-header.scrolled .sb-header__inner {
    padding-top: clamp(12px, 1.8vw, 18px);
    padding-bottom: clamp(12px, 1.8vw, 18px);
}
body:not(.home) .sb-header {
    background: var(--paper, #FFFCF8);
    border-bottom-color: var(--hairline, rgba(59, 50, 43, 0.14));
}
.sb-header__mark {
    display: inline-flex;
    align-items: center;
    gap: clamp(8px, 1vw, 12px);
    text-decoration: none;
    line-height: 1;
    flex-shrink: 0;
}
.sb-header__logo-img {
    height: clamp(30px, 3.4vw, 34px);
    width: auto;
    display: block;
    flex-shrink: 0;
    transition: transform .3s ease;
}
.sb-header__mark:hover .sb-header__logo-img { transform: scale(1.04); }
.sb-header__mark-text {
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.5rem, 2.4vw, 1.95rem);
    letter-spacing: -0.02em;
    color: var(--ink, #3B322B);
    transition: color .3s ease;
}
.sb-header__mark:hover .sb-header__mark-text { color: var(--mauve, #9E5E73); }
@media (max-width: 400px) {
    .sb-header__mark-text { display: none; }
}
.sb-header__nav {
    margin-left: auto;
}
.sb-header__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.2vw, 34px);
}
.sb-header__nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    text-decoration: none;
    color: var(--ink-nav, #211A1D);
    padding: 4px 0;
    transition: color .25s ease;
}
.sb-header__nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1.5px;
    background: var(--mauve, #9E5E73);
    transition: width .3s ease;
}
.sb-header__nav-link:hover {
    color: var(--mauve, #9E5E73);
}
.sb-header__nav-link.active {
    color: var(--ink-nav, #211A1D);
}
.sb-header__nav-link:hover::after,
.sb-header__nav-link.active::after {
    width: 100%;
}
.sb-header__actions {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.6vw, 20px);
    flex-shrink: 0;
}
.sb-header__cta {
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    white-space: nowrap;
    padding: 0 22px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    text-decoration: none;
    line-height: 1;
    background: var(--mauve, #9E5E73);
    color: var(--on-ink, #FFFCF8);
    border: 1px solid var(--mauve, #9E5E73);
    transition: background .25s ease, color .25s ease, border-color .25s ease,
                transform .2s ease;
}
.sb-header__cta:hover {
    background: var(--mauve-press, #843F55);
    border-color: var(--mauve-press, #843F55);
    color: var(--on-ink, #FFFCF8);
    transform: translateY(-1px);
}
.sb-header__lang {
    display: inline-flex;
    align-items: center;
}
.sb-header__lang .hgc-lang-switcher__toggle,
.sb-header__lang .hgc-lang-switcher__current,
.sb-header__lang button {
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
    text-transform: lowercase !important;
    color: var(--ink-nav, #211A1D) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}
.sb-header__lang button:hover,
.sb-header__lang .hgc-lang-switcher__toggle:hover {
    color: var(--ink, #3B322B) !important;
}
.sb-header__mobile-lang { display: none; }
.sb-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
}
.sb-hamburger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: var(--ink, #3B322B);
    transition: transform .3s ease, opacity .25s ease, background .3s ease;
}
.sb-hamburger.active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.sb-hamburger.active span:nth-child(2) { opacity: 0; }
.sb-hamburger.active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.sb-hamburger.active span { background: var(--mauve, #9E5E73); }
.sb-mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 1100;
    visibility: hidden;
    pointer-events: none;
}
.sb-mobile-nav.active {
    visibility: visible;
    pointer-events: auto;
}
.sb-mobile-nav__overlay {
    position: absolute;
    inset: 0;
    background: rgba(59, 50, 43, 0.34);
    opacity: 0;
    transition: opacity .35s ease;
}
.sb-mobile-nav.active .sb-mobile-nav__overlay { opacity: 1; }
.sb-mobile-nav__panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: min(86vw, 380px);
    background:
        linear-gradient(180deg, var(--cream, #FBF4EA) 0%, var(--blush, #F7E6E0) 100%);
    border-left: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    box-shadow: -18px 0 50px rgba(59, 50, 43, 0.10);
    padding: clamp(24px, 7vw, 40px);
    padding-top: clamp(72px, 16vw, 96px);
    display: flex;
    flex-direction: column;
    gap: 28px;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.16, .84, .44, 1);
    overflow-y: auto;
}
.sb-mobile-nav.active .sb-mobile-nav__panel { transform: translateX(0); }
.sb-mobile-nav__close {
    position: absolute;
    top: clamp(20px, 6vw, 30px);
    right: clamp(20px, 6vw, 30px);
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    color: var(--ink, #3B322B);
    border-radius: 0;
    cursor: pointer;
    transition: border-color .25s ease, color .25s ease;
}
.sb-mobile-nav__close:hover {
    border-color: var(--mauve, #9E5E73);
    color: var(--mauve, #9E5E73);
}
.sb-mobile-nav__mark {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    font-style: italic;
    font-weight: 500;
    font-size: 2rem;
    letter-spacing: -0.02em;
    color: var(--ink, #3B322B);
    line-height: 1;
}
.sb-mobile-nav__logo-img {
    height: 30px;
    width: auto;
    display: block;
    flex-shrink: 0;
}
.sb-mobile-nav__links {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-top: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
}
.sb-mobile-nav__link {
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: -0.01em;
    text-transform: lowercase;
    text-decoration: none;
    color: var(--ink, #3B322B);
    transition: color .25s ease, padding-left .25s ease;
}
.sb-mobile-nav__link:hover {
    color: var(--mauve, #9E5E73);
    padding-left: 6px;
}
.sb-mobile-nav__idx {
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    color: var(--text-muted, #9A8B7C);
}
.sb-mobile-nav__actions { margin-top: auto; }
.sb-mobile-nav__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 15px 24px;
    min-height: 48px;
    border-radius: 999px;
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    text-decoration: none;
    background: var(--mauve, #9E5E73);
    color: var(--on-ink, #FFFCF8);
    border: 1px solid var(--mauve, #9E5E73);
    transition: background .25s ease, border-color .25s ease;
}
.sb-mobile-nav__cta:hover {
    background: var(--mauve-deep, #834A5D);
    border-color: var(--mauve-deep, #834A5D);
    color: var(--on-ink, #FFFCF8);
}
.sb-mobile-nav__phone-link {
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-decoration: none;
    color: var(--text-body, #6B5F53);
}
.sb-mobile-nav__phone-link:hover { color: var(--mauve, #9E5E73); }
@media (max-width: 900px) {
    .sb-header__nav { display: none; }
    .sb-header__cta-wrap { display: none; }
    .sb-header__lang { display: none; }
    .sb-header__mobile-lang { display: inline-flex; }
    .sb-hamburger { display: flex; }
    .sb-header__mobile-lang button,
    .sb-header__mobile-lang .hgc-lang-switcher__toggle {
        font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace) !important;
        font-size: 0.72rem !important;
        letter-spacing: 0.1em !important;
        text-transform: lowercase !important;
        background: transparent !important;
        border: none !important;
        color: var(--text-body, #6B5F53) !important;
    }
    .sb-header__mobile-lang button:hover {
        color: var(--ink, #3B322B) !important;
    }
}
.sb-mobile-bar {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    background: var(--paper, #FFFCF8);
    border-top: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    box-shadow: 0 -6px 24px rgba(59, 50, 43, 0.07);
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.sb-mobile-bar__btn {
    flex: 1 1 0;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 64px;
    padding: 10px 6px;
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    text-decoration: none;
    color: var(--ink-nav, #211A1D);
    border-left: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    transition: color .2s ease, background .2s ease;
}
.sb-mobile-bar__btn:first-child { border-left: none; }
.sb-mobile-bar__btn svg { display: block; width: 20px; height: 20px; }
.sb-mobile-bar__btn:active { background: rgba(158, 94, 115, 0.07); }
.sb-mobile-bar__btn--primary {
    flex: 1.5 1 0;
    background: var(--mauve, #9E5E73);
    color: var(--on-ink, #FFFCF8);
    border-left: none;
    font-weight: 700;
}
.sb-mobile-bar__btn--primary:active { background: var(--mauve-press, #843F55); }
.sb-mobile-bar__btn:not(.sb-mobile-bar__btn--primary) {
    color: var(--mauve, #9E5E73);
    background: transparent;
}
.sb-mobile-bar__btn:not(.sb-mobile-bar__btn--primary) svg { width: 22px; height: 22px; }
.sb-mobile-bar__btn:not(.sb-mobile-bar__btn--primary) > span {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
@media (max-width: 720px) {
    .sb-mobile-bar { display: flex; }
    .sb-whatsapp-float { display: none !important; }
}
.sb-footer {
    position: relative;
    background: var(--sand, #F3E7D8);
    color: var(--ink, #3B322B);
    border-top: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    padding-top: clamp(64px, 9vw, 120px);
    padding-bottom: clamp(28px, 5vw, 44px);
    overflow: hidden;
}
.sb-footer::before {
    content: "";
    position: absolute;
    inset: -20% -10% auto -10%;
    height: 70%;
    background:
        radial-gradient(60% 80% at 12% 0%, rgba(247, 230, 224, 0.65), transparent 70%),
        radial-gradient(55% 75% at 92% 10%, rgba(248, 228, 210, 0.55), transparent 72%);
    pointer-events: none;
    z-index: 0;
}
.sb-footer > * { position: relative; z-index: 1; }
.sb-footer .sb-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: clamp(20px, 6vw, 96px);
    padding-right: clamp(20px, 6vw, 96px);
}
.sb-footer__wordmark-band {
    margin-bottom: clamp(40px, 7vw, 80px);
}
.sb-footer__wordmark {
    display: inline-block;
    text-decoration: none;
    line-height: .9;
}
.sb-footer__wordmark-text {
    display: block;
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(3.5rem, 16vw, 11rem);
    letter-spacing: -0.04em;
    color: var(--ink, #3B322B);
}
.sb-footer__wordmark-rule {
    display: block;
    height: 3px;
    width: clamp(120px, 30%, 320px);
    margin-top: clamp(8px, 1.4vw, 16px);
    background: var(--mauve, #9E5E73);
    border-radius: 2px;
}
.sb-footer__tagline {
    margin: clamp(16px, 2.4vw, 24px) 0 0;
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.74rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--text-muted, #9A8B7C);
}
.sb-footer__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(28px, 5vw, 64px);
    padding-top: clamp(36px, 5vw, 56px);
    border-top: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
}
.sb-footer__title {
    margin: 0 0 18px;
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.16em;
    text-transform: lowercase;
    color: var(--mauve, #9E5E73);
}
.sb-footer__links,
.sb-footer__contact {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.sb-footer__links a,
.sb-footer__contact a {
    font-family: var(--font-body, 'Hanken Grotesk', sans-serif);
    font-size: 0.92rem;
    text-decoration: none;
    color: var(--text-body, #6B5F53);
    transition: color .25s ease;
}
.sb-footer__links a:hover,
.sb-footer__contact a:hover { color: var(--mauve, #9E5E73); }
.sb-footer__contact .sb-footer__contact-text {
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.74rem;
    letter-spacing: 0.04em;
    line-height: 1.6;
    color: var(--text-body, #6B5F53);
}
.sb-footer__meta {
    margin-top: clamp(40px, 6vw, 72px);
    padding-top: clamp(24px, 3vw, 32px);
    border-top: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px 32px;
}
.sb-footer__ftc {
    margin: 0;
    max-width: 60ch;
    font-family: var(--font-body, 'Hanken Grotesk', sans-serif);
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--text-muted, #9A8B7C);
}
.sb-footer__powered {
    margin: 0;
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--text-muted, #9A8B7C);
    white-space: nowrap;
}
.sb-footer__powered-link {
    color: var(--mauve, #9E5E73);
    text-decoration: none;
}
.sb-footer__powered-link:hover { color: var(--mauve-deep, #834A5D); }
.sb-footer__bottom {
    margin-top: clamp(20px, 3vw, 28px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 24px;
}
.sb-footer__copyright {
    margin: 0;
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    color: var(--text-muted, #9A8B7C);
}
.sb-footer__legal {
    display: flex;
    gap: 20px;
}
.sb-footer__legal a {
    font-family: var(--font-mono, 'Space Mono', ui-monospace, monospace);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    text-decoration: none;
    color: var(--text-muted, #9A8B7C);
    transition: color .25s ease;
}
.sb-footer__legal a:hover { color: var(--mauve, #9E5E73); }
@media (max-width: 720px) {
    .sb-footer__grid { grid-template-columns: 1fr; gap: 32px; }
    .sb-footer { padding-bottom: calc(clamp(28px, 5vw, 44px) + 72px + env(safe-area-inset-bottom, 0px)); }
}
.sb-whatsapp-float {
    position: fixed;
    right: clamp(18px, 2.4vw, 28px);
    bottom: clamp(18px, 2.4vw, 28px);
    z-index: 1040;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--mauve, #9E5E73);
    border: 1px solid var(--mauve, #9E5E73);
    border-radius: 999px;
    box-shadow: 0 8px 26px rgba(158, 94, 115, 0.30);
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.sb-whatsapp-float:hover {
    transform: translateY(-2px);
    background: var(--mauve-deep, #834A5D);
    box-shadow: 0 12px 32px rgba(131, 74, 93, 0.36);
}
@media (prefers-reduced-motion: reduce) {
    .sb-header,
    .sb-mobile-nav__panel,
    .sb-mobile-nav__overlay,
    .sb-header__nav-link::after,
    .sb-header__cta,
    .sb-whatsapp-float,
    .sb-hamburger span { transition: none !important; }
}
.sb-photo { margin: 0; }
.sb-pagehead {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(120% 90% at 88% 8%, rgba(193, 138, 119, 0.16), transparent 60%),
        linear-gradient(158deg, var(--cream) 0%, var(--blush) 52%, var(--peach) 100%);
    color: var(--ink);
    padding: clamp(108px, 16vw, 200px) 0 clamp(56px, 8vw, 104px);
    border-bottom: 1px solid var(--hairline);
}
.sb-pagehead .sb-grain {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.sb-pagehead::after {
    content: "";
    position: absolute;
    top: -8%;
    right: -4%;
    width: clamp(180px, 32vw, 420px);
    aspect-ratio: 240 / 140;
    background: var(--mauve);
    opacity: 0.08;
    -webkit-mask: url("../img/stencil-arc.svg") center / contain no-repeat;
    mask: url("../img/stencil-arc.svg") center / contain no-repeat;
    pointer-events: none;
}
.sb-pagehead__inner {
    position: relative;
    z-index: 1;
    max-width: 56ch;
}
.sb-pagehead__eyebrow {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve);
    margin-bottom: 1.25rem;
}
.sb-pagehead__title {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0;
    color: var(--ink);
}
.sb-pagehead__title em {
    font-style: italic;
    color: var(--mauve-deep);
}
.sb-pagehead__lead {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    line-height: 1.6;
    color: var(--text-body);
    margin: 1.5rem 0 0;
}
.sb-secthead {
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.sb-secthead__eyebrow {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve);
    margin-bottom: 1rem;
}
.sb-secthead__title {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(2.5rem, 4.5vw, 4.25rem);
    letter-spacing: -0.02em;
    line-height: 1.04;
    margin: 0;
    color: var(--ink);
}
.sb-secthead__title em { font-style: italic; }
.sb-faq {
    position: relative;
    background:
        radial-gradient(90% 70% at 100% 0%, rgba(247, 230, 224, 0.7), transparent 60%),
        linear-gradient(180deg, var(--paper) 0%, var(--cream) 100%);
    padding: clamp(72px, 11vw, 160px) 0;
    border-top: 1px solid var(--hairline);
}
.sb-faq__head {
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.sb-faq__layout {
    display: grid;
    grid-template-columns: 1.35fr 0.65fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}
.sb-faq__media {
    position: sticky;
    top: calc(var(--header-h) + 24px);
}
.sb-faq__media .sb-photo { aspect-ratio: 4 / 5; }
.sb-faq__list {
    border-top: 1px solid var(--hairline);
}
@media (max-width: 860px) {
    .sb-faq__layout { grid-template-columns: 1fr; }
    .sb-faq__media { position: static; order: -1; max-width: 420px; }
}
.sb-faq__item {
    border-bottom: 1px solid var(--hairline);
}
.sb-faq__q {
    display: grid;
    grid-template-columns: 3.25rem 1fr auto;
    align-items: start;
    gap: clamp(0.75rem, 2vw, 1.5rem);
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    padding: clamp(1.4rem, 3vw, 2.2rem) 0;
    color: var(--ink);
    transition: color 0.25s ease;
    -webkit-appearance: none;
    appearance: none;
}
.sb-faq__q:hover { color: var(--mauve); }
.sb-faq__q:focus-visible {
    outline: 2px solid var(--mauve);
    outline-offset: 4px;
}
.sb-faq__index {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    color: var(--text-muted);
    padding-top: 0.55em;
}
.sb-faq__q-text {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.15rem, 2.2vw, 1.7rem);
    letter-spacing: -0.01em;
    line-height: 1.25;
}
.sb-faq__icon {
    flex: none;
    width: 22px;
    height: 22px;
    margin-top: 0.4em;
    color: var(--mauve);
    transition: transform 0.3s ease;
}
.sb-faq__item.active .sb-faq__icon { transform: rotate(45deg); }
.sb-faq__a {
    display: none;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease;
}
.sb-faq__a-inner {
    padding: 0 clamp(0.75rem, 2vw, 1.5rem) clamp(1.4rem, 3vw, 2.2rem) 3.25rem;
    max-width: 70ch;
}
.sb-faq__a-inner p {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--text-body);
    margin: 0;
}
.sb-faq__cta {
    margin-top: clamp(2.5rem, 5vw, 4rem);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.5rem;
}
.sb-faq__cta p {
    font-family: var(--font-body);
    color: var(--text-body);
    margin: 0;
    font-size: 1.0625rem;
}
@media (max-width: 600px) {
    .sb-faq__q { grid-template-columns: 2.25rem 1fr auto; }
    .sb-faq__a-inner { padding-left: 2.25rem; }
}
.sb-location {
    background: var(--paper);
    padding: clamp(72px, 11vw, 160px) 0;
    border-top: 1px solid var(--hairline);
}
.sb-location__photo {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.sb-location__photo .sb-photo {
    aspect-ratio: 21 / 9;
}
@media (max-width: 700px) {
    .sb-location__photo .sb-photo { aspect-ratio: 16 / 10; }
}
.sb-location__grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    border-top: 1px solid var(--hairline);
}
.sb-location__map {
    position: relative;
    min-height: 460px;
    border-right: 1px solid var(--hairline);
    background: var(--sand);
}
.sb-location__map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    filter: grayscale(0.35) contrast(1.02);
}
.sb-location__info {
    padding: clamp(1.75rem, 4vw, 3rem);
    display: flex;
    flex-direction: column;
}
.sb-location__row {
    padding: clamp(1.1rem, 2.4vw, 1.6rem) 0;
    border-bottom: 1px solid var(--hairline);
}
.sb-location__row:first-child { padding-top: 0; }
.sb-location__label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve);
    margin-bottom: 0.6rem;
}
.sb-location__value,
.sb-location__value a {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--ink);
    text-decoration: none;
    transition: color 0.2s ease;
}
.sb-location__value a:hover { color: var(--mauve); }
.sb-location__hours {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}
.sb-location__hours li {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0.4rem 0;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--text-body);
}
.sb-location__hours li span:first-child { color: var(--ink); }
.sb-location__hours li.is-closed { color: var(--text-muted); }
.sb-location__hours li.is-closed span:first-child { color: var(--text-muted); }
.sb-location__actions {
    margin-top: auto;
    padding-top: clamp(1.5rem, 3vw, 2rem);
}
@media (max-width: 860px) {
    .sb-location__grid { grid-template-columns: 1fr; }
    .sb-location__map {
        min-height: 320px;
        border-right: 0;
        border-bottom: 1px solid var(--hairline);
    }
    .sb-location__info { padding-left: 0; padding-right: 0; }
}
.sb-cta {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(80% 120% at 12% 100%, rgba(193, 138, 119, 0.28), transparent 58%),
        radial-gradient(90% 120% at 100% 0%, rgba(158, 94, 115, 0.16), transparent 55%),
        linear-gradient(150deg, var(--blush) 0%, var(--peach) 60%, var(--cream) 100%);
    color: var(--ink);
    padding: clamp(80px, 13vw, 180px) 0;
    border-top: 1px solid var(--hairline);
}
.sb-cta .sb-grain { position: absolute; inset: 0; pointer-events: none; }
.sb-cta__inner {
    position: relative;
    z-index: 1;
    max-width: 30ch;
}
.sb-cta__kohl {
    display: block;
    width: clamp(180px, 34vw, 360px);
    height: auto;
    color: var(--mauve);
    margin-bottom: 1.75rem;
}
.sb-cta__kohl path {
    stroke-dasharray: 640;
    stroke-dashoffset: 640;
    animation: sb-kohl-draw 1.4s ease forwards 0.2s;
}
.hgc-fade-up:not(.hgc-visible) .sb-cta__kohl path { animation: none; }
@keyframes sb-kohl-draw { to { stroke-dashoffset: 0; } }
.sb-cta__title {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(2.6rem, 7vw, 5.5rem);
    letter-spacing: -0.03em;
    line-height: 0.98;
    margin: 0;
    color: var(--ink);
}
.sb-cta__text {
    font-family: var(--font-body);
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.6;
    color: var(--text-body);
    margin: 1.75rem 0 0;
    max-width: 46ch;
}
.sb-cta__actions {
    margin-top: clamp(2rem, 4vw, 3rem);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    align-items: center;
}
.sb-cta__ticker { margin-top: clamp(2rem, 4vw, 3rem); }
@media (prefers-reduced-motion: reduce) {
    .sb-cta__kohl path { animation: none; stroke-dashoffset: 0; }
}
.sb-spage { background: var(--paper); }
.sb-spage__body {
    padding: clamp(64px, 10vw, 140px) 0;
}
.sb-ledger { margin: 0; }
.sb-ledger__group {
    padding: clamp(2.5rem, 5vw, 4.5rem) 0;
    border-top: 1px solid var(--hairline);
}
.sb-ledger__group:first-of-type { border-top: 0; padding-top: 0; }
.sb-ledger__grouphead {
    display: grid;
    grid-template-columns: 1fr clamp(180px, 26vw, 320px);
    gap: clamp(1.5rem, 4vw, 3.5rem);
    align-items: center;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.sb-ledger__catimg { aspect-ratio: 4 / 5; }
@media (max-width: 760px) {
    .sb-ledger__grouphead { grid-template-columns: 1fr; }
    .sb-ledger__catimg { max-width: 260px; }
}
.sb-ledger__grouplabel {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve);
    margin: 0 0 0.4rem;
}
.sb-ledger__grouptitle {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 3.4vw, 2.6rem);
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0 0 0.6rem;
    color: var(--ink);
}
.sb-ledger__grouptag {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--text-body);
    margin: 0;
    max-width: 54ch;
}
.sb-ledger__rows { border-top: 1px solid var(--hairline); }
.sb-ledger__row {
    position: relative;
    display: grid;
    grid-template-columns: 56px 3rem minmax(0, 1.05fr) minmax(0, 1.2fr) auto;
    align-items: center;
    gap: clamp(0.75rem, 2vw, 1.75rem);
    padding: clamp(1rem, 2.4vw, 1.6rem) 0;
    border-bottom: 1px solid var(--hairline);
    text-decoration: none;
    color: inherit;
    transition: background 0.25s ease, padding-left 0.25s ease;
}
.sb-ledger__thumb {
    width: 56px;
    aspect-ratio: 1 / 1;
    align-self: center;
}
.sb-ledger__row:hover .sb-img { transform: scale(1.05); }
.sb-ledger__row:hover {
    background: var(--sand);
    padding-left: clamp(0.5rem, 1.5vw, 1rem);
}
.sb-ledger__row:focus-visible {
    outline: 2px solid var(--mauve);
    outline-offset: 3px;
}
.sb-ledger__index {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    color: var(--text-muted);
}
.sb-ledger__name {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.2rem, 2.4vw, 1.7rem);
    letter-spacing: -0.01em;
    line-height: 1.2;
    color: var(--ink);
}
.sb-ledger__benefit {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.55;
    color: var(--text-body);
}
.sb-ledger__book {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--mauve);
    white-space: nowrap;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.sb-ledger__row:hover .sb-ledger__book,
.sb-ledger__row:focus-visible .sb-ledger__book {
    opacity: 1;
    transform: translateX(0);
}
@media (max-width: 760px) {
    .sb-ledger__row {
        grid-template-columns: 64px 1fr;
        grid-template-areas:
            "thumb name"
            "thumb benefit"
            "thumb book";
        align-items: start;
        gap: 0.3rem 1rem;
    }
    .sb-ledger__thumb { grid-area: thumb; width: 64px; align-self: start; }
    .sb-ledger__index { display: none; }
    .sb-ledger__name { grid-area: name; }
    .sb-ledger__benefit { grid-area: benefit; }
    .sb-ledger__book { grid-area: book; opacity: 1; transform: none; margin-top: 0.35rem; }
}
.sb-pagenote {
    background: var(--sand);
    border-top: 1px solid var(--hairline);
    border-bottom: 1px solid var(--hairline);
    padding: clamp(3rem, 6vw, 5rem) 0;
}
.sb-pagenote p {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--text-body);
    margin: 0 auto;
    max-width: 58ch;
}
.sb-ftc {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    line-height: 1.7;
    color: var(--text-muted);
    margin: 1.5rem auto 0;
    max-width: 58ch;
}
.sb-apage { background: var(--paper); }
.sb-apage__intro {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
    padding: clamp(64px, 10vw, 140px) 0;
}
.sb-apage__portrait { position: relative; }
.sb-apage__portrait .sb-photo { aspect-ratio: 4 / 5; }
.sb-apage__studio {
    margin: clamp(2rem, 5vw, 4rem) 0 0;
}
.sb-apage__studio .sb-photo { aspect-ratio: 16 / 9; }
.sb-apage__studio-cap {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--text-muted);
    margin: 0.85rem 0 0;
}
.sb-apage__bio h2 {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 3.2vw, 2.4rem);
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin: 0 0 1.25rem;
    color: var(--ink);
}
.sb-apage__bio p {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--text-body);
    margin: 0 0 1.2rem;
}
.sb-apage__bio p:last-child { margin-bottom: 0; }
.sb-apage__details {
    border-top: 1px solid var(--hairline);
    padding: clamp(56px, 8vw, 110px) 0;
}
.sb-apage__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--hairline);
}
.sb-apage__col {
    padding: clamp(1.75rem, 3.5vw, 2.75rem) clamp(1.5rem, 3vw, 2.5rem);
    border-right: 1px solid var(--hairline);
}
.sb-apage__col:last-child { border-right: 0; }
.sb-apage__col h3 {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve);
    margin: 0 0 1.5rem;
    font-weight: 400;
}
.sb-apage__col ul { list-style: none; margin: 0; padding: 0; }
.sb-apage__col li {
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--hairline);
    font-family: var(--font-body);
    color: var(--text-body);
    font-size: 1rem;
    line-height: 1.5;
}
.sb-apage__col li:last-child { border-bottom: 0; }
.sb-apage__col li strong {
    display: block;
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 1.05rem;
    color: var(--ink);
    margin-bottom: 0.2rem;
}
.sb-apage__stat {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--ink);
    display: block;
    margin-bottom: 0.35rem;
}
.sb-apage__approach {
    border-top: 1px solid var(--hairline);
    padding: clamp(64px, 10vw, 140px) 0;
}
.sb-apage__quote {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.6rem, 4vw, 3rem);
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--ink);
    margin: 0 0 2rem;
    max-width: 22ch;
}
.sb-apage__quote cite {
    display: block;
    font-family: var(--font-mono);
    font-style: normal;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--text-muted);
    margin-top: 1.25rem;
}
.sb-apage__approach p {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--text-body);
    margin: 0 0 1.2rem;
    max-width: 60ch;
}
@media (max-width: 860px) {
    .sb-apage__intro { grid-template-columns: 1fr; }
    .sb-apage__grid { grid-template-columns: 1fr; }
    .sb-apage__col { border-right: 0; border-bottom: 1px solid var(--hairline); }
    .sb-apage__col:last-child { border-bottom: 0; }
}
.sb-gpage { background: var(--paper); }
.sb-gpage__body { padding: clamp(64px, 10vw, 140px) 0; }
.sb-gpage__ftc {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    line-height: 1.7;
    margin: 0 0 clamp(2.5rem, 5vw, 4rem);
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
    border-bottom: 1px solid var(--hairline);
    max-width: 60ch;
}
.sb-gpage__prose {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--text-body);
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
    max-width: 62ch;
}
.sb-gpage__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(0.75rem, 2vw, 1.5rem);
}
.sb-gpage__cell { position: relative; }
.sb-gpage__caption {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    color: var(--text-muted);
    margin: 0.75rem 0 0;
}
.sb-gpage__note {
    margin-top: clamp(2.5rem, 5vw, 4rem);
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
    border-top: 1px solid var(--hairline);
}
.sb-gpage__note p {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text-body);
    margin: 0;
}
.sb-gpage__note a { color: var(--mauve); text-decoration: none; }
.sb-gpage__note a:hover { text-decoration: underline; }
@media (max-width: 900px) { .sb-gpage__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .sb-gpage__grid { grid-template-columns: repeat(2, 1fr); gap: clamp(10px, 3vw, 18px); } }
@media (max-width: 360px) { .sb-gpage__grid { grid-template-columns: 1fr; } }
.sb-cpage { background: var(--paper); }
.sb-cpage__channels {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--hairline);
    border-bottom: 1px solid var(--hairline);
    margin: clamp(56px, 8vw, 110px) 0 0;
}
.sb-cpage__channel {
    display: block;
    padding: clamp(1.75rem, 3.5vw, 2.75rem) clamp(1.25rem, 2.5vw, 2rem);
    border-right: 1px solid var(--hairline);
    text-decoration: none;
    transition: background 0.25s ease;
}
.sb-cpage__channel:last-child { border-right: 0; }
.sb-cpage__channel:hover { background: var(--sand); }
.sb-cpage__channel-label {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve);
    margin: 0 0 0.6rem;
}
.sb-cpage__channel-value {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0;
    line-height: 1.2;
}
.sb-cpage__channel-action {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    color: var(--text-muted);
    margin-top: 0.85rem;
}
.sb-cpage__body { padding: clamp(56px, 8vw, 110px) 0; }
.sb-cpage__grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}
.sb-cpage__form-head { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.sb-cpage__form-head h2 {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.6rem, 3.4vw, 2.6rem);
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0 0 0.75rem;
    color: var(--ink);
}
.sb-cpage__form-head p {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--text-body);
    margin: 0;
    max-width: 50ch;
}
.sb-cpage__aside {
    border-top: 1px solid var(--hairline);
}
.sb-cpage__aside-photo {
    margin: 0 0 clamp(0.5rem, 2vw, 1.25rem);
}
.sb-cpage__aside-photo .sb-photo { aspect-ratio: 4 / 3; }
.sb-cpage__aside-block {
    padding: clamp(1.4rem, 3vw, 2rem) 0;
    border-bottom: 1px solid var(--hairline);
}
.sb-cpage__aside-label {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve);
    margin: 0 0 1rem;
}
.sb-cpage__aside-block p {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--text-body);
    margin: 0;
}
.sb-cpage__map {
    position: relative;
    height: clamp(360px, 45vw, 480px);
    border-top: 1px solid var(--hairline);
    background: var(--sand);
}
.sb-cpage__map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    filter: grayscale(0.35) contrast(1.02);
}
@media (max-width: 860px) {
    .sb-cpage__channels { grid-template-columns: repeat(2, 1fr); }
    .sb-cpage__channel:nth-child(2) { border-right: 0; }
    .sb-cpage__channel:nth-child(1),
    .sb-cpage__channel:nth-child(2) { border-bottom: 1px solid var(--hairline); }
    .sb-cpage__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .sb-cpage__channels { grid-template-columns: 1fr; }
    .sb-cpage__channel { border-right: 0; border-bottom: 1px solid var(--hairline); }
    .sb-cpage__channel:last-child { border-bottom: 0; }
}
@keyframes sbKohlDraw {
    from { stroke-dashoffset: var(--sb-kohl-len, 1200); }
    to   { stroke-dashoffset: 0; }
}
.sb-photo:has(.sb-photo__ph)::before,
.sb-photo:has(.sb-photo__ph)::after {
    content: none !important;
    background: none !important;
}
.sb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s var(--ease-soft, cubic-bezier(0.22, 1, 0.36, 1));
    will-change: transform;
}
.sb-photo:hover .sb-img,
.sb-photo:focus-within .sb-img {
    transform: scale(1.045);
}
.sb-photo__ph { display: none; }
.sb-photo.is-empty {
    background: var(--sand, #F3E7D8);
}
.sb-photo.is-empty .sb-photo__ph {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    width: 100%;
    height: 100%;
}
.sb-photo__arc {
    width: clamp(84px, 30%, 168px);
    height: auto;
    color: var(--mauve, #9E5E73);
    opacity: 0.5;
}
.sb-photo__cap {
    font-family: var(--font-mono, 'Space Mono', monospace);
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--text-muted, #9A8B7C);
}
.sb-scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
}
.sb-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(165deg, var(--cream, #FBF4EA) 0%, var(--blush, #F7E6E0) 55%, var(--peach, #F8E4D2) 100%);
    color: var(--ink, #3B322B);
    min-height: clamp(560px, 92svh, 920px);
    display: flex;
    align-items: center;
    padding-block: clamp(96px, 14vh, 180px);
}
.sb-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.sb-hero__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    border: 0;
    background: transparent;
    z-index: 0;
}
.sb-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
@media (prefers-reduced-motion: no-preference) {
    .sb-hero__img {
        animation: sbHeroKenBurns 26s ease-in-out infinite alternate;
        transform-origin: 58% 42%;
    }
}
@keyframes sbHeroKenBurns {
    from { transform: scale(1.06) translate3d(0, 0, 0); }
    to   { transform: scale(1.16) translate3d(-1.5%, -2%, 0); }
}
.sb-hero__scrim {
    background:
        linear-gradient(90deg,
            rgba(250, 247, 242, 0.92) 0%,
            rgba(250, 247, 242, 0.35) 55%,
            transparent 100%);
}
.sb-hero__grain {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    opacity: 0.6;
}
.sb-hero__inner {
    position: relative;
    z-index: 4;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 62ch;
    margin-right: auto;
}
.sb-hero__mono {
    font-family: var(--font-mono, 'Space Mono', monospace);
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: lowercase;
    color: var(--mauve-deep, #834A5D);
    margin: 0 0 clamp(20px, 4vh, 40px);
}
.sb-hero__mark {
    position: relative;
    display: inline-block;
    line-height: 0.95;
}
.sb-hero__wordmark {
    font-family: var(--font-display, 'Fraunces', serif);
    font-weight: 400;
    font-size: clamp(88px, 9vw, 148px);
    letter-spacing: -0.02em;
    line-height: 0.95;
    margin: 0;
    color: var(--ink, #3B322B);
}
.sb-hero__headline {
    font-family: var(--font-display, 'Fraunces', serif);
    font-weight: 500;
    font-size: clamp(1.6rem, 3.4vw, 2.7rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--ink, #3B322B);
    max-width: 20ch;
    margin: clamp(24px, 4vh, 40px) 0 0;
    text-wrap: balance;
}
.sb-hero__scarcity {
    font-family: var(--font-mono, 'Space Mono', monospace);
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--mauve, #9E5E73);
    margin: clamp(16px, 2.4vh, 24px) 0 0;
}
.sb-hero__kohl {
    position: absolute;
    left: -3%;
    right: -3%;
    bottom: clamp(6px, 1.4vw, 22px);
    width: 106%;
    height: auto;
    color: var(--mauve, #9E5E73);
    pointer-events: none;
    overflow: visible;
}
.sb-hero__kohl path {
    stroke-dasharray: var(--sb-kohl-len, 1200);
    stroke-dashoffset: var(--sb-kohl-len, 1200);
    animation: sbKohlDraw 1.4s cubic-bezier(0.65, 0, 0.35, 1) 0.45s forwards;
}
.sb-hero__lead {
    font-family: var(--font-display, 'Fraunces', serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(1.25rem, 2.6vw, 2rem);
    line-height: 1.3;
    letter-spacing: -0.01em;
    max-width: 26ch;
    margin: clamp(28px, 5vh, 52px) 0 0;
    color: var(--ink, #3B322B);
}
.sb-hero__cta {
    margin-top: clamp(28px, 5vh, 44px);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}
.sb-hero__trust {
    font-family: var(--font-mono, 'Space Mono', monospace);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--text-body, #6B5F53);
    margin: clamp(28px, 5vh, 48px) 0 0;
}
.sb-ledger {
    position: relative;
    isolation: isolate;
    background: var(--paper, #FFFCF8);
    color: var(--text-body, #6B5F53);
    padding-block: clamp(72px, 11vw, 160px);
    border-top: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
}
.sb-ledger::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(50% 40% at 82% 8%, rgba(247, 230, 224, 0.7), transparent 70%),
        radial-gradient(46% 38% at 10% 92%, rgba(248, 228, 210, 0.6), transparent 72%);
}
@media (prefers-reduced-motion: no-preference) {
    .sb-ledger::before {
        animation: sbWashDrift 24s ease-in-out infinite alternate;
    }
}
@keyframes sbWashDrift {
    from { transform: translate3d(-1.5%, -1%, 0); }
    to   { transform: translate3d(2%, 1.5%, 0); }
}
.sb-ledger__head {
    max-width: 56ch;
    margin-bottom: clamp(40px, 7vw, 84px);
}
.sb-ledger__eyebrow {
    margin: 0 0 1rem;
}
.sb-ledger__title {
    font-family: var(--font-display, 'Fraunces', serif);
    font-weight: 500;
    font-size: clamp(2.5rem, 4.5vw, 4.25rem);
    letter-spacing: -0.02em;
    line-height: 1.04;
    color: var(--ink, #3B322B);
    margin: 0 0 0.8rem;
}
.sb-ledger__intro {
    font-family: var(--font-body, 'Hanken Grotesk', sans-serif);
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    line-height: 1.6;
    color: var(--text-muted, #9A8B7C);
    margin: 0;
}
.sb-ledger__group {
    margin-top: clamp(40px, 6vw, 72px);
}
.sb-ledger__group-label {
    margin: 0 0 0.6rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--hairline-ledger, #E4DAD0);
    color: var(--mauve, #9E5E73);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.75rem;
}
.sb-ledger__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sb-ledger__row {
    display: grid;
    grid-template-columns: minmax(52px, auto) 88px 1fr auto;
    align-items: center;
    column-gap: clamp(16px, 3vw, 40px);
    padding: clamp(16px, 2.2vw, 26px) clamp(12px, 2vw, 22px);
    margin-inline: calc(-1 * clamp(12px, 2vw, 22px));
    border-bottom: 1px solid var(--hairline-ledger, #E4DAD0);
    transition: background-color 200ms ease;
}
.sb-ledger__row:hover,
.sb-ledger__row:focus-within {
    background-color: var(--blush-row, #F6EEE9);
}
.sb-ledger__index {
    font-family: var(--font-display, 'Fraunces', serif);
    font-weight: 500;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--mauve, #9E5E73);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    align-self: center;
}
.sb-ledger__thumb {
    width: 88px;
    height: 88px;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--hairline-ledger, #E4DAD0);
    background: var(--cream, #FBF4EA);
    object-fit: cover;
}
.sb-ledger__body {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}
.sb-ledger__name {
    position: relative;
    display: inline-block;
    align-self: flex-start;
    font-family: var(--font-display, 'Fraunces', serif);
    font-weight: 500;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    letter-spacing: -0.01em;
    line-height: 1.15;
    color: var(--ink, #3B322B);
}
.sb-ledger__kohl {
    position: absolute;
    left: 0;
    right: -2%;
    bottom: -0.32em;
    width: 102%;
    height: 0.5em;
    color: var(--mauve, #9E5E73);
    pointer-events: none;
    overflow: visible;
}
.sb-ledger__kohl path {
    stroke-dasharray: var(--sb-kohl-len, 1200);
    stroke-dashoffset: var(--sb-kohl-len, 1200);
    transition: stroke-dashoffset 520ms cubic-bezier(0.65, 0, 0.35, 1);
}
.sb-ledger__row:hover .sb-ledger__kohl path,
.sb-ledger__row:focus-within .sb-ledger__kohl path {
    stroke-dashoffset: 0;
}
.sb-ledger__benefit {
    font-family: var(--font-body, 'Hanken Grotesk', sans-serif);
    font-size: 1.0625rem;
    line-height: 1.5;
    color: var(--text-muted, #9A8B7C);
}
.sb-ledger__book {
    font-family: var(--font-mono, 'Space Mono', monospace);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: lowercase;
    color: var(--ink, #3B322B);
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 1px solid transparent;
    transition: color 180ms ease, border-color 180ms ease;
    align-self: center;
}
.sb-ledger__book:hover,
.sb-ledger__book:focus-visible {
    color: var(--mauve, #9E5E73);
    border-color: var(--mauve, #9E5E73);
}
.sb-artist {
    position: relative;
    isolation: isolate;
    background: linear-gradient(150deg, var(--cream, #FBF4EA) 0%, var(--blush, #F7E6E0) 100%);
    color: var(--text-body, #6B5F53);
    padding-block: clamp(72px, 11vw, 160px);
    border-top: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    overflow: hidden;
}
.sb-artist__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(36px, 6vw, 88px);
}
.sb-artist__media {
    margin: 0;
    margin-left: calc(-1 * clamp(20px, 6vw, 96px));
}
.sb-artist__photo {
    width: 100%;
    aspect-ratio: 4 / 5;
    background: var(--sand, #F3E7D8);
    border: 1px solid var(--hairline, rgba(59, 50, 43, 0.14));
    position: relative;
    overflow: hidden;
    box-shadow: 0 24px 60px -32px rgba(59, 50, 43, 0.35);
}
.sb-artist__eyebrow {
    margin: 0 0 1.4rem;
}
.sb-artist__quote {
    position: relative;
    font-family: var(--font-display, 'Fraunces', serif);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--ink, #3B322B);
    margin: 0 0 1.8rem;
    padding: 0;
    border: 0;
    max-width: 24ch;
    text-wrap: balance;
}
.sb-artist__quote-mark {
    color: var(--mauve, #9E5E73);
}
.sb-artist__bio p {
    font-family: var(--font-body, 'Hanken Grotesk', sans-serif);
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--text-body, #6B5F53);
    margin: 0 0 1rem;
    max-width: 50ch;
}
.sb-artist__bio strong {
    color: var(--ink, #3B322B);
    font-weight: 600;
}
.sb-artist__creds {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.7rem;
    margin: 1.6rem 0 2rem;
    padding: 0;
}
.sb-artist__cred {
    font-family: var(--font-mono, 'Space Mono', monospace);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    color: var(--text-muted, #9A8B7C);
}
.sb-artist__cred-sep {
    display: inline-flex;
    width: 26px;
}
.sb-artist__cred-kohl {
    width: 26px;
    height: auto;
    color: var(--mauve, #9E5E73);
    opacity: 0.7;
}
.sb-artist__signature {
    display: block;
    width: clamp(180px, 34%, 240px);
    height: auto;
    color: var(--mauve, #9E5E73);
    margin: 0 0 1.8rem;
}
.sb-artist__signature path {
    stroke-dasharray: var(--sb-sig-len, 1800);
    stroke-dashoffset: var(--sb-sig-len, 1800);
    transition: stroke-dashoffset 1.6s cubic-bezier(0.65, 0, 0.35, 1);
}
.sb-rise.is-visible .sb-artist__signature path,
.sb-artist__content.is-visible .sb-artist__signature path {
    stroke-dashoffset: 0;
}
.sb-artist__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    align-items: center;
}
@media (max-width: 860px) {
    .sb-artist__inner {
        grid-template-columns: 1fr;
        gap: clamp(28px, 8vw, 48px);
    }
    .sb-artist__media {
        margin-left: 0;
        max-width: 420px;
    }
}
@media (max-width: 700px) {
    .sb-hero__inner { max-width: 100%; }
    .sb-hero__wordmark { font-size: clamp(56px, 16vw, 84px); }
    .sb-hero__scrim {
        background: linear-gradient(
            to top,
            rgba(250, 247, 242, 0.94) 0%,
            rgba(250, 247, 242, 0.72) 42%,
            rgba(250, 247, 242, 0.30) 78%,
            transparent 100%);
    }
    .sb-hero__cta { width: 100%; }
    .sb-hero__cta .sb-btn,
    .sb-hero__cta .hgc-btn { flex: 1 1 auto; }
}
@media (max-width: 600px) {
    .sb-ledger__row {
        grid-template-columns: clamp(64px, 22vw, 96px) 1fr auto;
        grid-template-areas:
            "thumb index book"
            "thumb body  body";
        align-items: start;
        column-gap: clamp(12px, 4vw, 20px);
        row-gap: 0.4rem;
    }
    .sb-ledger__thumb { grid-area: thumb; align-self: start; width: 100%; height: auto; }
    .sb-ledger__index { grid-area: index; align-self: start; font-size: 1.6rem; }
    .sb-ledger__book  { grid-area: book; align-self: start; justify-self: end; }
    .sb-ledger__body  { grid-area: body; }
}
@media (prefers-reduced-motion: no-preference) {
    .sb-artist__signature path { animation: sbKohlDraw 1.8s cubic-bezier(0.65, 0, 0.35, 1) 0.3s forwards; }
}
@media (prefers-reduced-motion: reduce) {
    .sb-hero__img { animation: none; transform: none; }
    .sb-hero__video { display: none; }
    .sb-ledger::before { animation: none; }
    .sb-img { transition: none; }
    .sb-photo:hover .sb-img,
    .sb-photo:focus-within .sb-img { transform: none; }
    .sb-hero__kohl path,
    .sb-ledger__kohl path,
    .sb-artist__signature path {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
        animation: none;
        transition: none;
    }
}
.sb-results .sb-photo,
.sb-booking .sb-photo {
    position: relative;
    display: block;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--hairline);
    border-radius: 0;
    background: var(--sand, #F3E7D8);
}
.sb-results .sb-photo--portrait,
.sb-booking .sb-photo--portrait { aspect-ratio: 4 / 5; }
.sb-results .sb-photo--wide,
.sb-booking .sb-photo--wide { aspect-ratio: 16 / 9; }
.sb-results .sb-photo--square,
.sb-booking .sb-photo--square { aspect-ratio: 1 / 1; }
.sb-results .sb-img,
.sb-booking .sb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s ease;
    will-change: transform;
}
.sb-results .sb-photo:hover .sb-img,
.sb-booking .sb-photo:hover .sb-img { transform: scale(1.04); }
.sb-results .sb-photo__ph,
.sb-booking .sb-photo__ph { display: none; }
.sb-results .sb-photo.is-empty,
.sb-booking .sb-photo.is-empty { background: var(--sand, #F3E7D8); }
.sb-results .sb-photo.is-empty .sb-photo__ph,
.sb-booking .sb-photo.is-empty .sb-photo__ph {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
}
.sb-photo__arc {
    width: 86px;
    height: 54px;
    border: 1.5px solid var(--mauve);
    border-bottom: 0;
    border-radius: 86px 86px 0 0;
    opacity: 0.6;
}
.sb-photo__cap {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    color: var(--text-muted);
}
.sb-results {
    position: relative;
    border-top: 1px solid var(--hairline);
    padding-block: clamp(72px, 11vw, 160px);
    background:
        radial-gradient(120% 80% at 85% 0%, var(--blush, #F7E6E0) 0%, rgba(247, 230, 224, 0) 55%),
        var(--paper, #FFFCF8);
}
.sb-results__head {
    max-width: 58ch;
    margin-bottom: clamp(40px, 6vw, 80px);
}
.sb-results__title {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(2.5rem, 4.5vw, 4.25rem);
    letter-spacing: -0.02em;
    line-height: 1.04;
    color: var(--ink);
    margin: 0.4rem 0 0;
}
.sb-results__em {
    font-style: italic;
    color: var(--mauve);
}
.sb-results__lead {
    font-family: var(--font-body);
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    line-height: 1.6;
    color: var(--text-body);
    margin: 1.1rem 0 0;
}
.sb-results__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(28px, 4vw, 56px);
}
.sb-results__item {
    margin: 0;
    min-width: 0;
}
.sb-results__media {
    position: relative;
}
.sb-results__tag {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    font-family: var(--font-mono);
    font-size: 0.64rem;
    letter-spacing: 0.12em;
    padding: 5px 10px;
    background: rgba(255, 252, 248, 0.92);
    color: var(--ink);
    border: 1px solid var(--hairline);
}
.sb-results__caption {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    margin-top: 1rem;
}
.sb-results__caption .sb-index {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    color: var(--mauve);
    flex: 0 0 auto;
}
.sb-results__caption-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}
.sb-results__procedure {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    color: var(--ink);
}
.sb-results__note {
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--text-body);
}
.sb-results__ftc {
    margin: clamp(40px, 6vw, 72px) 0 0;
    padding-top: 1.4rem;
    border-top: 1px solid var(--hairline);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    line-height: 1.7;
    color: var(--text-muted);
}
@media (max-width: 720px) {
    .sb-results__grid { grid-template-columns: repeat(2, 1fr); gap: clamp(12px, 3vw, 20px); }
    .sb-results__procedure { font-size: clamp(0.98rem, 3.4vw, 1.2rem); }
    .sb-results__caption { gap: 0.45rem; }
}
@media (max-width: 380px) {
    .sb-results__grid { grid-template-columns: 1fr; }
}
.sb-booking {
    position: relative;
    color: var(--ink);
    padding-block: clamp(72px, 11vw, 160px);
    background:
        linear-gradient(165deg,
            var(--blush, #F7E6E0) 0%,
            var(--cream, #FBF4EA) 48%,
            var(--peach, #F8E4D2) 100%);
    border-top: 1px solid var(--hairline);
}
.sb-booking__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(40px, 6vw, 96px);
    align-items: start;
}
.sb-booking__aside .sb-eyebrow {
    color: var(--mauve);
}
.sb-booking__title {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    letter-spacing: -0.03em;
    line-height: 1.02;
    color: var(--ink);
    margin: 0.5rem 0 0;
}
.sb-booking__em {
    font-style: italic;
    color: var(--mauve);
}
.sb-booking__lead {
    font-family: var(--font-body);
    font-size: clamp(1.05rem, 1.6vw, 1.25rem);
    line-height: 1.6;
    color: var(--text-body);
    margin: 1.2rem 0 0;
    max-width: 42ch;
}
.sb-booking__steps {
    list-style: none;
    margin: clamp(28px, 4vw, 44px) 0 0;
    padding: 0;
    border-top: 1px solid var(--hairline);
}
.sb-booking__step {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding: 0.95rem 0;
    border-bottom: 1px solid var(--hairline);
}
.sb-booking__step-num {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    color: var(--mauve);
    min-width: 2.4ch;
}
.sb-booking__step-text {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    color: var(--ink);
}
.sb-booking__benefits {
    list-style: none;
    margin: clamp(24px, 3vw, 36px) 0 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}
.sb-booking__benefit {
    position: relative;
    padding-left: 1.4rem;
    font-family: var(--font-body);
    font-size: 0.98rem;
    line-height: 1.5;
    color: var(--text-body);
}
.sb-booking__benefit::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 14px;
    height: 1px;
    background: var(--mauve);
}
.sb-booking__photo {
    margin-top: clamp(24px, 3vw, 36px);
}
.sb-booking__voices {
    position: relative;
    margin-top: clamp(28px, 4vw, 44px);
    padding-top: 1.6rem;
    border-top: 1px solid var(--hairline);
    min-height: 7.5rem;
}
.sb-booking__voices .hgc-mini-testimonial {
    position: absolute;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none;
}
.sb-booking__voices .hgc-mini-testimonial--visible {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
}
.sb-booking__voices .hgc-mini-testimonial--fading {
    opacity: 0;
    transform: translateY(-8px);
}
.sb-booking__voices .hgc-mini-testimonial__text {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    line-height: 1.4;
    color: var(--ink);
    margin: 0;
}
.sb-booking__voices .hgc-mini-testimonial__name {
    display: block;
    margin-top: 0.8rem;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--mauve);
}
.sb-booking__panel {
    background: rgba(255, 252, 248, 0.6);
    border: 1px solid var(--hairline);
    padding: clamp(24px, 3vw, 44px);
}
.sb-booking__panel-title {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    color: var(--ink);
    margin: 0 0 1.2rem;
}
.sb-booking__panel .hgc-appointment__form {
    display: grid;
    gap: clamp(18px, 2.4vw, 26px);
    margin-top: 1.4rem;
}
.sb-booking__panel .hgc-form-group {
    display: grid;
    gap: 0.5rem;
}
.sb-booking__panel .hgc-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(14px, 2vw, 22px);
}
.sb-booking__panel .hgc-form-group__label {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    color: var(--text-body);
}
.sb-booking__panel .hgc-form-group__required {
    color: var(--mauve);
}
.sb-booking__panel .hgc-form-group__input,
.sb-booking__panel .hgc-form-group__textarea,
.sb-booking__panel select.hgc-form-group__input {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--hairline);
    border-radius: 0;
    background: transparent;
    padding: 0.6rem 0;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--ink);
    transition: border-color 0.25s ease;
    appearance: none;
    -webkit-appearance: none;
}
.sb-booking__panel .hgc-form-group__textarea {
    resize: vertical;
    min-height: 3.4rem;
}
.sb-booking__panel select.hgc-form-group__input {
    background-image:
        linear-gradient(45deg, transparent 50%, var(--text-muted) 50%),
        linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);
    background-position:
        calc(100% - 14px) 1.05rem,
        calc(100% - 9px) 1.05rem;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 1.8rem;
}
.sb-booking__panel select.hgc-form-group__input option,
.sb-booking__panel select.hgc-form-group__input optgroup {
    color: var(--ink);
    background: var(--paper, #FFFCF8);
}
.sb-booking__panel .hgc-form-group__input::placeholder,
.sb-booking__panel .hgc-form-group__textarea::placeholder {
    color: var(--text-muted);
    opacity: 1;
}
.sb-booking__panel .hgc-form-group__input:focus,
.sb-booking__panel .hgc-form-group__textarea:focus,
.sb-booking__panel select.hgc-form-group__input:focus {
    outline: none;
    border-bottom-color: var(--mauve);
}
.sb-booking__panel .hgc-appointment-types {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem;
}
.sb-booking__panel .hgc-appointment-type { cursor: pointer; }
.sb-booking__panel .hgc-appointment-type input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.sb-booking__panel .hgc-appointment-type__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    height: 100%;
    padding: 0.85rem;
    border: 1px solid var(--hairline);
    border-radius: 0;
    background: rgba(255, 252, 248, 0.5);
    transition: border-color 0.2s ease, background 0.2s ease;
}
.sb-booking__panel .hgc-appointment-type__icon {
    color: var(--mauve);
    line-height: 0;
}
.sb-booking__panel .hgc-appointment-type__name {
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ink);
}
.sb-booking__panel .hgc-appointment-type__badge {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    color: var(--text-muted);
}
.sb-booking__panel .hgc-appointment-type input:checked + .hgc-appointment-type__card {
    border-color: var(--mauve);
    background: rgba(158, 94, 115, 0.1);
}
.sb-booking__panel .hgc-appointment-type input:focus-visible + .hgc-appointment-type__card {
    outline: 2px solid var(--mauve);
    outline-offset: 2px;
}
.sb-booking__panel .hgc-calendar-container,
.sb-booking__panel .hgc-time-slots {
    border: 1px solid var(--hairline);
    border-radius: 0;
    padding: clamp(12px, 2vw, 18px);
    background: rgba(255, 252, 248, 0.5);
}
.sb-booking__panel .hgc-time-slots { margin-top: 0.4rem; }
.sb-booking__panel .hgc-calendar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}
.sb-booking__panel .hgc-calendar__month-year {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 1.05rem;
    color: var(--ink);
}
.sb-booking__panel .hgc-calendar__nav {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--hairline);
    border-radius: 999px;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.sb-booking__panel .hgc-calendar__nav:hover {
    border-color: var(--mauve);
    color: var(--mauve);
}
.sb-booking__panel .hgc-calendar__weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 0.4rem;
}
.sb-booking__panel .hgc-calendar__weekdays span {
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: lowercase;
    color: var(--text-muted);
}
.sb-booking__panel .hgc-calendar__grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}
.sb-booking__panel .hgc-calendar__day {
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: var(--ink);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.sb-booking__panel .hgc-calendar__day:hover:not([disabled]) {
    background: rgba(158, 94, 115, 0.14);
}
.sb-booking__panel .hgc-calendar__day[disabled],
.sb-booking__panel .hgc-calendar__day--disabled,
.sb-booking__panel .hgc-calendar__day--empty {
    color: var(--text-muted);
    opacity: 0.4;
    cursor: default;
}
.sb-booking__panel .hgc-calendar__day--today {
    box-shadow: inset 0 0 0 1px var(--mauve);
}
.sb-booking__panel .hgc-calendar__day--selected,
.sb-booking__panel .hgc-calendar__day.is-selected {
    background: var(--mauve);
    color: var(--on-ink, #FFFCF8);
}
.sb-booking__panel .hgc-time-slots__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
    gap: 0.5rem;
}
.sb-booking__panel .hgc-time-slot {
    padding: 0.55rem 0.4rem;
    border: 1px solid var(--hairline);
    border-radius: 0;
    background: rgba(255, 252, 248, 0.6);
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--ink);
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}
.sb-booking__panel .hgc-time-slot:hover {
    border-color: var(--mauve);
}
.sb-booking__panel .hgc-time-slot--blocked,
.sb-booking__panel .hgc-time-slot[disabled] {
    color: var(--text-muted);
    opacity: 0.5;
    cursor: not-allowed;
}
.sb-booking__panel .hgc-time-slot--selected,
.sb-booking__panel .hgc-time-slot.is-selected,
.sb-booking__panel .hgc-time-slot.selected {
    background: var(--mauve);
    border-color: var(--mauve);
    color: var(--on-ink, #FFFCF8);
}
.sb-booking__panel .hgc-time-slots__empty,
.sb-booking__panel .hgc-time-slots__loading {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}
.sb-booking__panel .hgc-appointment__consent {
    display: grid;
    gap: 0.8rem;
}
.sb-booking__panel .hgc-appointment__checkbox {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 0.7rem;
    align-items: start;
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--text-body);
    cursor: pointer;
}
.sb-booking__panel .hgc-appointment__checkbox input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.sb-booking__panel .hgc-appointment__checkbox-mark {
    width: 20px;
    height: 20px;
    border: 1px solid var(--hairline);
    border-radius: 0;
    background: rgba(255, 252, 248, 0.7);
    position: relative;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.sb-booking__panel .hgc-appointment__checkbox input:checked + .hgc-appointment__checkbox-mark {
    background: var(--mauve);
    border-color: var(--mauve);
}
.sb-booking__panel .hgc-appointment__checkbox input:checked + .hgc-appointment__checkbox-mark::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid var(--on-ink, #FFFCF8);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.sb-booking__panel .hgc-appointment__checkbox input:focus-visible + .hgc-appointment__checkbox-mark {
    outline: 2px solid var(--mauve);
    outline-offset: 2px;
}
.sb-booking__panel .hgc-appointment__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    width: 100%;
    min-height: 52px;
    border: 0;
    border-radius: 999px;
    background: var(--mauve);
    color: var(--on-ink, #FFFCF8);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.15s ease;
}
.sb-booking__panel .hgc-appointment__submit:hover {
    background: var(--mauve-deep, #834A5D);
}
.sb-booking__panel .hgc-appointment__submit:active { transform: translateY(1px); }
.sb-booking__panel .hgc-form-success,
.sb-booking__panel .hgc-form-error {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--hairline);
    border-radius: 0;
    background: rgba(255, 252, 248, 0.7);
    font-family: var(--font-body);
    font-size: 0.92rem;
    color: var(--ink);
}
.sb-booking__panel .hgc-form-success { border-left: 3px solid #2D8B4E; }
.sb-booking__panel .hgc-form-error { border-left: 3px solid #C0392B; }
.sb-booking__panel .hgc-whatsapp-redirect { margin-top: 0.2rem; }
.sb-booking__panel .hgc-btn--whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--mauve);
    border-radius: 999px;
    background: transparent;
    color: var(--mauve);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.95rem;
    transition: background 0.2s ease, color 0.2s ease;
}
.sb-booking__panel .hgc-btn--whatsapp:hover {
    background: var(--mauve);
    color: var(--on-ink, #FFFCF8);
}
.sb-booking__fallback {
    margin-top: 1.4rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--hairline);
    text-align: center;
}
.sb-booking__fallback .hgc-whatsapp-fallback__text {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: lowercase;
    color: var(--text-muted);
    margin: 0 0 0.8rem;
}
.sb-booking__panel .hgc-appointment__calendly {
    margin: 1rem 0;
    border: 1px solid var(--hairline);
}
@media (max-width: 900px) {
    .sb-booking__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .sb-booking__panel .hgc-form-row { grid-template-columns: 1fr; }
    .sb-booking__panel .hgc-appointment-types { grid-template-columns: 1fr; }
}
.sb-ticker {
    margin: 0 0 1.2rem;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.sb-ticker.hgc-booking-ticker--visible {
    opacity: 1;
    transform: none;
}
.sb-ticker__inner {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--hairline);
}
.sb-ticker__dot {
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--mauve);
}
.sb-ticker__text {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: lowercase;
    color: var(--text-body);
    line-height: 1.4;
}
@media (prefers-reduced-motion: reduce) {
    .sb-ticker,
    .sb-results .sb-img,
    .sb-booking .sb-img,
    .sb-booking__voices .hgc-mini-testimonial {
        transition: none;
    }
    .sb-results .sb-photo:hover .sb-img,
    .sb-booking .sb-photo:hover .sb-img { transform: none; }
}
.sb-booking__panel .hgc-book-whatsapp.sb-btn--primary {
    background: #25D366;
    border-color: #25D366;
    color: #0B3D2E;
    box-shadow: 0 10px 26px rgba(37, 211, 102, 0.28);
}
.sb-booking__panel .hgc-book-whatsapp.sb-btn--primary:hover {
    background: #1EBE5D;
    border-color: #1EBE5D;
    color: #06301F;
    box-shadow: 0 14px 32px rgba(30, 190, 93, 0.34);
}
.sb-booking__panel .hgc-book-whatsapp svg { flex: 0 0 auto; }
.sb-booking__panel .hgc-appointment__submit { margin-top: 0.6rem; }
.sb-whatsapp-float { position: fixed; overflow: visible; }
.sb-whatsapp-float__ring {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: var(--mauve, #9E5E73);
    z-index: -1;
    animation: sb-wa-pulse 2.2s ease-out infinite;
}
.sb-whatsapp-float__glyph { position: relative; z-index: 1; }
.sb-whatsapp-float--video { background: #000; overflow: hidden; }
.sb-whatsapp-float__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 999px;
    z-index: 1;
}
.sb-whatsapp-float--video .sb-whatsapp-float__ring { z-index: 0; }
@keyframes sb-wa-pulse {
    0%   { transform: scale(1);   opacity: 0.55; }
    70%  { transform: scale(1.9); opacity: 0; }
    100% { transform: scale(1.9); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .sb-whatsapp-float__ring { animation: none; opacity: 0; }
}
.sb-artist__cta{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--hairline,#E4DAD0)}
.sb-artist__cta-line{font-family:var(--font-display,'Fraunces',serif);font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.25;color:var(--ink,#211A1D);max-width:30ch;margin:0 0 1rem}
.sb-faq__main{min-width:0}
.sb-faq__photo,.sb-results__photo{min-width:0}
.sb-footer__col{min-width:0}
.sb-hero__btn{margin:0}
.sb-ledger__grouptext{font-family:var(--font-mono,'Space Mono',monospace);font-size:.72rem;letter-spacing:.16em;color:var(--mauve,#9E5E73)}
.sb-location__inner-photo,.sb-booking__photo{width:100%}
