:root {
  color-scheme: dark;
  --bg: #171819;
  --panel: #222426;
  --ink: #f0efeb;
  --muted: #a8aaa9;
  --line: #393c3e;
  --accent: #ff733e;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font:
    16px/1.6 Inter,
    Arial,
    sans-serif;
}
header,
main,
footer {
  max-width: 1400px;
  margin: auto;
  padding: 28px 5vw;
}
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  gap: 20px;
}
.brand {
  display: inline-grid;
  grid-template-columns: max-content;
  font-size: 27px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -1px;
  text-decoration: none;
}
.brand span {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  letter-spacing: 0;
  margin-top: 9px;
  color: var(--accent);
}
.brand span i {
  font-style: normal;
}
nav {
  display: flex;
  gap: 25px;
  align-items: center;
}
a {
  color: inherit;
  text-underline-offset: 5px;
}
nav a {
  font-size: 13px;
  text-decoration: none;
}
a:hover {
  color: var(--accent);
}
button,
.button {
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  padding: 12px 20px;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
}
button:hover {
  border-color: var(--accent);
}
button.primary {
  background: var(--accent);
  color: #171819;
  border-color: var(--accent);
  font-weight: 700;
}
button:disabled {
  opacity: 0.5;
  cursor: wait;
}
button.small {
  padding: 6px 12px;
  font-size: 12px;
}
h1 {
  font-size: clamp(42px, 6.7vw, 94px);
  line-height: 1.03;
  letter-spacing: -0.055em;
  margin: 22px 0;
}
h2 {
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -1px;
}
h3 {
  margin: 10px 0;
  font-size: 24px;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--accent);
}
.hero {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 50px;
  padding: 40px 0 55px;
}
.hero p {
  color: var(--muted);
  max-width: 410px;
}
.hero aside {
  border-left: 1px solid var(--line);
  padding-left: 35px;
  align-self: end;
}
.hero aside b {
  font-size: 45px;
  color: var(--accent);
  display: block;
  line-height: 1.1;
}
.filters {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  background: var(--panel);
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0 30px;
}
.filters .checks {
  grid-column: span 2;
  display: flex;
  gap: 20px;
  align-items: center;
}
.filters button {
  align-self: end;
}
input,
select,
textarea {
  width: 100%;
  border: 1px solid #555b5d;
  background: #181a1b;
  color: var(--ink);
  padding: 10px;
  font: inherit;
  font-size: 14px;
  border-radius: 4px;
}
input[type="checkbox"] {
  width: auto;
  accent-color: var(--accent);
}
label {
  display: block;
  font-size: 12px;
  color: #c1c4c3;
  margin-bottom: 10px;
}
label input,
label select,
label textarea {
  display: block;
  margin-top: 5px;
}
label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 8px;
}
label input[type="checkbox"] {
  display: inline;
  margin: 0;
}
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.card {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 8px;
  overflow: hidden;
}
.card .content {
  padding: 22px;
}
.portrait {
  height: 220px;
  background: linear-gradient(135deg, #33383a, #202325);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 90px;
  letter-spacing: -8px;
  color: #6a7675;
  font-weight: 900;
  overflow: hidden;
}
.portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tag {
  display: inline-block;
  border: 1px solid #555b5d;
  border-radius: 30px;
  padding: 2px 9px;
  font-size: 11px;
  margin: 0 5px 5px 0;
}
.promo {
  color: var(--accent);
  border-color: var(--accent);
}
.muted,
small {
  color: var(--muted);
}
.price {
  font-size: 23px;
  margin: 16px 0;
}
.card button {
  width: 100%;
}
.row {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.spread {
  justify-content: space-between;
}
.section {
  margin: 55px 0;
}
.panel {
  background: var(--panel);
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 20px 0;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
}
.full {
  grid-column: 1/-1;
}
.narrow {
  max-width: 520px;
  margin: 40px auto;
}
textarea {
  min-height: 85px;
  resize: vertical;
}
dialog {
  width: min(720px, 94vw);
  max-height: 90vh;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  padding: 30px;
}
dialog::backdrop {
  background: #000b;
}
#close-dialog {
  float: right;
  padding: 2px 12px;
  font-size: 25px;
}
#message {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 90vw;
  background: #edf0e9;
  color: #161817;
  border-radius: 5px;
  box-shadow: 0 8px 50px #0007;
  padding: 0;
  z-index: 10;
}
#message:not(:empty) {
  padding: 14px 25px;
}
footer {
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 60px;
  font-size: 12px;
}
pre {
  white-space: pre-wrap;
  word-break: break-word;
}
.empty {
  padding: 40px;
  border: 1px dashed var(--line);
  color: var(--muted);
}
:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
details {
  border-top: 1px solid var(--line);
  padding: 14px 0;
}
summary {
  cursor: pointer;
}
.alert {
  color: var(--accent);
}
.booking {
  border-left: 3px solid var(--accent);
}
.pagination {
  display: flex;
  gap: 20px;
  margin: 20px 0;
}
@media (max-width: 800px) {
  header {
    align-items: flex-start;
  }
  nav {
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .hero {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .hero aside {
    padding: 20px 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .grid {
    grid-template-columns: 1fr 1fr;
  }
  .filters {
    grid-template-columns: 1fr 1fr;
  }
  .filters .checks {
    grid-column: 1/-1;
  }
  .hero {
    padding-top: 25px;
  }
  main {
    padding-top: 15px;
  }
}
@media (max-width: 520px) {
  .grid,
  .form-grid {
    grid-template-columns: 1fr;
  }
  .brand {
    font-size: 22px;
  }
  nav {
    gap: 8px;
    max-width: 200px;
  }
  nav a {
    font-size: 11px;
  }
  .portrait {
    height: 240px;
  }
  .filters {
    padding: 14px;
    gap: 8px;
  }
  header,
  main,
  footer {
    padding-left: 18px;
    padding-right: 18px;
  }
  .full {
    grid-column: auto;
  }
  h1 {
    font-size: 50px;
  }
  .hero {
    padding-bottom: 20px;
  }
  dialog {
    padding: 20px;
  }
  .filters .checks {
    display: block;
  }
}

[hidden] {
  display: none !important;
}

.application-shell{max-width:820px;margin:auto}.application-step{border:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.application-step[hidden],.application-honeypot{display:none}.application-step legend{font-weight:700;margin-bottom:20px}.application-step .full,.application-step textarea,.application-step dl{grid-column:1/-1}.application-check{display:flex;align-items:flex-start;gap:10px}.application-check input{width:18px;min-width:18px;margin:3px 0}.application-steps{display:flex;flex-wrap:wrap;gap:24px;padding-left:20px}.application-steps [aria-current=step]{color:var(--accent,#ef7942)}.application-photo-grid{display:flex;gap:12px;flex-wrap:wrap}.application-photo-grid img{max-width:180px;max-height:180px;object-fit:contain}#application-summary dd{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px}@media(max-width:600px){.application-step{grid-template-columns:1fr}.application-steps{gap:12px}.application-check{min-height:44px}}


.application-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px}.application-steps li{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.application-steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:12px}}

/* Original ESKIMO charcoal and warm amber palette. */
:root{--bg:#121416;--panel:#1b1e21;--line:#30353a;--ink:#f3f1ed;--muted:#a5a9ad;--accent:#ff8b3d}
body{background:radial-gradient(ellipse at 8% 0%,#ff8b3d0c,transparent 42%),var(--bg)}
header{background:linear-gradient(110deg,#241d18b3,#121416 65%)}
.hero{border:1px solid #61432e;border-radius:20px;padding:32px;background:radial-gradient(ellipse at top left,#92502c55,transparent 60%),linear-gradient(110deg,#33251d,#1c1e20 70%);margin:26px 0 36px}
.hero aside{border-radius:16px;background:linear-gradient(145deg,#ff8b3d1a,#ffffff03);padding:24px;border:1px solid #ff8b3d33}
.card,.panel{border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #0002}.card:hover{border-color:#ff8b3d66}.portrait{background:linear-gradient(135deg,#493326,#17191c)}.tag{background:#ff8b3d12;color:#ffb16f;border-radius:100px}.price{color:#ffb16f}
button,.button,input,select,textarea{border-radius:11px}button:focus-visible,a:focus-visible{outline:2px solid #ffb16f;outline-offset:3px}
.profile-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 24px}.profile-gallery img{width:100%;max-height:480px;object-fit:contain;background:#121416;border-radius:14px}.profile-bio{white-space:pre-wrap}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-nav h3{text-transform:capitalize}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0;font-size:13px}.legend-busy{color:#ffaba6}.legend-booked{color:#9dd8ad}.month-calendar{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:5px}.month-calendar th{color:var(--muted);font-size:13px}.month-calendar td{padding:0;vertical-align:top}.calendar-day{width:100%;min-height:80px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#22262a;border:1px solid var(--line)}.calendar-day strong{font-size:19px}.calendar-day small{font-size:10px;line-height:1.2;overflow-wrap:anywhere}.calendar-day.is-busy{background:#652c30;border-color:#db7774;color:#ffe1df}.calendar-day.is-booked{background:#214c35;border-color:#75b98b;color:#d8f5df;opacity:1;cursor:default}.calendar-day.is-free:hover{border-color:var(--accent);background:#382a20}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.hero{padding:22px 18px}.hero aside{padding:16px}.month-calendar{border-spacing:3px}.calendar-day{min-height:64px;padding:8px 2px}.calendar-day small{font-size:8px}.calendar-day strong{font-size:16px}.calendar-legend{font-size:11px;gap:8px}.profile-gallery{grid-template-columns:1fr}dialog{width:calc(100% - 16px);max-width:900px;padding:16px}}
.choice-group{border:1px solid var(--line);border-radius:14px;padding:16px;grid-column:1/-1;min-width:0}.choice-group legend{font-weight:700;padding:0 8px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;max-height:280px;overflow:auto}.choice-grid label{display:flex;align-items:center;gap:9px;border-radius:9px;padding:8px;background:#24282c;cursor:pointer}.choice-grid input,.photo-library input{width:18px;height:18px;flex:none;accent-color:var(--accent)}.choice-grid label:has(input:checked){background:#ff8b3d22;color:#ffb16f;outline:1px solid #ff8b3d77}.photo-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.library-photo{display:flex;flex-direction:column;gap:8px;padding:10px;background:#121416;border:1px solid var(--line);border-radius:12px}.library-photo img{width:100%;height:160px;object-fit:cover;border-radius:8px}.library-photo span{display:flex;gap:8px;align-items:center}.library-photo:has(input:checked){border-color:var(--accent)}.rating{padding:10px 0;color:#ffb16f}select[multiple]{min-height:130px}@media(max-width:600px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-library{grid-template-columns:repeat(2,minmax(0,1fr))}.library-photo img{height:130px}}
.artist-categories{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 32px}.artist-categories button{padding:12px 20px;background:linear-gradient(135deg,#3b3028,#1b1e21);border:1px solid #61432e;border-radius:100px}.artist-categories button:hover{background:#ff8b3d22;border-color:var(--accent)}#artist-catalogue{scroll-margin-top:20px}.choice-group a{color:var(--muted)}
.client-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:18px;margin-bottom:20px}.client-filters button{min-height:48px}.selection-basket{padding:20px;margin:24px 0;background:linear-gradient(110deg,#33251d,#1b1e21 70%);border:1px solid #61432e;border-radius:18px}.selection-basket h3{margin:0 0 12px}.selection-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.selection-chips button{border-radius:100px}.pick-artist{display:flex;align-items:center;gap:10px;margin-top:14px;cursor:pointer;color:#ffb16f}.pick-artist input{width:20px;height:20px;accent-color:var(--accent)}@media(max-width:650px){.client-filters{grid-template-columns:1fr;padding:16px}.artist-categories{gap:8px}.artist-categories button{padding:10px 14px}.hero{gap:22px}}
.client-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto}@media(max-width:800px){.client-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.client-filters{grid-template-columns:1fr}}
