:root {
  color-scheme: light dark;
  background-color: var(
    --background,
    var(--color-background-primary, light-dark(rgb(255 255 255), rgb(24 24 24)))
  ) !important;

  /* Agent-facing contract; keep in sync with SKILL.md. */
  --background: var(
    --color-background-primary,
    light-dark(rgb(255 255 255), rgb(24 24 24))
  );
  --foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --card: color-mix(in oklab, var(--foreground) 5%, var(--background));
  --card-foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --popover: var(
    --color-background-secondary,
    light-dark(rgb(255 255 255), rgb(45 45 45))
  );
  --popover-foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --primary: var(
    --color-text-info,
    light-dark(rgb(51 156 255), rgb(131 195 255))
  );
  --primary-foreground: var(
    --color-text-inverse,
    light-dark(rgb(255 255 255), rgb(13 13 13))
  );
  --secondary: var(
    --color-background-secondary,
    light-dark(rgb(255 255 255 / 96%), rgb(54 54 54 / 96%))
  );
  --secondary-foreground: var(
    --color-text-primary,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --muted: color-mix(in srgb, var(--foreground) 10%, transparent);
  --muted-foreground: var(
    --color-text-secondary,
    light-dark(rgb(26 28 31 / 49.4%), rgb(255 255 255 / 49.8%))
  );
  --accent: var(
    --color-background-info,
    light-dark(rgb(229 242 255), rgb(13 39 63))
  );
  --accent-foreground: var(
    --color-text-info,
    light-dark(rgb(51 156 255), rgb(131 195 255))
  );
  --destructive: var(
    --color-text-warning,
    light-dark(rgb(226 85 7), rgb(255 133 73))
  );
  --border: var(
    --color-border-secondary,
    light-dark(rgb(26 28 31 / 8%), rgb(255 255 255 / 8.2%))
  );
  --input: var(
    --color-border-primary,
    light-dark(
      rgb(26 28 31 / 11.8%),
      color-mix(in oklab, rgb(0 0 0) 10%, transparent)
    )
  );
  --ring: var(
    --color-ring-primary,
    light-dark(rgb(51 156 255), rgb(131 195 255 / 76%))
  );
  --font-size-base: var(--font-text-md-size, 14px);
  --blue: light-dark(rgb(51 156 255), rgb(51 156 255));
  --orange: light-dark(rgb(226 85 7), rgb(251 106 34));
  --green: light-dark(rgb(0 162 64), rgb(64 201 119));
  --red: light-dark(rgb(224 46 42), rgb(255 103 100));
  --purple: light-dark(rgb(146 79 247), rgb(173 123 249));
  --yellow: light-dark(rgb(255 195 0), rgb(255 210 64));
  --viz-series-1: var(--primary);
  --viz-series-2: light-dark(rgb(243 136 59), rgb(245 154 86));
  --viz-series-3: light-dark(rgb(93 201 119), rgb(116 213 139));
  --viz-series-4: light-dark(rgb(235 119 177), rgb(240 143 192));
  --viz-series-5: light-dark(rgb(155 121 236), rgb(170 145 239));
  --viz-series-6: light-dark(rgb(58 185 177), rgb(90 203 194));

  /* Internal implementation variables; not part of the agent contract. */
  --font-sans: -apple-system, system-ui, "Segoe UI", sans-serif;
  --font-mono:
    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono",
    monospace;
  --font-size-normal: max(11px, var(--font-size-base));
  --font-size-tooltip: calc(var(--font-size-base) - 1px);
  --font-size-small: max(11px, calc(var(--font-size-base) - 2px));
  --font-size-h1: calc(var(--font-size-normal) * 1.7142857143);
  --font-size-h2: calc(var(--font-size-normal) * 1.4285714286);
  --font-size-h3: calc(var(--font-size-normal) * 1.2857142857);
  --font-weight-normal: 430;
  --font-weight-medium: 500;
  --icon-size: 16px;
  --line-height-normal: calc(var(--font-size-normal) * 1.5);
  --line-height-tooltip: calc(var(--font-size-tooltip) * 1.4285714286);
  --line-height-small: calc(var(--font-size-small) + 4px);
  --corner-shape: round;
  --radius: var(--border-radius-lg, 10px);
  --radius-sm: calc(var(--radius) * 0.6);
  --radius-md: calc(var(--radius) * 0.8);
  --radius-lg: var(--radius);
  --radius-2xl: calc(var(--radius) * 1.6);
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px -1px rgb(0 0 0 / 8%);
  --checkmark-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M12.8961 3.64101C13.1297 3.41418 13.4984 3.37523 13.7779 3.56581C14.0571 3.75635 14.1554 4.11331 14.0299 4.41347L13.9615 4.53847L7.71151 13.7045C7.59411 13.8767 7.4063 13.9877 7.19881 14.0072C6.99136 14.0267 6.78564 13.9533 6.63826 13.806L2.88826 10.056L2.79842 9.9457C2.6192 9.67407 2.64927 9.30496 2.88826 9.06581C3.12738 8.82669 3.49647 8.79676 3.76815 8.97597L3.8785 9.06581L7.03084 12.2182L12.8053 3.74941L12.8961 3.64101Z'/%3E%3C/svg%3E");

  /* Legacy aliases; not part of the current agent contract. */
  --viz-bg: transparent;
  --viz-panel: var(--card);
  --viz-border: var(--border);
  --viz-text: var(--foreground);
  --viz-muted: var(--muted-foreground);
  --viz-accent: var(--primary);
  --viz-accent-text: var(--primary-foreground);
  --viz-accent-bg: var(--accent);
  --viz-font-size: var(--font-size-base);
  --viz-warning: var(--destructive);
}

:root[data-theme="light"] {
  color-scheme: light;
}

:root[data-theme="dark"] {
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html > body {
  /* Preserve MCP aliases for older inline renderers without creating :root cycles. */
  --color-background-primary: var(
    --background,
    light-dark(rgb(255 255 255), rgb(24 24 24))
  );
  --color-text-primary: var(
    --foreground,
    light-dark(rgb(26 28 31), rgb(255 255 255))
  );
  --color-border-secondary: var(
    --border,
    light-dark(rgb(26 28 31 / 8%), rgb(255 255 255 / 8.2%))
  );

  margin: 0;
  padding: var(--visualize-paint-gutter, 0px);
  color: var(--foreground);
  background: transparent !important;
  font-family: var(--font-sans) !important;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
}

a {
  color: color-mix(in srgb, var(--viz-accent) 80%, var(--viz-text) 20%);
  cursor: pointer;
  font-weight: var(--font-weight-medium, 500);
  text-decoration: none;
  text-underline-offset: 2px;
}

a:is(:hover, :focus-visible) {
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: 0.5px;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-block: 0;
}

h1 {
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

h2 {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

h3,
h4,
h5,
h6 {
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
}

b,
strong,
th {
  font-weight: var(--font-weight-medium);
}

code:not(pre code) {
  display: inline;
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  corner-shape: var(--corner-shape);
  background: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.92em;
  overflow-wrap: anywhere;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  word-break: break-word;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}

.table {
  width: 100%;
  border-collapse: collapse;
  color: var(--foreground);
  font: inherit;
  text-align: start;
}

.table :is(th, td) {
  padding-block: 10px;
  padding-inline: 0 24px;
  overflow-wrap: anywhere;
  border-bottom: 1px solid var(--border);
  text-align: start;
  vertical-align: top;
}

.table-responsive > .table :is(th, td) {
  overflow-wrap: break-word;
}

.table :is(th, td):last-child {
  padding-inline-end: 0;
}

.table :is(caption, thead th) {
  font-weight: 600;
}

.table thead th {
  padding-block: 8px;
  border-bottom-color: color-mix(in srgb, var(--foreground) 16%, transparent);
}

.table tbody tr:last-child :is(th, td) {
  border-bottom: 0;
}

.table.table-sm :is(th, td) {
  padding-block: 6px;
}

.table.table-sm :is(th, td):not(:last-child) {
  padding-inline-end: 16px;
}

.table :is(.text-end, [align="right"]) {
  text-align: end;
  font-variant-numeric: tabular-nums;
}

.table :is(.text-center, [align="center"]) {
  text-align: center;
}

.table .text-nowrap {
  white-space: nowrap;
}

#widget {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 0;
  background: transparent !important;
}

.card {
  min-width: 0;
  padding: 12px;
  overflow: hidden;
  overflow-wrap: break-word;
  border-radius: var(--radius-2xl);
  corner-shape: var(--corner-shape);
  color: var(--card-foreground);
  background: var(--card);
}

#widget > :not(.card, .progress) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.tooltip {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: max-content;
  max-width: min(
    20rem,
    var(--tooltip-available-width, calc(100vw - 10px)),
    calc(100vw - 10px)
  );
  max-height: min(
    var(--tooltip-available-height, calc(100vh - 10px)),
    calc(100vh - 10px)
  );
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--popover-foreground);
  background: var(--popover);
  box-shadow: none;
  font-size: var(--font-size-tooltip);
  line-height: var(--line-height-tooltip);
  overflow-wrap: break-word;
  white-space: normal;
  pointer-events: none;
  user-select: none;
}

.viz-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(max(180px, 24%), 1fr));
  gap: 10px;
}

.viz-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.viz-stat-value {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

.viz-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

hr {
  width: 100%;
  height: 1px;
  margin-block: 6px;
  border: 0;
  background: var(--border);
}

.nav {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 4px;
}

.progress {
  display: flex;
  height: 8px;
  margin-block: calc((var(--line-height-normal, 1.5em) - 8px) / 2);
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-full);
  background: var(--muted);
}

.progress-bar:only-child {
  border-radius: var(--radius-full);
}

.progress-bar {
  height: 100%;
  flex-shrink: 0;
  border: 0;
  background: var(--viz-series-1);
}

.viz-badge {
  padding: 3px 8px;
  border-radius: var(--radius-full);
  color: var(--accent-foreground);
  background: var(--accent);
  font-weight: var(--font-weight-medium);
}

small,
.text-small,
.viz-badge {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.text-muted {
  color: var(--muted-foreground);
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.viz-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.viz-controls > .form-label {
  display: grid;
  min-width: min(100%, 260px);
  flex: 1 1 280px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 2px 12px;
  margin-bottom: 0;
}

.viz-controls > .form-label > :is(.form-control, .form-range, .form-select) {
  grid-column: 1 / -1;
}

.btn,
.nav-link,
.form-check-input,
.form-control,
.form-range,
.form-select {
  font: inherit;
}

.btn,
.nav-link {
  appearance: button;
  display: inline-flex;
  inline-size: fit-content;
  max-inline-size: 100%;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0;
  padding: 0 8px;
  -webkit-app-region: no-drag;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--secondary-foreground);
  background: var(--secondary);
  cursor: var(--cursor-interaction, pointer);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  user-select: none;
  -webkit-font-smoothing: antialiased;
}

.btn:is(.btn-block, .viz-tile) {
  inline-size: 100%;
}

.btn.viz-tile {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

a.btn {
  cursor: pointer;
  text-decoration: none;
}

.btn:not(:disabled):hover,
.nav-link:not(:disabled):not([aria-disabled="true"]):hover {
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.btn-primary {
  border-color: transparent;
  color: var(--primary-foreground);
  background: var(--foreground);
  background-clip: padding-box;
}

.btn-primary .text-muted {
  color: color-mix(in srgb, var(--primary-foreground) 50%, transparent);
}

.btn-primary:not(:disabled):hover {
  background: color-mix(in srgb, var(--foreground) 80%, transparent);
  background-clip: padding-box;
}

.btn-ghost {
  border-color: transparent;
  color: var(--muted-foreground);
  background: transparent;
}

.btn-ghost:not(:disabled):hover {
  color: var(--foreground);
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.nav-pills .nav-link {
  min-width: 0;
  border-color: transparent;
  color: var(--muted-foreground);
  background: transparent;
}

.nav-justified .nav-link {
  flex: 1 1 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.nav-pills .nav-link.active {
  color: var(--foreground);
  background: var(--muted);
}

.btn:disabled,
.nav-link:disabled,
.nav-link[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-lucide] {
  stroke-width: 1.6;
}

.form-label {
  display: block;
  margin-bottom: 6px;
  color: var(--foreground);
}

.form-control {
  display: block;
  width: 100%;
  min-height: 28px;
  padding: 0 8px;
  outline: none;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--foreground);
  background: var(--secondary);
}

.form-control::placeholder {
  color: var(--muted-foreground);
}

.form-control[type="file"] {
  padding: 0;
  overflow: hidden;
  cursor: var(--cursor-interaction, pointer);
}

.form-control[type="file"]::file-selector-button {
  min-height: 26px;
  margin-right: 8px;
  padding: 0 8px;
  border: 0;
  border-right: 1px solid var(--input);
  color: var(--secondary-foreground);
  background: var(--secondary);
  cursor: inherit;
  font: inherit;
}

.form-control[type="file"]:not(:disabled):hover::file-selector-button {
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.form-control-color[type="color"] {
  width: 40px;
  height: 28px;
  padding: 3px;
  cursor: var(--cursor-interaction, pointer);
}

.form-control-color[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

.form-control-color[type="color"]::-webkit-color-swatch {
  border: 0;
  border-radius: calc(var(--radius-lg) - 4px);
  corner-shape: var(--corner-shape);
}

textarea.form-control {
  height: auto;
  min-height: 72px;
  padding: 8px 10px;
  resize: vertical;
}

.form-control:focus-visible {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-control:disabled,
.form-select:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.form-select {
  appearance: none;
  display: block;
  width: 100%;
  min-height: 28px;
  margin: 0;
  padding: 0 32px 0 8px;
  outline: none;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  corner-shape: var(--corner-shape);
  color: var(--foreground);
  background-color: var(--secondary);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%),
    linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);
  background-position:
    calc(100% - 14px) 50%,
    calc(100% - 10px) 50%;
  background-repeat: no-repeat;
  background-size: 4px 4px;
  cursor: var(--cursor-interaction, default);
}

.form-select:not(:disabled):hover {
  background-color: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.form-select:focus-visible {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-check {
  display: flex;
  min-height: 20px;
  align-items: center;
  gap: 6px;
}

.form-check-input {
  appearance: none;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  margin: 0;
  border: 1px solid var(--input);
  color: var(--primary-foreground);
  background-color: transparent;
  cursor: var(--cursor-interaction, default);
  transition:
    background-color 150ms,
    border-color 150ms,
    box-shadow 150ms;
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"] {
  border-color: var(--input);
  border-radius: var(--radius-sm);
  corner-shape: var(--corner-shape);
  background-color: var(--secondary);
  box-shadow: var(--shadow-sm);
}

.form-check:not(.form-switch)
  .form-check-input:not(:disabled):not(:checked):hover {
  background-color: var(--card);
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"]:checked {
  border-color: var(--primary);
  background-color: var(--primary);
}

.form-check:not(.form-switch)
  .form-check-input[type="checkbox"]:checked::before {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--primary-foreground);
  content: "";
  mask: var(--checkmark-image) center / 12px 12px no-repeat;
}

.form-check-input[type="radio"] {
  width: 14px;
  height: 14px;
  border-radius: var(--radius-full);
}

.form-check-input[type="radio"]:checked {
  border: 2px solid var(--primary);
  background:
    radial-gradient(circle, var(--primary-foreground) 0 2.5px, transparent 3px),
    var(--primary);
}

.form-check:not(.form-switch) .form-check-input:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.form-check:not(.form-switch) .form-check-input:disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.form-check:not(.form-switch) .form-check-input:disabled + .form-check-label {
  cursor: not-allowed;
}

.form-switch .form-check-input:disabled,
.form-switch .form-check-input:disabled + .form-check-label {
  cursor: not-allowed;
  opacity: 0.6;
}

.form-check-label {
  color: var(--foreground);
  cursor: var(--cursor-interaction, default);
}

.form-switch .form-check-input {
  position: relative;
  width: 32px;
  height: 20px;
  border: 0;
  border-radius: var(--radius-full);
  background: var(--muted);
  box-shadow: none;
  transition: background-color 200ms cubic-bezier(0, 0, 0.2, 1);
}

.form-switch .form-check-input::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1px solid light-dark(var(--primary-foreground), var(--foreground));
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
  box-shadow: var(--shadow-sm);
  content: "";
  transform: translate(2px, -50%);
  transition: transform 200ms cubic-bezier(0, 0, 0.2, 1);
}

.form-switch .form-check-input:checked {
  background: var(--primary);
}

.form-switch .form-check-input:checked::before {
  transform: translate(14px, -50%);
}

.form-switch .form-check-input:focus-visible {
  box-shadow: 0 0 0 2px var(--ring);
}

.form-range {
  appearance: none;
  display: block;
  width: 100%;
  height: 28px;
  flex: 1;
  margin: 0;
  padding: 0;
  outline: none;
  border: 0;
  accent-color: var(--primary);
  background: linear-gradient(
      color-mix(in srgb, var(--foreground) 7%, transparent),
      color-mix(in srgb, var(--foreground) 7%, transparent)
    )
    center / 100% 2px no-repeat;
}

.form-range::-webkit-slider-runnable-track {
  height: 28px;
  background: transparent;
}

.form-range::-webkit-slider-thumb {
  appearance: none;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
}

.form-range:focus-visible::-webkit-slider-thumb {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-range::-moz-range-track {
  height: 28px;
  background: transparent;
}

.form-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
}

.form-range:focus-visible::-moz-range-thumb {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-range:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.btn:not(.btn-primary, .viz-tile):is(
  [aria-pressed="true"],
  [aria-selected="true"],
  .is-selected
) {
  border-color: var(--primary);
  color: var(--primary-foreground);
  background: var(--primary);
}

.btn.viz-tile:is([aria-pressed="true"], [aria-selected="true"], .is-selected) {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
}

.btn:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

@media (pointer: coarse) {
  .btn,
  .nav-link,
  .form-control,
  .form-select {
    min-width: 44px;
    min-height: 44px;
  }

  /* Keep small-screen WebKit from zooming when a text field receives focus. */
  .form-control,
  .form-select {
    font-size: max(16px, var(--font-size-normal));
  }

  .form-control[type="file"]::file-selector-button {
    min-width: 44px;
    min-height: 44px;
  }

  .form-control-color[type="color"] {
    width: 44px;
    height: 44px;
  }

  .form-control:is(
    [type="date"],
    [type="datetime-local"],
    [type="month"],
    [type="time"],
    [type="week"]
  ) {
    min-width: 0;
    max-width: 100%;
    padding-block: 8px;
  }

  .form-check {
    min-height: 44px;
    padding-inline: 15px;
  }

  .form-check-input {
    position: relative;
  }

  .form-check-input::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    content: "";
    transform: translate(-50%, -50%);
  }

  .form-check-label {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
  }

  .form-range {
    height: 44px;
    touch-action: pan-y;
  }

  .form-range::-webkit-slider-runnable-track {
    height: 44px;
  }

  .form-range::-moz-range-track {
    height: 44px;
  }

  .form-range::-webkit-slider-thumb {
    margin-top: 12px;
  }
}

svg {
  display: block;
  max-width: 100%;
  height: auto;
}

#widget > svg {
  width: 100%;
}

/* Model-authored chart rules can otherwise stretch icons after these styles load. */
svg.lucide {
  display: block;
  width: var(--icon-size) !important;
  height: var(--icon-size) !important;
  flex: none;
  margin: 0 !important;
  stroke-width: 1.6;
}

.text-warning,
.text-destructive {
  color: var(--destructive);
}

html>body{padding:0}

html,body{margin:0;padding:0}body{background:light-dark(#faf9f6,#18201c)}#dh-preview{max-width:1200px;margin-inline:auto}


@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/dm-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/dm-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/dm-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/playfair-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/playfair-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/playfair-500.ttf) format('truetype');
}




#dh-preview{--dh-paper:light-dark(#faf9f6,#18201c);--dh-white:light-dark(#fff,#202b24);--dh-ink:light-dark(#273e32,#edf2e9);--dh-muted:light-dark(#647068,#b2c0b5);--dh-line:light-dark(#dedfd6,#3e4c41);--dh-soft:light-dark(#eef0e7,#27382c);--dh-accent:light-dark(#49604e,#bed0ae);--dh-onaccent:light-dark(#fff,#1c2b20);--dh-warm:light-dark(#ebe6dd,#2c3028);color:var(--dh-ink);background:var(--dh-paper);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.6;width:100%;isolation:isolate;overflow:clip}
#dh-preview *{box-sizing:border-box}#dh-preview [hidden]{display:none!important}#dh-preview h1,#dh-preview h2,#dh-preview h3,#dh-preview p,#dh-preview figure{margin:0}#dh-preview button,#dh-preview input{font:inherit}#dh-preview button,#dh-preview a{-webkit-tap-highlight-color:transparent}#dh-preview button{cursor:pointer}#dh-preview button:disabled{cursor:not-allowed;opacity:.45}#dh-preview a{color:inherit;text-decoration:none}#dh-preview img{display:block;width:100%;height:100%;object-fit:cover}#dh-preview h1,#dh-preview h2,#dh-preview h3,.dh-serif{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.15}#dh-preview h2{font-size:clamp(29px,4.2vw,43px)}#dh-preview h3{font-size:26px}#dh-preview em{font-weight:400}#dh-preview .dh-demo{padding:7px 5%;background:var(--dh-soft);color:var(--dh-muted);font-size:11px;letter-spacing:.025em;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}#dh-preview .dh-demo b{font-weight:500;color:var(--dh-ink)}#dh-preview .dh-header{padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--dh-line);background:var(--dh-paper)}#dh-preview .dh-brand{border:0;background:none;padding:0;text-align:left;color:var(--dh-ink);flex-shrink:0}#dh-preview .dh-brand-name{font-family:'Playfair Display',Georgia,serif;display:block;font-size:26px;line-height:1.1;letter-spacing:-.04em}#dh-preview .dh-brand-sub{display:block;font-size:9px;letter-spacing:.21em;text-transform:uppercase;margin-top:6px}#dh-preview .dh-nav{display:flex;gap:24px;align-items:center;font-size:12px}#dh-preview .dh-nav a:hover{text-decoration:underline;text-underline-offset:5px}#dh-preview .dh-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 22px;border:1px solid var(--dh-accent);border-radius:4px;background:var(--dh-accent);color:var(--dh-onaccent);font-size:13px;font-weight:500;line-height:1.4;transition:filter .16s}#dh-preview .dh-button:hover{filter:brightness(.94)}#dh-preview .dh-button-small{min-height:40px;padding:11px 18px;font-size:12px}#dh-preview .dh-button-secondary{background:transparent;border-color:var(--dh-line);color:var(--dh-ink)}#dh-preview .dh-textbutton{border:0;background:none;color:var(--dh-ink);padding:10px 0;display:inline-flex;gap:10px;align-items:center;font-size:12px;text-align:left}#dh-preview .dh-textbutton:hover{text-decoration:underline;text-underline-offset:5px}#dh-preview .dh-label{font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:500;display:block;color:var(--dh-muted)}#dh-preview .dh-hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:500px}#dh-preview .dh-hero-copy{padding:56px 8% 38px 10%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}#dh-preview .dh-hero h1{font-size:clamp(40px,5.7vw,61px);margin:23px 0 23px;max-width:450px}#dh-preview .dh-hero h1 em{color:var(--dh-accent)}#dh-preview .dh-hero-description{max-width:340px;color:var(--dh-muted);font-size:14px;line-height:1.8}#dh-preview .dh-hero-price{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:25px 0 15px;font-size:12px}#dh-preview .dh-price-separator{color:var(--dh-muted)}#dh-preview .dh-hero-visual{position:relative;min-height:450px;overflow:hidden}#dh-preview .dh-hero-visual img{object-position:66% 50%;position:absolute;inset:0}#dh-preview .dh-photo-caption{position:absolute;bottom:23px;left:24px;right:24px;background:var(--dh-white);padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:4px}#dh-preview .dh-photo-caption strong{font-size:13px;font-weight:500;display:block}#dh-preview .dh-photo-caption span{font-size:11px;color:var(--dh-muted)}#dh-preview .dh-caption-symbol{font-family:Georgia,serif;font-size:30px!important;color:var(--dh-accent)!important}#dh-preview .dh-trust{display:grid;grid-template-columns:1.1fr 1fr 1fr;padding:23px 5%;border-bottom:1px solid var(--dh-line);gap:20px}#dh-preview .dh-trust-item{display:flex;align-items:center;gap:13px}#dh-preview .dh-trust-number{font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1.2}#dh-preview .dh-trust p{font-size:12px;line-height:1.5}#dh-preview .dh-trust small{font-size:10px;color:var(--dh-muted)}#dh-preview .dh-stars{letter-spacing:2px;color:var(--dh-accent);font-size:11px}#dh-preview .dh-section{padding:65px 5%}#dh-preview .dh-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:29px}#dh-preview .dh-section-heading .dh-label{margin-bottom:11px}#dh-preview .dh-section-heading>p{max-width:250px;color:var(--dh-muted);font-size:12px}#dh-preview .dh-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}#dh-preview .dh-service-card{padding:27px 24px;border:1px solid var(--dh-line);background:var(--dh-white);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}#dh-preview .dh-service-card:first-child{background:var(--dh-soft);border-color:var(--dh-soft)}#dh-preview .dh-service-number{font-size:11px;color:var(--dh-muted);margin-bottom:30px}#dh-preview .dh-service-card h3{font-size:25px;margin-bottom:12px}#dh-preview .dh-service-card p{color:var(--dh-muted);font-size:12px;min-height:76px}#dh-preview .dh-service-price{font-size:20px;font-weight:500;letter-spacing:-.04em;margin-top:24px}#dh-preview .dh-service-price small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--dh-muted)}#dh-preview .dh-service-card .dh-textbutton{width:100%;justify-content:space-between;border-top:1px solid var(--dh-line);margin-top:18px;padding-top:17px}#dh-preview .dh-service-foot{font-size:11px;color:var(--dh-muted);margin-top:17px}#dh-preview .dh-story{display:grid;grid-template-columns:1.1fr 1fr;background:var(--dh-soft)}#dh-preview .dh-story-image{min-height:410px}#dh-preview .dh-story-copy{padding:48px 11%;display:flex;flex-direction:column;justify-content:center}#dh-preview .dh-story-copy .dh-label{margin-bottom:17px}#dh-preview .dh-story-copy h2{font-size:37px;margin-bottom:21px}#dh-preview .dh-story-copy p{font-size:13px;color:var(--dh-muted);line-height:1.8}#dh-preview .dh-signature{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:25px;margin-top:23px}#dh-preview .dh-gallery{display:grid;grid-template-columns:1.22fr .9fr .9fr;gap:15px}#dh-preview .dh-gallery figure{min-width:0}#dh-preview .dh-gallery-image{height:224px;overflow:hidden;border-radius:5px}#dh-preview .dh-gallery figcaption{padding:15px 0 0;font-size:12px;font-weight:500}#dh-preview .dh-gallery figcaption span{display:block;color:var(--dh-muted);font-size:11px;font-weight:400;margin-top:3px}#dh-preview .dh-gallery [data-photo="comfort"]{object-position:50% 39%}#dh-preview .dh-quote{padding:41px 12%;text-align:center;background:var(--dh-warm)}#dh-preview .dh-quote blockquote{font-family:'Playfair Display',Georgia,serif;font-size:27px;line-height:1.5;letter-spacing:-.03em;margin:13px auto;max-width:650px}#dh-preview .dh-quote cite{font-size:11px;font-style:normal;color:var(--dh-muted)}#dh-preview .dh-contact{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}#dh-preview .dh-contact h2{margin:12px 0 20px}#dh-preview .dh-contact p{font-size:13px;color:var(--dh-muted)}#dh-preview .dh-contact .dh-button{margin-top:24px}#dh-preview .dh-address{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:center;background:var(--dh-white);border:1px solid var(--dh-line);padding:17px;border-radius:6px}#dh-preview .dh-address img{height:150px;border-radius:3px;object-position:40% 50%}#dh-preview .dh-address strong{font-weight:500;font-size:13px}#dh-preview .dh-address p{font-size:11px;line-height:1.8;margin-top:7px}#dh-preview .dh-footer{padding:22px 5%;border-top:1px solid var(--dh-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:10px;color:var(--dh-muted)}#dh-preview .dh-booking{padding:34px 5% 48px;min-height:680px}#dh-preview .dh-booking-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}#dh-preview .dh-progress{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--dh-muted)}#dh-preview .dh-progress .dh-step{display:flex;align-items:center;gap:7px;white-space:nowrap}#dh-preview .dh-progress .dh-step b{border:1px solid var(--dh-line);width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:500}#dh-preview .dh-progress .dh-step[aria-current="step"]{color:var(--dh-ink)}#dh-preview .dh-progress .dh-step[aria-current="step"] b{background:var(--dh-accent);color:var(--dh-onaccent);border-color:var(--dh-accent)}#dh-preview .dh-progress-line{width:22px;height:1px;background:var(--dh-line)}#dh-preview .dh-booking-title{font-size:43px;margin-bottom:12px}#dh-preview .dh-booking-intro{font-size:13px;color:var(--dh-muted);margin-bottom:29px}#dh-preview .dh-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:30px;align-items:start}#dh-preview .dh-booking-main{min-width:0}#dh-preview .dh-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px}#dh-preview .dh-choice{padding:15px 11px;background:var(--dh-white);border:1px solid var(--dh-line);border-radius:5px;color:var(--dh-ink);text-align:left;position:relative;min-width:0}#dh-preview .dh-choice[aria-pressed="true"]{background:var(--dh-soft);border-color:var(--dh-accent);box-shadow:inset 0 0 0 1px var(--dh-accent)}#dh-preview .dh-choice strong{display:block;font-weight:500;font-size:12px}#dh-preview .dh-choice small{display:block;font-size:10px;color:var(--dh-muted);margin-top:6px}#dh-preview .dh-includes{font-size:11px;color:var(--dh-muted);padding:0 0 22px;min-height:45px;border-bottom:1px solid var(--dh-line)}#dh-preview .dh-calendar-top{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px;gap:15px}#dh-preview .dh-calendar-top h3{font-family:'DM Sans',Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0}#dh-preview .dh-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#dh-preview .dh-day{padding:11px 5px;background:var(--dh-white);border:1px solid var(--dh-line);border-radius:5px;text-align:center;color:var(--dh-ink)}#dh-preview .dh-day strong{font-size:20px;display:block;line-height:1.5;font-weight:500}#dh-preview .dh-day small{font-size:10px;color:var(--dh-muted)}#dh-preview .dh-day[aria-pressed="true"]{background:var(--dh-accent);border-color:var(--dh-accent);color:var(--dh-onaccent)}#dh-preview .dh-day[aria-pressed="true"] small{color:var(--dh-onaccent)}#dh-preview .dh-time-filters{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 13px}#dh-preview .dh-time-filter{font-size:10px;padding:7px 12px;border-radius:20px;border:1px solid var(--dh-line);background:transparent;color:var(--dh-muted)}#dh-preview .dh-time-filter[aria-pressed="true"]{background:var(--dh-soft);color:var(--dh-ink);border-color:var(--dh-accent)}#dh-preview .dh-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#dh-preview .dh-time{min-height:43px;border:1px solid var(--dh-line);border-radius:4px;color:var(--dh-ink);background:var(--dh-white);font-size:12px;font-variant-numeric:tabular-nums}#dh-preview .dh-time[aria-pressed="true"]{border-color:var(--dh-accent);background:var(--dh-soft);box-shadow:inset 0 0 0 1px var(--dh-accent)}#dh-preview .dh-no-times{font-size:12px;color:var(--dh-muted);padding:14px 0;grid-column:1/-1}#dh-preview .dh-booking-help{font-size:11px;color:var(--dh-muted);margin-top:24px}#dh-preview .dh-summary{border:1px solid var(--dh-line);border-radius:7px;padding:21px;background:var(--dh-white)}#dh-preview .dh-summary-person{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--dh-line);padding-bottom:19px;margin-bottom:19px}#dh-preview .dh-summary-person img{width:48px;height:55px;object-position:66% 50%;border-radius:4px}#dh-preview .dh-summary-person strong{display:block;font-size:12px;font-weight:500}#dh-preview .dh-summary-person small{font-size:10px;color:var(--dh-muted)}#dh-preview .dh-summary-label{font-size:10px;color:var(--dh-muted);margin:14px 0 4px}#dh-preview .dh-summary-value{font-size:13px;font-weight:500}#dh-preview .dh-summary-duration{font-size:11px;color:var(--dh-muted);margin-top:4px}#dh-preview .dh-summary-price{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--dh-line);margin-top:20px;padding-top:17px;font-size:12px;align-items:center}#dh-preview .dh-summary-price strong{font-size:22px;letter-spacing:-.04em;font-weight:500}#dh-preview .dh-summary .dh-button{width:100%;margin-top:20px;font-size:12px;padding:14px 10px;gap:10px}#dh-preview .dh-summary-note{font-size:10px;color:var(--dh-muted);margin-top:12px;text-align:center}#dh-preview .dh-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}#dh-preview .dh-form label{font-size:11px;font-weight:500;display:block}#dh-preview .dh-form input{display:block;margin-top:7px;width:100%;min-width:0;padding:13px 12px;min-height:46px;border:1px solid var(--dh-line);border-radius:4px;background:var(--dh-white);color:var(--dh-ink);font-size:14px}#dh-preview .dh-form input::placeholder{color:var(--dh-muted)}#dh-preview .dh-form-full{grid-column:1/-1}#dh-preview .dh-form-note{font-size:11px;color:var(--dh-muted);margin-top:19px}#dh-preview .dh-form .dh-button{margin-top:6px;justify-self:start}#dh-preview .dh-demo-fill{margin-bottom:20px;text-decoration:underline;text-underline-offset:4px}#dh-preview .dh-confirmation{padding:48px 5% 68px;max-width:660px;margin:auto;text-align:center}#dh-preview .dh-confirm-icon{width:60px;height:60px;background:var(--dh-soft);color:var(--dh-accent);border-radius:50%;display:grid;place-items:center;font-size:24px;margin:0 auto 20px}#dh-preview .dh-confirmation h2{font-size:40px;margin-bottom:15px}#dh-preview .dh-confirmation>p{font-size:13px;color:var(--dh-muted)}#dh-preview .dh-confirm-receipt{text-align:left;background:var(--dh-white);border:1px solid var(--dh-line);border-radius:7px;padding:25px;margin:26px 0}#dh-preview .dh-confirm-receipt dl{display:grid;grid-template-columns:1fr 1.5fr;gap:13px;margin:0;font-size:12px}#dh-preview .dh-confirm-receipt dt{color:var(--dh-muted)}#dh-preview .dh-confirm-receipt dd{margin:0;font-weight:500}#dh-preview .dh-confirmation .dh-button{margin-top:23px}#dh-preview .dh-live{font-size:11px;color:var(--dh-muted);margin-top:13px;min-height:18px}
@media(max-width:760px){#dh-preview .dh-nav{gap:15px}#dh-preview .dh-nav a{display:none}#dh-preview .dh-header{padding:17px 5%}#dh-preview .dh-hero-copy{padding:37px 8% 31px 10%}#dh-preview .dh-hero h1{font-size:43px}#dh-preview .dh-hero-description{font-size:12px}#dh-preview .dh-hero{min-height:470px}#dh-preview .dh-hero-visual{min-height:420px}#dh-preview .dh-photo-caption{left:14px;right:14px;bottom:16px;padding:12px}#dh-preview .dh-photo-caption span{font-size:10px}#dh-preview .dh-section{padding:45px 5%}#dh-preview .dh-service-card{padding:23px 18px}#dh-preview .dh-service-card h3{font-size:22px}#dh-preview .dh-service-card p{min-height:92px}#dh-preview .dh-story-copy{padding:32px 9%}#dh-preview .dh-story-copy h2{font-size:30px}#dh-preview .dh-story-image{min-height:365px}#dh-preview .dh-gallery-image{height:185px}#dh-preview .dh-booking-grid{grid-template-columns:minmax(0,1fr) 220px;gap:18px}#dh-preview .dh-summary{padding:16px}#dh-preview .dh-choices{grid-template-columns:1fr}#dh-preview .dh-choice{display:flex;align-items:center;justify-content:space-between;padding:12px}#dh-preview .dh-choice small{margin:0}#dh-preview .dh-contact{gap:22px}#dh-preview .dh-address{grid-template-columns:90px 1fr;gap:14px}#dh-preview .dh-address img{height:145px}#dh-preview .dh-trust{gap:12px}#dh-preview .dh-trust p{font-size:11px}}
@media(max-width:560px){#dh-preview .dh-demo{font-size:10px;gap:4px}#dh-preview .dh-demo span:last-child{display:none}#dh-preview .dh-brand-name{font-size:23px}#dh-preview .dh-brand-sub{font-size:8px;letter-spacing:.18em}#dh-preview .dh-nav .dh-button{padding:10px 13px;min-height:42px;font-size:11px}#dh-preview .dh-hero{grid-template-columns:1fr}#dh-preview .dh-hero-copy{padding:34px 6% 29px}#dh-preview .dh-hero h1{font-size:46px;margin:19px 0 18px;max-width:330px}#dh-preview .dh-hero-description{font-size:13px;max-width:330px}#dh-preview .dh-hero-price{margin-top:21px}#dh-preview .dh-hero-copy>.dh-button{width:100%;justify-content:space-between}#dh-preview .dh-hero-copy>.dh-textbutton{align-self:center;margin-top:6px}#dh-preview .dh-hero-visual{min-height:340px}#dh-preview .dh-hero-visual img{object-position:65% 50%}#dh-preview .dh-photo-caption{max-width:300px;left:6%;right:6%;bottom:18px}#dh-preview .dh-trust{grid-template-columns:1fr 1fr;padding:23px 6%;gap:20px}#dh-preview .dh-trust-item:last-child{display:none}#dh-preview .dh-trust-number{font-size:26px}#dh-preview .dh-section{padding:41px 6%}#dh-preview .dh-section-heading{display:block;margin-bottom:23px}#dh-preview .dh-section-heading>p{margin-top:14px;max-width:100%}#dh-preview .dh-services{grid-template-columns:1fr;gap:12px}#dh-preview .dh-service-card{display:grid;grid-template-columns:1fr auto;gap:8px 15px;padding:22px}#dh-preview .dh-service-number{margin:0;grid-column:1/-1}#dh-preview .dh-service-card h3{font-size:26px;grid-column:1/-1;margin:7px 0 3px}#dh-preview .dh-service-card p{min-height:0;grid-column:1/-1;max-width:350px}#dh-preview .dh-service-price{margin-top:12px}#dh-preview .dh-service-card .dh-textbutton{grid-column:1/-1;margin-top:7px;padding:12px 0 0}#dh-preview .dh-story{grid-template-columns:1fr}#dh-preview .dh-story-image{min-height:0;height:275px}#dh-preview .dh-story-copy{padding:32px 6% 37px}#dh-preview .dh-story-copy h2{font-size:34px;max-width:320px}#dh-preview .dh-gallery{grid-template-columns:1fr 1fr;gap:22px 13px}#dh-preview .dh-gallery figure:first-child{grid-column:1/-1}#dh-preview .dh-gallery-image{height:185px}#dh-preview .dh-gallery figure:first-child .dh-gallery-image{height:230px}#dh-preview .dh-quote{padding:34px 7%}#dh-preview .dh-quote blockquote{font-size:24px}#dh-preview .dh-contact{grid-template-columns:1fr}#dh-preview .dh-contact .dh-button{width:100%}#dh-preview .dh-address{grid-template-columns:100px 1fr}#dh-preview .dh-footer{padding:20px 6%}#dh-preview .dh-booking{padding:23px 6% 35px;min-height:0}#dh-preview .dh-booking-top{display:block;margin-bottom:25px}#dh-preview .dh-progress{margin-top:18px;gap:9px}#dh-preview .dh-booking-title{font-size:35px}#dh-preview .dh-booking-intro{font-size:12px;margin-bottom:23px}#dh-preview .dh-booking-grid{grid-template-columns:1fr;gap:24px}#dh-preview .dh-choices{grid-template-columns:1fr;gap:7px}#dh-preview .dh-choice{min-height:50px}#dh-preview .dh-choice strong{font-size:13px}#dh-preview .dh-choice small{font-size:11px}#dh-preview .dh-summary{padding:21px}#dh-preview .dh-form{gap:15px 12px}#dh-preview .dh-form input{font-size:16px;padding:12px 10px}#dh-preview .dh-form .dh-button{width:100%}#dh-preview .dh-time-filter{font-size:11px;min-height:39px}#dh-preview .dh-time{min-height:46px}#dh-preview .dh-confirmation{padding:37px 6% 48px}#dh-preview .dh-confirmation h2{font-size:35px}#dh-preview .dh-confirm-receipt{padding:21px}#dh-preview .dh-confirm-receipt dl{grid-template-columns:1fr;gap:4px}#dh-preview .dh-confirm-receipt dd{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){#dh-preview *{scroll-behavior:auto!important;transition:none!important}}
#dh-preview .dh-nav{gap:19px}#dh-preview .dh-nav a[aria-current="page"],#dh-preview .dh-mobile-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;color:var(--dh-accent)}#dh-preview .dh-menu-toggle{display:none;border:1px solid var(--dh-line);background:transparent;color:var(--dh-ink);border-radius:4px;min-height:44px;padding:9px 12px;font-size:12px}#dh-preview .dh-mobile-nav{display:flex;flex-wrap:wrap;gap:0;padding:10px 5%;border-bottom:1px solid var(--dh-line);background:var(--dh-white)}#dh-preview .dh-mobile-nav a{padding:11px 15px;font-size:13px}#dh-preview .dh-route-kicker{margin-bottom:14px;font-size:11px;color:var(--dh-muted)}#dh-preview .dh-route-kicker a{text-decoration:underline;text-underline-offset:3px}#dh-preview .dh-page-head{padding:42px 5% 37px;border-bottom:1px solid var(--dh-line)}#dh-preview .dh-page-head h1{font-size:clamp(38px,5.5vw,55px);margin:18px 0 15px}#dh-preview .dh-page-head>p{max-width:540px;color:var(--dh-muted);font-size:14px}#dh-preview .dh-page-head .dh-label{margin-top:20px}#dh-preview .dh-page-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}#dh-preview .dh-inline-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:22px}#dh-preview .dh-inline-links a{font-size:12px;text-decoration:underline;text-underline-offset:5px;padding:8px 0}#dh-preview .dh-price-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:43px;align-items:start}#dh-preview .dh-price-group+.dh-price-group{margin-top:44px}#dh-preview .dh-price-group h2{font-size:30px;padding-bottom:20px}#dh-preview .dh-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding:22px 0;border-top:1px solid var(--dh-line);align-items:start}#dh-preview .dh-price-name{font-size:14px;font-weight:500;line-height:1.55;max-width:350px}#dh-preview .dh-price-desc{font-size:11px;color:var(--dh-muted);margin-top:5px;max-width:360px}#dh-preview .dh-price-amount{font-size:19px;font-weight:500;white-space:nowrap;letter-spacing:-.025em;text-align:right}#dh-preview .dh-price-duration{font-size:11px;color:var(--dh-muted);display:block;text-align:right}#dh-preview .dh-price-row .dh-textbutton{grid-column:1/-1;padding:2px 0;min-height:34px;color:var(--dh-accent)}#dh-preview .dh-price-aside{background:var(--dh-soft);border-radius:5px;overflow:hidden}#dh-preview .dh-price-aside img{height:150px;object-position:66% 50%}#dh-preview .dh-price-aside-copy{padding:23px}#dh-preview .dh-price-aside h3{font-size:25px;margin-bottom:14px}#dh-preview .dh-price-aside p{font-size:12px;color:var(--dh-muted)}#dh-preview .dh-price-aside .dh-button{margin-top:20px;width:100%;gap:8px;padding:13px 9px;font-size:12px}#dh-preview .dh-content-note{font-size:11px;color:var(--dh-muted);padding-top:20px}#dh-preview .dh-feature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:43px 0;border-bottom:1px solid var(--dh-line)}#dh-preview .dh-feature:first-child{padding-top:0}#dh-preview .dh-feature:last-child{border-bottom:0;padding-bottom:0}#dh-preview .dh-feature-image{height:330px;border-radius:5px;overflow:hidden}#dh-preview .dh-feature-copy h2{margin:13px 0 20px;font-size:35px}#dh-preview .dh-feature-copy p{font-size:13px;color:var(--dh-muted);line-height:1.85}#dh-preview .dh-feature-copy .dh-button{margin-top:23px}#dh-preview .dh-feature-copy .dh-inline-links{gap:20px;margin-top:13px}#dh-preview .dh-feature-copy ul{padding-left:19px;color:var(--dh-muted);font-size:13px;line-height:1.9}#dh-preview .dh-about-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--dh-line);border-bottom:1px solid var(--dh-line);gap:25px;padding:27px 0;margin-top:36px}#dh-preview .dh-about-facts strong{font-weight:500;font-size:14px;display:block}#dh-preview .dh-about-facts span{display:block;font-size:11px;color:var(--dh-muted);margin-top:6px}#dh-preview .dh-faq-list{max-width:730px;margin:auto}#dh-preview .dh-faq-list details{border-top:1px solid var(--dh-line);padding:0}#dh-preview .dh-faq-list details:last-child{border-bottom:1px solid var(--dh-line)}#dh-preview .dh-faq-list summary{cursor:pointer;font-size:16px;font-weight:500;padding:22px 25px 22px 0;line-height:1.5}#dh-preview .dh-faq-list details>p{font-size:13px;color:var(--dh-muted);line-height:1.9;padding:0 15px 22px 0}#dh-preview .dh-faq-list a{color:var(--dh-accent);text-decoration:underline;text-underline-offset:4px}#dh-preview .dh-page-cta{padding:36px 5%;background:var(--dh-soft);display:flex;align-items:center;justify-content:space-between;gap:25px}#dh-preview .dh-page-cta h2{font-size:31px}#dh-preview .dh-page-cta p{font-size:12px;color:var(--dh-muted);margin-top:10px}#dh-preview .dh-contact-detail{display:grid;grid-template-columns:1fr 1fr;gap:45px}#dh-preview .dh-contact-detail img{height:390px;object-position:35% 50%;border-radius:5px}#dh-preview .dh-contact-detail h2{font-size:32px;margin:12px 0 20px}#dh-preview .dh-contact-detail p{color:var(--dh-muted);font-size:13px;line-height:1.9}#dh-preview .dh-contact-detail a{display:inline-block;padding:7px 0;color:var(--dh-ink);text-decoration:underline;text-underline-offset:4px}#dh-preview .dh-contact-detail .dh-label{margin-top:25px}#dh-preview .dh-contact-detail .dh-label:first-child{margin-top:0}#dh-preview .dh-footer-links{display:flex;gap:16px;flex-wrap:wrap}#dh-preview .dh-footer-links a{text-decoration:underline;text-underline-offset:4px}#dh-preview .dh-choice-extra{grid-column:1/-1}#dh-preview .dh-service-footer-links{margin-top:10px}
@media(max-width:900px){#dh-preview .dh-nav{gap:12px}#dh-preview .dh-nav a{font-size:11px}#dh-preview .dh-brand-name{font-size:24px}#dh-preview .dh-price-layout{grid-template-columns:minmax(0,1fr) 205px;gap:25px}}
@media(max-width:760px){#dh-preview .dh-menu-toggle{display:block}#dh-preview .dh-header{flex-wrap:wrap;gap:12px}#dh-preview .dh-nav{gap:9px}#dh-preview .dh-price-layout{grid-template-columns:1fr}#dh-preview .dh-price-aside{display:grid;grid-template-columns:160px 1fr}#dh-preview .dh-price-aside img{height:100%;min-height:220px}#dh-preview .dh-feature{gap:25px}#dh-preview .dh-feature-image{height:300px}#dh-preview .dh-contact-detail{gap:27px}}
@media(max-width:560px){#dh-preview .dh-header{gap:12px;padding:16px 6%}#dh-preview .dh-brand-name{font-size:23px}#dh-preview .dh-nav{margin-left:auto}#dh-preview .dh-nav .dh-button{display:none}#dh-preview .dh-mobile-nav{display:grid;grid-template-columns:1fr 1fr;padding:9px 3%}#dh-preview .dh-mobile-nav a{min-height:44px}#dh-preview .dh-page-head{padding:28px 6% 30px}#dh-preview .dh-page-head h1{font-size:41px}#dh-preview .dh-page-head>p{font-size:13px}#dh-preview .dh-page-actions{gap:13px}#dh-preview .dh-page-actions .dh-button{width:100%}#dh-preview .dh-price-row{gap:9px 12px}#dh-preview .dh-price-name{font-size:13px}#dh-preview .dh-price-amount{font-size:17px}#dh-preview .dh-price-row .dh-textbutton{min-height:44px}#dh-preview .dh-price-aside{grid-template-columns:1fr}#dh-preview .dh-price-aside img{height:190px;min-height:0;object-position:66% 40%}#dh-preview .dh-feature{grid-template-columns:1fr;gap:25px;padding:33px 0}#dh-preview .dh-feature-image{height:260px}#dh-preview .dh-feature-copy h2{font-size:33px}#dh-preview .dh-feature-copy .dh-button{width:100%}#dh-preview .dh-about-facts{grid-template-columns:1fr;gap:20px;margin-top:26px}#dh-preview .dh-faq-list summary{font-size:15px}#dh-preview .dh-page-cta{display:block;padding:31px 6%}#dh-preview .dh-page-cta .dh-button{width:100%;margin-top:23px}#dh-preview .dh-contact-detail{grid-template-columns:1fr;gap:28px}#dh-preview .dh-contact-detail img{height:300px}#dh-preview .dh-choice-extra{display:block}#dh-preview .dh-choice-extra small{margin-top:5px}}
@media(pointer:coarse){#dh-preview .dh-time-filter{min-height:44px}#dh-preview .dh-textbutton{min-height:44px}#dh-preview .dh-form input{font-size:16px}}
#dh-preview .dh-booking-no-api{min-height:0;padding-bottom:48px}#dh-preview .dh-booking-no-api .dh-booking-intro{max-width:650px;margin-bottom:30px}#dh-preview .dh-booking-no-api .dh-service-card .dh-button{width:100%;margin-top:23px;justify-content:space-between;padding:13px 15px;font-size:12px}#dh-preview .dh-xdent-note{font-size:12px;color:var(--dh-muted);margin-top:22px;max-width:680px}#dh-preview .dh-booking-person{display:flex;align-items:center;gap:17px;border-top:1px solid var(--dh-line);margin-top:29px;padding-top:25px}#dh-preview .dh-booking-person img{width:64px;height:70px;border-radius:4px;object-position:66% 50%}#dh-preview .dh-booking-person strong{font-size:13px;font-weight:500}#dh-preview .dh-booking-person p{font-size:11px;color:var(--dh-muted);margin-top:4px}#dh-preview a.dh-button{color:var(--dh-onaccent)}#dh-preview a.dh-button-secondary{color:var(--dh-ink)}
@media(max-width:560px){#dh-preview .dh-booking-no-api .dh-service-card .dh-button{grid-column:1/-1;margin-top:10px}#dh-preview .dh-booking-no-api .dh-service-card p{min-height:0}#dh-preview .dh-booking-no-api .dh-booking-top .dh-label{margin-top:12px}#dh-preview .dh-booking-person{align-items:flex-start}}

/* Original supplied logo: transparent padding is cropped only in the layout. */
#dh-preview .dh-logo {
  display: block;
  position: relative;
  width: 290px;
  aspect-ratio: 4.5;
  overflow: hidden;
}
#dh-preview .dh-logo img {
  position: absolute;
  width: 121.5%;
  height: auto;
  max-width: none;
  left: -10.7%;
  top: -43.5%;
  object-fit: contain;
}
#dh-preview .dh-monogram {
  display: block;
  flex: 0 0 48px;
  width: 48px;
  height: 40px;
  background: var(--dh-ink);
  mask: url('/assets/logo-horizontal.png') -17px -16px / 198px 68px no-repeat;
}
#dh-preview .dh-hero h1 { max-width: 100%; font-size: clamp(38px, 4.5vw, 56px); }
#dh-preview .dh-hero-description { max-width: 430px; }
#dh-preview .dh-footer-brand { flex-basis: 100%; }
#dh-preview .dh-footer-brand .dh-logo { width: 240px; }
#dh-preview .dh-feature-copy p + p { margin-top: 15px; }
#dh-preview .dh-brand:focus-visible { outline: 2px solid var(--dh-accent); outline-offset: 8px; }
@media (prefers-color-scheme: dark) {
  #dh-preview .dh-logo img { filter: invert(1); }
}
@media (max-width: 1000px) {
  #dh-preview .dh-logo { width: 235px; }
  #dh-preview .dh-nav { gap: 12px; }
}
@media (max-width: 560px) {
  #dh-preview .dh-logo { width: 215px; }
  #dh-preview .dh-hero h1 { font-size: 40px; }
}
@media (max-width: 360px) {
  #dh-preview .dh-logo { width: 185px; }
}

/* Categories and treatment lists share a vertical reading order. */
#dh-preview .dh-category-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
#dh-preview .dh-category-card { display: grid; grid-template-columns: 180px minmax(0, 1fr); min-width: 0; border: 1px solid var(--dh-line); border-radius: 5px; overflow: hidden; background: var(--dh-white); transition: border-color .2s; }
#dh-preview .dh-category-card:hover { border-color: var(--dh-accent); text-decoration: none; }
#dh-preview .dh-category-card:focus-visible { outline: 2px solid var(--dh-accent); outline-offset: 5px; }
#dh-preview .dh-category-photo { position: relative; min-height: 155px; overflow: hidden; }
#dh-preview .dh-category-photo img { position: absolute; inset: 0; transition: transform .25s; }
#dh-preview .dh-category-card:hover img { transform: scale(1.025); }
#dh-preview .dh-category-number { position: absolute; left: 14px; top: 14px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--dh-paper); font-size: 11px; }
#dh-preview .dh-category-copy { padding: 25px 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; align-items: center; gap: 12px 28px; }
#dh-preview .dh-category-copy h2 { grid-column: 1; font-size: 29px; letter-spacing: -.035em; }
#dh-preview .dh-category-copy p { grid-column: 1; max-width: 570px; color: var(--dh-muted); font-size: 13px; line-height: 1.8; }
#dh-preview .dh-category-action { grid-column: 2; grid-row: 1 / 3; display: flex; align-items: center; gap: 22px; min-height: 44px; font-size: 13px; font-weight: 500; white-space: nowrap; }
#dh-preview .dh-category-nav { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
#dh-preview .dh-category-nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 18px; border: 1px solid var(--dh-line); border-radius: 4px; font-size: 13px; }
#dh-preview .dh-category-nav a[aria-current] { background: var(--dh-accent); border-color: var(--dh-accent); color: var(--dh-onaccent); }
#dh-preview .dh-category-nav a:hover { border-color: var(--dh-accent); }
#dh-preview .dh-treatment-grid { display: block; border-bottom: 1px solid var(--dh-line); }
#dh-preview .dh-treatment { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 36px; padding: 27px 0; border-top: 1px solid var(--dh-line); }
#dh-preview .dh-treatment-copy { min-width: 0; }
#dh-preview .dh-treatment h3 { font-family: 'DM Sans', Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: 0; line-height: 1.55; }
#dh-preview .dh-treatment-badge { display: inline-block; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--dh-accent); margin-bottom: 6px; }
#dh-preview .dh-treatment-description { color: var(--dh-muted); font-size: 13px; line-height: 1.8; margin-top: 8px; max-width: 710px; }
#dh-preview .dh-treatment-booking { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; }
#dh-preview .dh-treatment-meta { text-align: right; }
#dh-preview .dh-treatment-meta strong { display: block; font-size: 23px; font-weight: 500; letter-spacing: -.025em; line-height: 1.4; }
#dh-preview .dh-treatment-meta span { display: block; margin-top: 3px; font-size: 12px; color: var(--dh-muted); }
#dh-preview .dh-treatment-note { font-size: 12px; color: var(--dh-muted); margin-top: 7px; }
#dh-preview .dh-treatment-details { margin-top: 7px; }
#dh-preview .dh-treatment-details summary { padding: 10px 0; display: inline-flex; align-items: center; gap: 15px; cursor: pointer; font-size: 12px; list-style: none; min-height: 44px; }
#dh-preview .dh-treatment-details summary::-webkit-details-marker { display: none; }
#dh-preview .dh-treatment-details[open] summary span { transform: rotate(45deg); }
#dh-preview .dh-treatment-details p { font-size: 13px; line-height: 1.8; color: var(--dh-muted); padding-bottom: 12px; white-space: pre-line; max-width: 710px; }
#dh-preview .dh-treatment .dh-button { width: 100%; justify-content: space-between; padding: 12px 16px; font-size: 12px; }
#dh-preview .dh-selection-help { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--dh-line); }
#dh-preview .dh-selection-help h2 { font-size: 26px; }
#dh-preview .dh-selection-help p { font-size: 13px; color: var(--dh-muted); margin-top: 10px; }
#dh-preview .dh-category-head { padding-top: 28px; padding-bottom: 25px; }
#dh-preview .dh-category-head .dh-label { margin-top: 12px; }
#dh-preview .dh-category-head h1:focus { outline: none; }
#dh-preview .dh-treatments-section { padding-top: 28px; }
@media (max-width: 850px) {
  #dh-preview .dh-category-card { grid-template-columns: 140px minmax(0, 1fr); }
  #dh-preview .dh-category-copy { padding: 20px 24px; gap: 6px; grid-template-columns: 1fr; }
  #dh-preview .dh-category-action { grid-column: 1; grid-row: auto; justify-content: space-between; margin-top: 5px; }
  #dh-preview .dh-treatment { gap: 24px; grid-template-columns: minmax(0, 1fr) 175px; }
}
@media (max-width: 560px) {
  #dh-preview .dh-category-card { grid-template-columns: 90px minmax(0, 1fr); }
  #dh-preview .dh-category-copy { padding: 18px 16px; }
  #dh-preview .dh-category-copy h2 { font-size: 25px; }
  #dh-preview .dh-category-copy p { font-size: 12px; }
  #dh-preview .dh-category-action { font-size: 12px; gap: 10px; }
  #dh-preview .dh-category-number { left: 10px; top: 10px; }
  #dh-preview .dh-treatment { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 24px 0; }
  #dh-preview .dh-treatment h3 { font-size: 16px; }
  #dh-preview .dh-treatment-booking { flex-direction: row; align-items: center; justify-content: space-between; gap: 15px; }
  #dh-preview .dh-treatment-meta { text-align: left; flex-shrink: 0; }
  #dh-preview .dh-treatment-meta strong { font-size: 21px; }
  #dh-preview .dh-treatment .dh-button { width: auto; gap: 15px; }
  #dh-preview .dh-category-nav { gap: 8px; }
  #dh-preview .dh-category-nav a { padding: 10px 12px; font-size: 12px; }
  #dh-preview .dh-selection-help { display: block; }
  #dh-preview .dh-selection-help .dh-textbutton { margin-top: 12px; }
}

/* In-place category disclosure. Booking details stay visible without a second click. */
#dh-preview .dh-category-accordion { border: 1px solid var(--dh-line); border-radius: 5px; background: var(--dh-paper); scroll-margin-top: 20px; }
#dh-preview .dh-category-card { border: 0; border-radius: 4px; cursor: pointer; list-style: none; }
#dh-preview .dh-category-card::-webkit-details-marker { display: none; }
#dh-preview .dh-category-card::marker { content: ''; }
#dh-preview .dh-category-accordion[open] > .dh-category-card { background: var(--dh-soft); border-bottom: 1px solid var(--dh-line); border-radius: 4px 4px 0 0; }
#dh-preview .dh-category-open { display: none; }
#dh-preview .dh-category-accordion[open] .dh-category-open { display: inline; }
#dh-preview .dh-category-accordion[open] .dh-category-closed { display: none; }
#dh-preview .dh-category-chevron { display: inline-block; font-size: 24px; line-height: 1; transition: transform .15s; }
#dh-preview .dh-category-accordion[open] .dh-category-chevron { transform: rotate(180deg); }
#dh-preview .dh-category-panel { padding: 0 28px; }
#dh-preview .dh-booking-explainer { font-size: 12px; color: var(--dh-muted); padding: 20px 0; }
#dh-preview .dh-collapse-category { margin: 10px 0; min-height: 44px; }
#dh-preview [data-category-overview] { scroll-margin-top: 20px; }
#dh-preview .dh-mobile-booking { display: none; }
@media (max-width: 560px) {
  #dh-preview .dh-category-panel { padding: 0 18px; }
  #dh-preview .dh-mobile-booking { display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; padding: 10px 6% max(10px, env(safe-area-inset-bottom)); background: var(--dh-paper); border-top: 1px solid var(--dh-line); }
  #dh-preview .dh-mobile-booking .dh-button { width: 100%; justify-content: space-between; }
}

/* Concept 07: a quieter hierarchy, shared by home and the service catalogue. */
#dh-preview .dh-header { padding-block: 24px; border-bottom: 0; }
#dh-preview .dh-logo { width: 240px; }
#dh-preview .dh-nav { gap: 26px; font-size: 13px; }
#dh-preview .dh-nav a { font-size: inherit; }
#dh-preview .dh-header .dh-button { background: transparent; color: var(--dh-ink); border-color: var(--dh-line); }
#dh-preview .dh-demo { padding-block: 12px; background: transparent; border-top: 1px solid var(--dh-line); }
#dh-preview .dh-hero { margin: 24px 5% 0; grid-template-columns: 1fr 1fr; gap: 7%; min-height: 0; align-items: center; }
#dh-preview .dh-hero-copy { padding: 24px 0; }
#dh-preview .dh-hero h1 { margin: 0 0 26px; font-size: clamp(38px, 4.5vw, 54px); line-height: 1.16; }
#dh-preview .dh-hero-description { font-size: 15px; line-height: 1.8; max-width: 410px; }
#dh-preview .dh-hero-price { margin: 28px 0 14px; font-size: 13px; color: var(--dh-muted); gap: 8px; }
#dh-preview .dh-returning { margin-top: 5px; color: var(--dh-muted); min-height: 44px; }
#dh-preview .dh-hero-rating { margin-top: 25px; font-size: 12px; color: var(--dh-muted); }
#dh-preview .dh-hero-rating > span:first-child { margin-right: 5px; color: var(--dh-accent); }
#dh-preview .dh-rating-count { margin-left: 5px; }
#dh-preview .dh-hero-visual { min-height: 0; overflow: visible; }
#dh-preview .dh-hero-visual img { position: static; height: 480px; object-position: 66% 45%; border-radius: 3px; }
#dh-preview .dh-photo-caption { position: static; padding: 14px 0 0; border-radius: 0; background: transparent; max-width: none; }
#dh-preview .dh-photo-caption > div { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
#dh-preview .dh-photo-caption strong { font-size: 12px; }
#dh-preview #dh-home .dh-section { padding: 76px 5%; }
#dh-preview #dh-home h2 { font-size: clamp(29px, 3.1vw, 36px); }
#dh-preview #dh-home .dh-section-heading { align-items: center; margin-bottom: 28px; }
#dh-preview #dh-home .dh-section-heading > p { font-size: 13px; max-width: 310px; }
#dh-preview #dh-home .dh-story { margin: 0 5%; grid-template-columns: 1fr 1fr; gap: 7%; background: transparent; align-items: center; }
#dh-preview #dh-home .dh-story-image { min-height: 0; height: 390px; border-radius: 3px; overflow: hidden; }
#dh-preview #dh-home .dh-story-copy { padding: 0; }
#dh-preview #dh-home .dh-story-copy h2 { margin-bottom: 24px; }
#dh-preview #dh-home .dh-story-copy p { font-size: 15px; line-height: 1.85; }
#dh-preview #dh-home .dh-story-copy .dh-textbutton { align-self: flex-start; margin-top: 18px; }
#dh-preview .dh-quote { margin: 76px 5%; padding: 40px 10%; background: transparent; border-block: 1px solid var(--dh-line); }
#dh-preview .dh-quote blockquote { font-size: 25px; line-height: 1.65; margin: 20px auto; }
#dh-preview #dh-home .dh-contact { background: var(--dh-soft); padding-block: 52px; grid-template-columns: 1.2fr 1fr; gap: 12%; }
#dh-preview .dh-contact h2 { max-width: 360px; margin-bottom: 0; }
#dh-preview .dh-contact .dh-address { display: block; background: transparent; border: 0; border-radius: 0; padding: 0; }
#dh-preview .dh-address strong { font-size: 16px; }
#dh-preview .dh-address p { font-size: 14px; }
#dh-preview .dh-footer { padding-block: 30px; align-items: center; }
#dh-preview .dh-footer-brand { flex-basis: auto; }
#dh-preview .dh-footer-brand .dh-logo { width: 170px; }
#dh-preview .dh-footer-links { gap: 14px; }
#dh-preview .dh-footer > span:last-child { display: none; }
#dh-preview :is(a, button):focus-visible { outline: 2px solid var(--dh-accent); outline-offset: 5px; }
@media (max-width: 900px) {
  #dh-preview .dh-nav { gap: 15px; }
  #dh-preview .dh-hero { gap: 5%; }
  #dh-preview .dh-hero-visual img { height: 460px; }
  #dh-preview .dh-logo { width: 215px; }
}
@media (max-width: 760px) {
  #dh-preview .dh-hero-description { font-size: 14px; }
  #dh-preview .dh-hero { margin-top: 6px; }
  #dh-preview .dh-hero h1 { font-size: 38px; }
  #dh-preview .dh-hero-visual img { height: 420px; }
  #dh-preview #dh-home .dh-story { gap: 5%; }
  #dh-preview #dh-home .dh-story-copy p { font-size: 14px; }
}
@media (max-width: 560px) {
  #dh-preview .dh-header { padding: 20px 6%; }
  #dh-preview .dh-logo { width: 200px; }
  #dh-preview .dh-hero { margin: 0 6%; grid-template-columns: 1fr; gap: 24px; }
  #dh-preview .dh-hero-copy { padding: 18px 0 0; }
  #dh-preview .dh-hero h1 { font-size: 42px; max-width: none; margin-bottom: 22px; }
  #dh-preview .dh-hero-description { max-width: none; line-height: 1.75; }
  #dh-preview .dh-hero-price { margin-top: 22px; }
  #dh-preview .dh-hero-copy > .dh-textbutton { margin-top: 4px; }
  #dh-preview .dh-hero-rating { margin-top: 16px; align-self: center; }
  #dh-preview .dh-hero-visual img { height: 320px; object-position: 66% 42%; }
  #dh-preview .dh-photo-caption > div { gap: 3px 12px; }
  #dh-preview #dh-home .dh-section { padding: 48px 6%; }
  #dh-preview #dh-home .dh-section-heading { margin-bottom: 24px; }
  #dh-preview #dh-home .dh-story { margin: 0 6%; grid-template-columns: 1fr; gap: 26px; }
  #dh-preview #dh-home .dh-story-image { height: 270px; }
  #dh-preview #dh-home .dh-story-copy h2 { max-width: none; margin-bottom: 18px; }
  #dh-preview .dh-quote { margin: 48px 6%; padding: 30px 0; }
  #dh-preview .dh-quote blockquote { font-size: 23px; line-height: 1.6; }
  #dh-preview #dh-home .dh-contact { grid-template-columns: 1fr; gap: 30px; padding-block: 36px; }
  #dh-preview .dh-footer { gap: 20px; }
  #dh-preview .dh-footer-brand { flex-basis: 100%; }
  #dh-preview .dh-demo { padding-inline: 6%; }
}
@media (max-width: 360px) {
  #dh-preview .dh-logo { width: 180px; }
  #dh-preview .dh-hero h1 { font-size: 36px; }
}
