@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg:#0e0e0e;
  --text:#f6f5f2;
  --muted:#bcb7ae;
  --border:rgba(246,245,242,0.12);
  --panel:#15231c;
  --panel-strong:#1f3d2b;
  --panel-soft:rgba(31,61,43,0.24);
  --accent:#b66a4a;
  --accent-soft:rgba(182,106,74,0.14);
  --focus:#b66a4a;
  --shadow:0 24px 72px rgba(0,0,0,0.28);
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  background:
    radial-gradient(circle at 8% 0%, rgba(31,61,43,0.54), transparent 36%),
    radial-gradient(circle at 92% 2%, rgba(182,106,74,0.32), transparent 34%),
    radial-gradient(circle at 82% 72%, rgba(182,106,74,0.18), transparent 42%),
    radial-gradient(circle at 16% 84%, rgba(31,61,43,0.3), transparent 38%),
    radial-gradient(circle at 40% 100%, rgba(31,61,43,0.14), transparent 28%),
    linear-gradient(145deg, rgba(182,106,74,0.08), rgba(14,14,14,0) 52%),
    var(--bg);
  color:var(--text);
  font-family:"Inter", sans-serif;
  line-height:1.6;
}

body.home-page,
body.artists-page,
body.artist-page-shell,
body.booking-page{
  --public-surface:rgba(14,14,14,0.92);
  --public-surface-soft:rgba(14,14,14,0.84);
  --public-surface-hover:rgba(18,18,18,0.98);
  position:relative;
  min-height:100vh;
  isolation:isolate;
  background:
    radial-gradient(circle at 0% 2%, rgba(31,61,43,0.72), transparent 36%),
    radial-gradient(circle at 30% 18%, rgba(31,61,43,0.24), transparent 28%),
    radial-gradient(circle at 100% 4%, rgba(182,106,74,0.4), transparent 30%),
    radial-gradient(circle at 78% 30%, rgba(182,106,74,0.18), transparent 34%),
    radial-gradient(circle at 16% 76%, rgba(31,61,43,0.5), transparent 36%),
    radial-gradient(circle at 42% 102%, rgba(31,61,43,0.28), transparent 34%),
    radial-gradient(circle at 88% 84%, rgba(182,106,74,0.22), transparent 34%),
    linear-gradient(155deg, rgba(182,106,74,0.1), rgba(14,14,14,0) 46%),
    linear-gradient(180deg, rgba(31,61,43,0.22), rgba(14,14,14,0.02) 38%, rgba(31,61,43,0.18) 100%),
    var(--bg);
  background-attachment:fixed;
}

body.home-page::before,
body.artists-page::before,
body.artist-page-shell::before,
body.booking-page::before,
body.home-page::after,
body.artists-page::after,
body.artist-page-shell::after,
body.booking-page::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:0;
}

body.home-page::before,
body.artists-page::before,
body.artist-page-shell::before,
body.booking-page::before{
  inset:auto auto -18vh -12vw;
  width:min(58vw, 760px);
  height:min(58vw, 760px);
  border-radius:50%;
  background:radial-gradient(circle, rgba(31,61,43,0.38), transparent 68%);
  filter:blur(10px);
}

body.home-page::after,
body.artists-page::after,
body.artist-page-shell::after,
body.booking-page::after{
  inset:8vh -10vw auto auto;
  width:min(48vw, 620px);
  height:min(48vw, 620px);
  border-radius:50%;
  background:radial-gradient(circle, rgba(182,106,74,0.3), transparent 70%);
  filter:blur(12px);
}


a{
  color:inherit;
  text-decoration:none;
}

a:hover{
  opacity:.8;
}

.container{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px 28px;
  position:relative;
  z-index:1;
}

header.site-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding-top:10px;
  padding-bottom:0;
  text-align:center;
}

.brand{
  display:flex;
  align-items:center;
  gap:16px;
}

.brand.center{
  flex-direction:column;
  gap:0;
  --logo-width: min(90vw, 520px);
}

.brand.center img{
  width:var(--logo-width);
  height:auto;
  max-width:100%;
  display:block;
}

.brand img{
  width:84px;
  height:84px;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  border:none;
}

.brand h1,
.brand .site-title{
  margin:0;
  font-size:24px;
  font-weight:600;
  letter-spacing:.2px;
}

.agency-title{
  font-family:"Cinzel", serif;
  font-size:clamp(12px, calc(var(--logo-width) / 38), 20px);
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--text);
  margin-top:0;
  line-height:1;
}

.section-divider{
  width:100%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(246,245,242,0.2), transparent);
  margin:30px 0 30px;
}

.content-divider{
  width:100%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(246,245,242,0.18), transparent);
  margin:28px 0 14px;
}

.lang{
  display:flex;
  align-items:center;
  gap:12px;
}

.lang label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}

.lang select{
  background:rgba(21,35,28,0.8);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:999px;
  padding:9px 14px;
  font-family:"Inter", sans-serif;
}

.section-title{
  margin:0 0 16px;
  font-family:"Cinzel", serif;
  font-size:28px;
  font-weight:600;
}

.home-main{
  display:flex;
  flex-direction:column;
}

.home-kicker{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:14px;
  padding:7px 12px;
  border:1px solid rgba(246,245,242,0.14);
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  background:rgba(21,35,28,0.7);
}

.home-intro-panel,
.directory-intro,
.home-gallery-section,
.home-collaborators-section{
  position:relative;
}

.home-intro-panel{
  padding:18px 0 8px;
  max-width:860px;
}

.directory-intro,
.home-gallery-section,
.home-collaborators-section{
}

.home-title{
  margin:0 0 18px;
  max-width:12ch;
  font-family:"Cinzel", serif;
  font-size:clamp(36px, 7vw, 72px);
  line-height:1.05;
  font-weight:600;
  letter-spacing:.01em;
}

.home-copy{
  margin:0 0 14px;
  max-width:780px;
  font-size:clamp(16px, 2.2vw, 20px);
  color:var(--text);
}

.home-copy.muted{
  color:var(--muted);
}

.home-section-heading{
  margin-bottom:20px;
}

.home-gallery-section{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.home-rotator{
  position:relative;
}

.home-rotator-shell{
  position:relative;
}

.home-rotator-viewport{
  overflow:hidden;
  touch-action:pan-y;
  cursor:grab;
}

.home-rotator-track{
  display:flex;
  gap:18px;
  will-change:transform;
}

.home-rotator-slide{
  position:relative;
  flex:0 0 100%;
  min-width:0;
  display:block;
  padding:0;
  border-radius:28px;
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(31,61,43,0.14), rgba(14,14,14,0.08)),
    rgba(21,35,28,0.82);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.home-rotator-slide:hover{
  opacity:1;
}

.home-rotator-image-wrap{
  position:relative;
  min-height:340px;
  aspect-ratio:1.15 / 1;
  overflow:hidden;
  background:#101512;
}

.home-rotator-image-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(14,14,14,0.02) 24%, rgba(14,14,14,0.66) 100%);
}

.home-rotator-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.home-rotator-copy{
  position:absolute;
  right:18px;
  bottom:16px;
  left:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  z-index:1;
}

.home-rotator-copy h3{
  margin:0;
  font-family:"Cinzel", serif;
  font-size:clamp(22px, 3vw, 32px);
  line-height:1.1;
  text-shadow:0 8px 24px rgba(0,0,0,0.44);
}

.home-list-button-wrap{
  display:flex;
  justify-content:center;
}

.home-list-button-wrap .book-logo-btn{
  min-width:0;
}

.directory-intro{
  margin-bottom:28px;
}

.home-collaborators-section{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.collaborator-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.collaborator-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  padding:18px 12px 4px;
  text-align:center;
}

.collaborator-card h3{
  margin:0;
  font-size:15px;
  font-weight:500;
  color:var(--text);
}

.collaborator-mark{
  width:min(100%, 154px);
  aspect-ratio:1;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-family:"Cinzel", serif;
  font-size:clamp(28px, 4vw, 38px);
  letter-spacing:.08em;
  border:1px solid rgba(246,245,242,0.14);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}

.collaborator-mark span{
  position:relative;
  z-index:1;
}

.collaborator-mark::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:999px;
  border:1px solid rgba(246,245,242,0.1);
}

.collaborator-mark-corfu{
  background:
    radial-gradient(circle at 30% 28%, rgba(246,245,242,0.18), transparent 24%),
    linear-gradient(145deg, rgba(31,61,43,0.95), rgba(14,14,14,0.95));
}

.collaborator-mark-innobytez{
  background:
    linear-gradient(145deg, rgba(182,106,74,0.28), transparent 58%),
    linear-gradient(145deg, rgba(14,14,14,0.95), rgba(31,61,43,0.92));
}

.collaborator-mark-brain{
  background:
    radial-gradient(circle at 70% 26%, rgba(182,106,74,0.22), transparent 22%),
    linear-gradient(145deg, rgba(21,35,28,0.96), rgba(14,14,14,0.94));
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 18px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(21,35,28,0.74);
  color:var(--text);
  cursor:pointer;
  font-family:"Inter", sans-serif;
  font-size:14px;
  font-weight:500;
  letter-spacing:.01em;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.btn:hover{
  border-color:var(--accent);
  background:rgba(31,61,43,0.94);
  transform:translateY(-1px);
}

.btn.primary{
  background:var(--text);
  color:var(--bg);
  border-color:var(--text);
}

.btn.secondary{
  background:rgba(31,61,43,0.9);
}

.btn.outline{
  background:rgba(14,14,14,0.72);
  border:1px solid rgba(246,245,242,0.2);
  color:var(--text);
  box-shadow:none;
}

.artist-list{
  display:flex;
  flex-direction:column;
  gap:24px;
}

body.artists-page .artist-list{
  gap:0;
}

.artist-card{
  display:flex;
  gap:20px;
  padding:24px;
  position:relative;
  border-radius:28px;
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(31,61,43,0.52), rgba(21,35,28,0.72)),
    rgba(21,35,28,0.74);
  box-shadow:var(--shadow);
}

body.artists-page .artist-card{
  padding:28px 0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.artists-page .artist-card::before,
body.artists-page .artist-card::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(246,245,242,0.18), transparent);
}

body.artists-page .artist-card::before{
  top:0;
  opacity:0;
}

body.artists-page .artist-card:first-child::before{
  opacity:1;
}

body.artists-page .artist-card::after{
  bottom:0;
}

.artist-card::after{
  display:none;
}

.artist-card img{
  width:clamp(140px, 18vw, 170px);
  height:clamp(100px, 12vw, 130px);
  object-fit:cover;
  background:#111713;
  border:1px solid rgba(246,245,242,0.08);
  border-radius:20px;
}

.artist-card.portrait img{
  width:clamp(110px, 15vw, 135px);
  height:clamp(140px, 18vw, 150px);
}

.artist-link{
  display:inline-flex;
  align-self:flex-start;
}

.artist-name-link{
  display:inline-flex;
  align-items:center;
}

.artist-title-block{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  column-gap:12px;
  row-gap:8px;
}

.artist-name-link h3{
  margin:0;
}

.artist-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-self:end;
  align-self:start;
}

.artist-location-tag{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(246,245,242,0.12);
  background:var(--panel-strong);
  color:var(--text);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.artist-location-tag--actions{
  display:none;
}

.artist-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.artist-info{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.artist-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

@media (min-width:901px){
  .artist-location-tag--title{
    display:none;
  }

  .artist-location-tag--actions{
    display:inline-flex;
  }
}

.artist-header h3{
  margin:0;
  font-family:"Cinzel", serif;
  font-size:24px;
  font-weight:600;
  letter-spacing:.02em;
}

.artist-info p{
  margin:0;
  color:var(--muted);
}

.audio-block{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.audio-block .label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}

.audio-block audio{
  width:100%;
  display:block;
  background:#0f1411;
  border:1px solid rgba(246,245,242,0.08);
  border-radius:16px;
  color-scheme: dark;
}

.booking-notify-options{
  margin-top:8px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.booking-notify-hint{
  margin-top:10px;
  color:#d98f73;
}

.booking-error-target{
  outline:1px solid rgba(182, 106, 74, 0.88);
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(182, 106, 74, 0.14);
}

.booking-notify-options .backend-check{
  min-height:0;
  position:relative;
  padding:0;
  border:none;
  background:none;
  overflow:hidden;
}

.booking-notify-options .backend-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.booking-notify-options .backend-check label{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  min-height:58px;
  padding:14px 18px;
  border-radius:18px;
  border:1px solid rgba(246,245,242,0.12);
  background:
    linear-gradient(135deg, rgba(31,61,43,0.36), rgba(14,14,14,0.56)),
    rgba(14,14,14,0.36);
  color:var(--text);
  font-family:"Inter", sans-serif;
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
  font-weight:400;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(246,245,242,0.04);
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.booking-notify-options .backend-check label::before{
  content:"";
  width:20px;
  height:20px;
  flex:0 0 20px;
  border-radius:6px;
  border:2px solid rgba(246,245,242,0.34);
  background:rgba(246,245,242,0.02);
  box-shadow:inset 0 1px 0 rgba(246,245,242,0.04);
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px 12px;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.booking-notify-options .backend-check label::after{
  display:none;
}

.booking-notify-options .backend-check label:hover{
  transform:translateY(-1px);
  border-color:rgba(182,106,74,0.34);
  box-shadow:0 14px 28px rgba(0,0,0,0.18);
}

.booking-notify-options .backend-check input:checked + label{
  border-color:rgba(182,106,74,0.54);
  background:
    linear-gradient(135deg, rgba(31,61,43,0.78), rgba(182,106,74,0.18)),
    rgba(14,14,14,0.44);
  color:#f6f5f2;
  box-shadow:0 16px 32px rgba(0,0,0,0.24), inset 0 0 0 1px rgba(182,106,74,0.14);
}

.booking-notify-options .backend-check input:checked + label::before{
  border-color:rgba(182,106,74,0.76);
  background-color:rgba(182,106,74,0.88);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23f6f5f2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6.5 4.7 9 10 3'/%3E%3C/svg%3E");
  box-shadow:inset 0 0 0 1px rgba(246,245,242,0.1);
}

.booking-notify-options .backend-check input:focus-visible + label{
  border-color:rgba(182,106,74,0.64);
  box-shadow:0 0 0 1px rgba(182,106,74,0.34), 0 0 0 4px rgba(182,106,74,0.12);
}

@media (max-width: 560px){
  .booking-notify-options{
    grid-template-columns:1fr;
  }
}

audio{
  width:100%;
  display:block;
  background:#0f1411;
  border:1px solid rgba(246,245,242,0.08);
  border-radius:16px;
  color-scheme: dark;
}

audio::-webkit-media-controls-panel{
  background-color:#0f1411;
}

audio::-webkit-media-controls-current-time-display,
audio::-webkit-media-controls-time-remaining-display{
  color:#d0d0d0;
}

.page-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:30px;
  padding:12px 0 0;
}

.page-header::after{
  content:"";
  width:100%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(246,245,242,0.2), transparent);
}
.page-header-title{
  text-align:center;
  font-family:"Cinzel", serif;
  font-size:clamp(20px, 4vw, 28px);
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.artist-header .page-header-title{
  font-size:23px;
  padding:0 15px;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.booking-header{
  justify-content:center;
  padding-top:23px;
}

body.booking-page .page-header::after{
  display:none;
}

.booking-page .form{
  align-items:center;
}

.booking-page .form > div,
.booking-page .form fieldset{
  width:100%;
}

body.booking-page .form fieldset,
body.booking-page .info-fieldset{
  border:none;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:18px 0;
}

.booking-page .form label,
.booking-page .form legend{
  text-align:center;
}

.booking-page .booking-location-field label,
.booking-page .booking-budget-field label{
  white-space:nowrap;
}

.booking-page .form input,
.booking-page .form select{
  text-align:center;
  border-color:var(--border);
}

.booking-page .form textarea{
  border-color:var(--border);
  text-align:left;
}

.booking-page .form textarea::placeholder{
  text-align:left;
  color:var(--muted);
}

.booking-page .form textarea:placeholder-shown{
  text-align:left;
}

.booking-page .form textarea:focus{
  text-align:left;
}

.booking-page .form textarea:focus::placeholder{
  color:transparent;
}

.booking-page .radio-row{
  justify-content:center;
}

.booking-page .info-fieldset{
  padding:18px;
}

.booking-page .info-fieldset textarea{
  border:1px solid var(--border);
  background:rgba(21,35,28,0.84);
  border-radius:16px;
  padding:13px 15px;
}

.booking-page .inline-inputs{
  justify-items:center;
}

.booking-page .form-actions{
  justify-content:center;
}

.page-title{
  margin:26px 0 10px;
  font-family:"Cinzel", serif;
  font-size:clamp(30px, 4vw, 40px);
  font-weight:600;
}

.page-subtitle{
  margin:0 0 22px;
  color:var(--muted);
}

.section{
  margin:24px 0;
}

.section h2{
  margin:0 0 12px;
  font-family:"Cinzel", serif;
  font-size:24px;
  font-weight:600;
}

.artist-hero{
  margin:0 0 28px;
  border-radius:28px;
  overflow:hidden;
  background:#111713;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}

.artist-hero img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.tiktok-section{
  display:flex;
  justify-content:center;
}

.tiktok-embed-wrap{
  width:100%;
  display:flex;
  justify-content:center;
  background:rgba(21,35,28,0.92);
  border:1px solid var(--border);
  border-radius:24px;
  padding:18px;
  box-shadow:0 0 0 1px rgba(246,245,242,0.04) inset;
  color-scheme:dark;
}

.tiktok-embed-wrap blockquote,
.tiktok-embed-wrap iframe{
  margin:0 !important;
  border-radius:12px;
  background:#0e0e0e;
}

.tiktok-embed-wrap iframe{
  border:1px solid rgba(246,245,242,0.08);
}

.video-embed{
  width:100%;
  max-width:540px;
  aspect-ratio:9 / 16;
  margin:0 auto;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#111713;
}

.video-embed iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.video-embed video{
  width:100%;
  height:100%;
  display:block;
  background:#000;
}

.media-placeholder{
  border:1px solid var(--border);
  border-radius:20px;
  padding:24px;
  background:rgba(21,35,28,0.84);
  color:var(--muted);
  text-align:center;
}

.photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
}

.photo-grid img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid var(--border);
  background:#111713;
}

.photo-placeholder{
  border:1px solid var(--border);
  border-radius:20px;
  padding:24px;
  background:rgba(21,35,28,0.84);
  color:var(--muted);
  text-align:center;
}

.form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.form label{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:6px;
}

.form input,
.form textarea,
.form select{
  width:100%;
  padding:13px 15px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(21,35,28,0.84);
  color:var(--text);
  font-family:"Inter", sans-serif;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.select-white{
  background:rgba(21,35,28,0.84);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:999px;
  padding:10px 16px;
  font-family:"Inter", sans-serif;
  font-size:14px;
  width:100%;
}

.form input:focus,
.form textarea:focus,
.form select:focus,
.select-white:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 1px rgba(182,106,74,0.24);
}

.form input[type="date"]{
  color-scheme: dark;
}

.form input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(1);
}

.form textarea{
  min-height:120px;
  resize:vertical;
}

.form fieldset{
  border:1px solid var(--border);
  border-radius:24px;
  padding:20px;
  background:rgba(21,35,28,0.62);
  box-shadow:var(--shadow);
}

.form legend{
  padding:0 8px;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.radio-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}

.date-fields{
  margin-top:12px;
  display:none;
  gap:12px;
  flex-direction:column;
}

.date-fields.active{
  display:flex;
}

.inline-inputs{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:12px;
}

.form-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.form-note{
  color:var(--muted);
  font-size:14px;
}

.status{
  color:var(--muted);
  font-size:14px;
}

.status.success{
  color:#b6d1bf;
}

.status.error{
  color:#d98f73;
}

.hidden{
  display:none !important;
}

.site-footer{
  position:relative;
  margin-top:22px;
  padding-top:18px;
}

.site-footer::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-top:30px;
  background:linear-gradient(90deg, transparent, rgba(246,245,242,0.2), transparent);
}

.footer-socials{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px 38px;
  margin:0 0 22px;
}

.footer-social-group{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.footer-socials-title{
  color:var(--muted);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.footer-socials-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}

.footer-social-btn{
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(246,245,242,0.16);
  background:rgba(21,35,28,0.82);
  color:var(--text);
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.footer-social-btn svg{
  width:20px;
  height:20px;
  display:block;
}

.footer-social-btn:hover{
  opacity:1;
  transform:translateY(-1px);
  border-color:var(--accent);
  background:rgba(31,61,43,0.96);
}

.home-rotator-viewport:active{
  cursor:grabbing;
}

.footer-access{
  display:flex;
  justify-content:center;
  margin-top:18px;
}

.footer-access-btn{
  min-width:200px;
}

.footer-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:23px;
  margin-bottom:23px;
}

.footer-cta-buttons{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:23px;
}

.book-logo-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 18px;
  font-size:18px;
  font-weight:500;
  justify-content:center;
  height:56px;
  overflow:hidden;
}

.book-logo-btn img{
  width:78px;
  height:78px;
  object-fit:contain;
}

.footer-cta .content-divider{
  margin:0;
}


.footer-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px 24px;
  justify-items:center;
  align-items:center;
  text-align:center;
}

.footer-grid--two{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.footer-item{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:8px;
  font-size:14px;
  justify-content:center;
  color:var(--muted);
  white-space:nowrap;
}

.footer-copyright{order:1;}
.footer-email{order:2;}
.footer-whatsapp{order:3;}
.footer-language{order:4;}

.footer-label{
  color:var(--muted);
  font-weight:500;
}

.footer-value{
  color:var(--text);
  text-decoration:none;
  font-weight:500;
}

.footer-item a:hover{
  opacity:.8;
}

.footer-item label{
  color:var(--muted);
  font-weight:500;
}

.footer-item select{
  background:rgba(21,35,28,0.84);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:999px;
  padding:6px 12px;
  font-family:"Inter", sans-serif;
  font-size:14px;
  width:auto;
  min-width:0;
  text-align:center;
  text-align-last:center;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:none;
}

.footer-item select:focus-visible{
  outline:none;
}

body.home-page .btn,
body.artists-page .btn,
body.artist-page-shell .btn,
body.booking-page .btn{
  background:var(--public-surface);
  color:var(--text);
  border-color:rgba(246,245,242,0.16);
  box-shadow:none;
}

body.home-page .btn:hover,
body.artists-page .btn:hover,
body.artist-page-shell .btn:hover,
body.booking-page .btn:hover{
  background:var(--public-surface-hover);
  color:var(--text);
}

body.home-page .btn.primary,
body.home-page .btn.secondary,
body.home-page .btn.outline,
body.artists-page .btn.primary,
body.artists-page .btn.secondary,
body.artists-page .btn.outline,
body.artist-page-shell .btn.primary,
body.artist-page-shell .btn.secondary,
body.artist-page-shell .btn.outline,
body.booking-page .btn.primary,
body.booking-page .btn.secondary,
body.booking-page .btn.outline{
  background:var(--public-surface);
  color:var(--text);
  border-color:rgba(246,245,242,0.16);
  box-shadow:none;
}

body.home-page .home-rotator-slide,
body.artist-page-shell .tiktok-embed-wrap,
body.artist-page-shell .media-placeholder,
body.artist-page-shell .photo-placeholder,
body.booking-page .form fieldset,
body.booking-page .info-fieldset,
body.booking-page .form input,
body.booking-page .form textarea,
body.booking-page .form select,
body.booking-page .info-fieldset textarea,
body.home-page .footer-social-btn,
body.artists-page .footer-social-btn,
body.artist-page-shell .footer-social-btn,
body.booking-page .footer-social-btn,
body.home-page .footer-item select,
body.artists-page .footer-item select,
body.artist-page-shell .footer-item select,
body.booking-page .footer-item select{
  background:var(--public-surface-soft);
}

body.booking-page .form fieldset,
body.booking-page .info-fieldset{
  border:1px solid var(--border);
  border-radius:24px;
  padding:20px;
  box-shadow:var(--shadow);
}

body.booking-page .form input,
body.booking-page .form textarea,
body.booking-page .form select,
body.booking-page .info-fieldset textarea,
body.home-page .footer-item select,
body.artists-page .footer-item select,
body.artist-page-shell .footer-item select,
body.booking-page .footer-item select{
  border-color:rgba(246,245,242,0.12);
}

body.booking-page .booking-notify-options .backend-check label{
  background:var(--public-surface);
  border-color:rgba(246,245,242,0.14);
  box-shadow:inset 0 1px 0 rgba(246,245,242,0.04);
}

body.booking-page .booking-notify-options .backend-check label:hover{
  background:var(--public-surface-hover);
  border-color:rgba(182,106,74,0.34);
}

body.booking-page .booking-notify-options .backend-check input:checked + label{
  background:var(--public-surface-hover);
  border-color:rgba(182,106,74,0.56);
  box-shadow:0 16px 32px rgba(0,0,0,0.24), inset 0 0 0 1px rgba(182,106,74,0.16);
}

body.home-page .footer-social-btn:hover,
body.artists-page .footer-social-btn:hover,
body.artist-page-shell .footer-social-btn:hover,
body.booking-page .footer-social-btn:hover{
  background:var(--public-surface-hover);
}

html[dir="rtl"] .artist-card{
  flex-direction:row-reverse;
}

html[dir="rtl"] .artist-header{
  flex-direction:row-reverse;
}

html[dir="rtl"] .lang{
  flex-direction:row-reverse;
}

:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:3px;
}

@media (max-width:720px){
  .brand img{width:64px;height:64px;}
  .brand.center{
    --logo-width: min(92vw, 360px);
  }
  .brand.center img{width:var(--logo-width);height:auto;}
  .home-title{
    max-width:none;
  }
  .home-rotator-image-wrap{
    min-height:300px;
  }
  .collaborator-grid{
    grid-template-columns:1fr;
  }
  .artist-card{flex-direction:column;}
  .artist-card img{height:200px;width:auto;max-width:100%;}
  .artist-title-block{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .artist-meta-row{
    justify-self:start;
    align-self:start;
  }
  .artist-location-tag--title{
    display:inline-flex;
  }
  .artist-location-tag--actions{
    display:none;
  }
  .artist-card:not(.portrait) .artist-link{
    align-self:center;
    display:flex;
    justify-content:center;
  }
  .artist-card.portrait{
    flex-direction:row;
    align-items:flex-start;
  }
  .artist-card.portrait img{
    width:clamp(110px, 32vw, 140px);
    height:clamp(150px, 45vw, 180px);
  }
  .artist-card.portrait .artist-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .artist-card.portrait .artist-actions{
    justify-content:flex-start;
  }
  .page-header-title{text-align:center;}
}

@media (max-width:600px){
  .booking-page .inline-inputs{
    grid-template-columns:1fr;
  }

  .booking-page input[type="date"]{
    width:100%;
  }
}

@media (max-width:900px){
  .footer-grid:not(.footer-grid--two){
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .footer-email{order:1;}
  .footer-whatsapp{order:2;}
  .footer-copyright{order:3;}
  .footer-language{order:4;}
}

@media (max-width:520px){
  .footer-grid:not(.footer-grid--two){
    grid-template-columns:1fr;
  }

  .footer-email{order:1;}
  .footer-whatsapp{order:2;}
  .footer-language{order:3;}
  .footer-copyright{order:4;}

  .footer-grid:not(.footer-grid--two) .footer-item{
    display:grid;
    grid-template-columns:var(--footer-label-col, 95px) var(--footer-value-col, 155px);
    justify-content:center;
    text-align:center;
    white-space:normal;
    column-gap:10px;
    align-items:center;
  }

  .footer-grid:not(.footer-grid--two) .footer-item .footer-label,
  .footer-grid:not(.footer-grid--two) .footer-item .footer-value,
  .footer-grid:not(.footer-grid--two) .footer-item select{
    justify-self:center;
  }
}

@media (max-width:420px){
  .page-header-title{
    margin-top:8px;
    text-align:center;
  }
  .home-rotator-slide{
    border-radius:24px;
  }
  .home-rotator-image-wrap{
    min-height:240px;
  }
  .collaborator-mark{
    width:124px;
  }
}
  html[dir="rtl"] .artist-card.portrait{
    flex-direction:row-reverse;
  }

@media (min-width:960px){
  .home-intro-panel{
    max-width:none;
  }

  .home-title{
    max-width:none;
    font-size:clamp(34px, 4vw, 54px);
  }

  .home-copy{
    max-width:none;
    font-size:clamp(16px, 1.55vw, 18px);
  }

  .home-rotator-slide{
    flex-basis:calc((100% - 18px) / 2);
  }

  .home-rotator-image-wrap{
    min-height:260px;
    aspect-ratio:1.08 / 1;
  }

  .home-rotator-copy{
    right:14px;
    bottom:12px;
    left:14px;
  }

  .home-rotator-copy h3{
    font-size:clamp(18px, 2vw, 24px);
  }
}
