.rk-site {
  --rk-overlay-edge: clamp(18px, 3vw, 48px);
  --rk-contact-size: 54px;
  --rk-contact-gap: 8px;
}

.rk-site .rk-contact-launch {
  position: fixed;
  z-index: 39;
  right: var(--rk-overlay-edge);
  bottom: calc(20px + var(--rk-safe-bottom));
  display: inline-flex;
  min-height: var(--rk-contact-size);
  align-items: center;
  gap: 8px;
  padding: 0 17px;
  border: 1px solid #fff1;
  border-radius: 999px;
  box-shadow: 0 8px 25px #2d221c30;
  color: var(--rk-paper);
  background: var(--rk-ink);
  font: 600 15px/1 "Rekon Sans", system-ui, sans-serif;
  text-decoration: none;
}

.rk-contact-launch:hover { background: #44352a; }
.rk-site .rk-contact-launch:focus-visible,
.rk-site :is(.rk-contact-dialog,.rk-work-viewer) :is(a,button,textarea,input):focus-visible {
  outline: 2px solid #ad603f;
  outline-offset: 3px;
}

.rk-site .rk-contact-dialog {
  position: fixed;
  inset: auto var(--rk-overlay-edge) calc(16px + var(--rk-safe-bottom) + var(--rk-contact-keyboard, 0px)) auto;
  width: min(440px, calc(100% - 32px));
  max-height: calc(min(100dvh, var(--rk-contact-height, 100dvh)) - 38px - var(--rk-safe-bottom));
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--rk-line);
  border-radius: 24px;
  background: var(--rk-paper);
  color: var(--rk-ink);
  box-shadow: 0 23px 65px #20181340;
  font: 400 16px/1.45 "Rekon Sans", system-ui, sans-serif;
  scrollbar-width: thin;
}

.rk-contact-dialog::backdrop { background: #211b163c; }
.rk-contact-dialog[open] { animation: rk-open-sheet 180ms ease-out; }
@keyframes rk-open-sheet {
  from { opacity: .35; transform: translateY(7px); }
  to { opacity: 1; transform: none; }
}

.rk-contact-surface { padding: clamp(17px, 4vw, 26px); }
.rk-contact-head { display: grid; grid-template-columns: 46px minmax(0,1fr) 44px; gap: 9px; align-items: center; }
.rk-contact-portrait { display: block; width: 46px; height: 46px; object-fit: cover; object-position: center 34%; border-radius: 50%; background: #263444; }
.rk-site .rk-contact-head h2 { margin: 0; color: inherit; font: 500 clamp(21px, 5.2vw, 29px)/1.02 "Rekon Serif", Georgia, serif; letter-spacing: -.045em; }
.rk-contact-head p { margin: 3px 0 0; color: var(--rk-muted); font-size: 13px; }
.rk-contact-close {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--rk-line);
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.rk-contact-close:hover { background: var(--rk-canvas); }
.rk-contact-surface > #rk-contact-intro { margin: 16px 0 14px; }
.rk-contact-form { display: grid; gap: 5px; }
.rk-contact-form label { margin-top: 4px; font-weight: 600; font-size: 14px; }
.rk-contact-form :is(textarea,input[type="email"]) {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 11px;
  border: 1px solid #9e8c79;
  border-radius: 10px;
  color: var(--rk-ink);
  background: #fffefa;
  font: 400 16px/1.4 "Rekon Sans", system-ui, sans-serif;
}
.rk-contact-form textarea { resize: vertical; min-height: 78px; }
.rk-contact-form textarea::placeholder { color: #6a5e54; }
.rk-contact-form .rk-contact-topic {
  justify-self: start;
  margin: 0 0 5px;
  padding: 4px 8px;
  border-radius: 5px;
  background: var(--rk-canvas);
  color: var(--rk-rust);
  font-size: 13px;
  font-weight: 600;
}
.rk-contact-send { display: flex; gap: 6px 14px; flex-wrap: wrap; align-items: center; margin-top: 9px; }
.rk-site .rk-contact-send .rk-button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 7px 16px;
  border: 0;
  border-radius: 999px;
  color: var(--rk-paper);
  background: var(--rk-ink);
  font: 600 14px/1.3 "Rekon Sans", system-ui, sans-serif;
  cursor: pointer;
}
.rk-site .rk-contact-send .rk-button:hover { background: #44352a; }
.rk-contact-send button:disabled { cursor: wait; opacity: .65; }
.rk-contact-send > a { display: inline-flex; min-height: 44px; align-items: center; color: var(--rk-muted); text-decoration: underline; text-underline-offset: 3px; font-size: 13px; }
.rk-contact-status { margin: 3px 0; font-size: 14px; }
.rk-contact-status:empty { margin: 0; }
.rk-contact-status[data-state="error"] { color: #8a3225; }
.rk-contact-status[data-state="success"] { color: #315c4e; }
.rk-contact-channels { display: flex; flex-wrap: wrap; gap: 6px 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--rk-line); }
.rk-contact-channels > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 10px;
  border: 1px solid var(--rk-line);
  border-radius: 999px;
  color: var(--rk-ink);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.rk-contact-channels > a:hover { background: var(--rk-canvas); }
.rk-contact-surface > .rk-contact-provider { margin: 9px 0 0; color: var(--rk-muted); font-size: 12px; }
.rk-site .rk-contact-dialog [hidden] { display: none !important; }

.rk-site .rk-end.rk-end-compact { justify-content: start; padding-block: clamp(22px, 3.5vw, 50px); border-top: 1px solid var(--rk-line); }
.rk-site .rk-end-compact a { min-height: 44px; display: inline-flex; align-items: center; }
.rk-site .rk-footer-grid :is(a[href^="mailto:"],a[href^="tel:"]) { white-space: nowrap; }

.rk-gallery-directory a { position: relative; }
.rk-gallery-directory a[aria-current="location"]::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  height: 1px;
  background: var(--rk-rust);
}
.rk-gallery-directory a[aria-current="location"] { color: var(--rk-rust); }
.rk-work-open { position: relative; display: block; }
.rk-work-open img { display: block; }
.rk-work-open > span {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #ffffff54;
  border-radius: 50%;
  color: #fff7ea;
  background: #25211cd9;
}
.rk-work-open:is(:hover,:focus-visible) > span { background: #131210; }
.rk-site .rk-work-viewer {
  width: min(1120px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  padding: 0;
  margin: auto;
  overflow: auto;
  border: 1px solid #f9eee04d;
  border-radius: 18px;
  color: #fff4e4;
  background: #211e1a;
  font-family: "Rekon Sans", system-ui, sans-serif;
}
.rk-work-viewer::backdrop { background: #171613d6; }
.rk-work-viewer .rk-work-surface { padding: clamp(10px, 2vw, 23px); }
.rk-work-viewer header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.rk-site .rk-work-viewer h2 { margin: 0; color: inherit; font: 500 clamp(23px, 4vw, 38px)/1.1 "Rekon Serif", Georgia, serif; }
.rk-work-viewer .rk-contact-close { border-color: #d9c7b170; flex: 0 0 auto; }
.rk-work-viewer img { display: block; width: 100%; max-height: calc(100dvh - 126px); object-fit: contain; }
.rk-work-viewer .rk-contact-close:hover { background: #4a4035; }

@media (min-width: 1001px) {
  .rk-site .rk-footer { padding-bottom: calc(34px + var(--rk-contact-size)); }
}

@media (max-width: 1000px) {
  .rk-site .rk-dock {
    left: max(12px, calc(50% - 263px));
    width: calc(min(100% - 24px, 526px) - var(--rk-contact-size) - var(--rk-contact-gap));
    transform: none;
  }
  .rk-site .rk-contact-launch {
    right: max(12px, calc(50% - 263px));
    bottom: calc(12px + var(--rk-safe-bottom));
    justify-content: center;
    width: var(--rk-contact-size);
    padding: 0;
  }
  .rk-contact-launch > span { display: none; }
  .rk-site .rk-contact-dialog {
    inset: auto 10px calc(10px + var(--rk-safe-bottom) + var(--rk-contact-keyboard, 0px));
    width: min(460px, calc(100% - 20px));
    margin-inline: auto;
    max-height: calc(min(100dvh, var(--rk-contact-height, 100dvh)) - 24px - var(--rk-safe-bottom));
  }
}
@media (max-width: 360px) {
  .rk-site { --rk-contact-size: 48px; }
  .rk-site .rk-dock > a, .rk-site .rk-more > summary { font-size: 10px; }
  .rk-site .rk-contact-launch { bottom: calc(15px + var(--rk-safe-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .rk-contact-dialog[open] { animation: none; }
}

body.rk-site .rk-contact-dialog .rk-contact-channels > a {
  display: inline-flex;
  width: auto;
  height: auto;
  min-height: 44px;
  gap: 6px;
  padding: 4px 10px;
  color: var(--rk-ink);
  white-space: nowrap;
}
.rk-contact-channels svg { flex: none; }

@media (max-width: 1000px) {
  body.rk-site #consent-bar:not([hidden]) {
    gap: 8px;
    padding: 10px 12px;
  }
  body.rk-site #consent-bar p { margin: 0; }
  body.rk-site #consent-bar .consent-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1000px) {
  body.rk-site {
    --rk-contact-size: 65px;
    --rk-contact-gap: 5px;
    --rk-dock-edge-left: max(8px, env(safe-area-inset-left, 0px), calc(50% - 263px));
    --rk-dock-edge-right: max(8px, env(safe-area-inset-right, 0px), calc(50% - 263px));
    --rk-dock-bottom: calc(9px + var(--rk-safe-bottom, 0px));
  }

  body.rk-site .rk-dock.rk-dock--text {
    left: var(--rk-dock-edge-left);
    right: calc(var(--rk-dock-edge-right) + var(--rk-contact-size) + var(--rk-contact-gap));
    bottom: var(--rk-dock-bottom);
    width: auto;
    transform: none;
    padding: 3px;
    border-radius: 13px;
    border: 1px solid #d9cdbb;
    background: #fbf5ebf5;
    color: #22201b;
  }

  body.rk-site .rk-dock--text .rk-more {
    position: static;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }

  body.rk-site .rk-dock--text > a,
  body.rk-site .rk-dock--text .rk-more > summary {
    min-height: 44px;
    padding: 4px 1px;
    border-radius: 8px;
    font: 500 clamp(.71rem, 2.75vw, .94rem)/1.05 "Rekon Serif", Georgia, serif;
    letter-spacing: -.015em;
  }

  body.rk-site .rk-dock.rk-dock--text > a[aria-current],
  body.rk-site .rk-dock--text .rk-more:is([open], [data-current]) > summary {
    background: #ebdcc6;
    color: #743c25;
  }

  body.rk-site .rk-dock--text > a[aria-current] > span,
  body.rk-site .rk-dock--text .rk-more[data-current] > summary > span {
    text-decoration: underline;
    text-underline-offset: 4px;
  }

  body.rk-site .rk-dock--text .rk-more > summary > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  body.rk-site .rk-dock--text .rk-more > summary::marker {
    content: "";
  }

  body.rk-site .rk-dock--text .rk-more > summary > span::after {
    width: 4px;
    height: 4px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    content: "";
    transform: translateY(1px) rotate(-45deg);
  }

  body.rk-site .rk-dock--text .rk-more[open] > summary > span::after {
    transform: translateY(-1px) rotate(135deg);
  }

  body.rk-site .rk-dock--text .rk-sheet {
    right: 0;
    bottom: calc(100% + 8px);
    width: min(280px, 100%);
    border-color: #d9cdbb;
    background: #fbf5eb;
  }

  body.rk-site .rk-dock--text .rk-sheet a[aria-current] {
    background: #ebdcc6;
    color: #743c25;
  }

  body.rk-site .rk-contact-launch {
    right: var(--rk-dock-edge-right);
    bottom: var(--rk-dock-bottom);
    width: var(--rk-contact-size);
    min-height: 52px;
    padding: 0;
    border-radius: 12px;
    background: #22201b;
    color: #fbf5eb;
    font: 500 .85rem/1 "Rekon Serif", Georgia, serif;
  }

  body.rk-site .rk-contact-launch > svg { display: none; }
  body.rk-site .rk-contact-launch > span { display: inline; }
}


.rk-workshop-jumps,
.rk-offer-example-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 18px;
  align-items: baseline;
}

.rk-site :is(.rk-workshop-jumps, .rk-offer-example-links) .rk-text-link,
.rk-site .rk-service-return {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.rk-site .rk-service-return { margin-block-end: 14px; }

.rk-site .rk-presentation .rh-skills :is(.rk-experience-title, .rk-practice-title) {
  font-size: clamp(1.98rem, 4vw, 4rem);
}

.rk-site .rk-presentation .rh-skills .rk-experience-intro { gap: 10px clamp(24px, 5vw, 82px); }
.rk-site .rk-presentation .rh-skills .rk-experience-copy p { font-size: clamp(1rem, 1.45vw, 1.2rem); }

.rk-site .rk-practice-art--map > img {
  transform: scale(1.43);
  transform-origin: 80% 48%;
}

.rk-site .rk-page-head h1.rk-editorial-title,
.rk-site .service-intro h1.rk-editorial-title {
  font-family: "Rekon Serif", Georgia, serif;
}

.rk-site :is(.service-intro, .service-end, .ro-offer) a.rk-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 10px 19px;
  color: var(--rk-paper);
  background: var(--rk-ink);
  font-weight: 600;
  text-decoration: none;
}

.rk-site :is(.service-intro, .service-end, .ro-offer) a.rk-button:hover {
  background: #44352a;
}

.rk-site .rk-quote-scope {
  margin-block: 12px 0;
  padding-block: 9px 0;
  border-top: 1px solid var(--rk-line);
}

.rk-site .rk-quote-next { margin-block: 12px 0; }

.rk-site .rk-quote-next a { display: inline-flex; min-height: 44px; align-items: center; }

.rk-pilot-terms {
  display: grid;
  gap: 12px;
  margin-block: 16px;
}

.rk-pilot-terms > div {
  padding-block-start: 8px;
  border-top: 1px solid var(--rk-line);
}

.rk-pilot-terms dt { font-weight: 600; }
.rk-pilot-terms dd { margin: 4px 0 0; }

.rk-pilot-brief {
  margin-block-start: clamp(20px, 4vw, 54px);
  padding-block-start: 14px;
  border-top: 1px solid var(--rk-line);
}

.rk-pilot-brief ul { max-width: 68ch; padding-inline-start: 1.15em; }
.rk-pilot-brief li + li { margin-block-start: 7px; }

@media (max-width: 1000px) {
  body.rk-site #consent-bar:not([hidden]) {
    bottom: calc(74px + var(--rk-safe-bottom));
    gap: 6px;
    padding-block: 8px;
  }
}

@media (max-width: 760px) {
  .rk-site .rk-presentation .rh-skills .rk-experience {
    padding-block-start: 22px;
  }

  .rk-site .rk-presentation .rh-skills .rk-experience-timeline {
    margin-block: 18px 12px;
  }

  .rk-site .rk-presentation .rh-skills .rk-experience-timeline > li:not(:last-child) {
    padding-block-end: 12px;
  }

  .rk-site .rk-presentation .rh-skills .rk-practice-methods {
    margin-block-start: 29px;
    padding-block-start: 22px;
  }

  .rk-site .rk-presentation .rh-skills .rk-practice-cases { row-gap: 18px; }
  .rk-site .rk-presentation .rh-skills .rk-practice-art { margin-block-end: 10px; }
}
