*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif}body{background:#141214;color:#f8f4ee}a{color:inherit;text-decoration:none}header{position:relative;z-index:3;background:#141214;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:14px max(30px,5vw);min-height:96px}.brand{display:flex;align-items:center;gap:14px;font-family:Georgia,serif;letter-spacing:.08em;font-size:16px}.brand img{width:65px;height:65px;object-fit:contain}nav{display:flex;align-items:center;gap:30px;flex-wrap:wrap}nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}nav a:hover,nav a.active{color:#c6a86b}.book-nav{border:1px solid #c6a86b;padding:12px 19px}.home{height:calc(100svh - 96px);min-height:450px;position:relative;background:#1d171a url('hero-photo.jpg') center 40%/cover no-repeat;display:flex;justify-content:center;align-items:end;text-align:center;padding:50px 20px 11vh;isolation:isolate}.home:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.15) 35%,rgba(0,0,0,.63));z-index:-1}.home-content{display:grid;justify-items:center;gap:22px}.home h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(44px,7vw,86px);letter-spacing:.04em;margin:0;text-shadow:0 2px 24px #0008}.home .tag{font-size:12px;letter-spacing:.25em;text-transform:uppercase;margin:0}.btn{display:inline-block;border:1px solid #f8f4ee;padding:15px 38px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;background:transparent;color:#fff;cursor:pointer}.btn:hover{background:#f8f4ee;color:#1d171a}.content{max-width:950px;margin:0 auto;padding:85px 30px 100px}.kicker{text-transform:uppercase;letter-spacing:.23em;color:#c6a86b;font-size:12px}h1.page-title{font-family:Georgia,serif;font-size:clamp(45px,6vw,74px);font-weight:normal;margin:18px 0 38px}h2{font:normal 28px Georgia,serif}p{line-height:1.9;color:#d7d0cb;max-width:680px}.rule{border-top:1px solid #4b4143;padding:24px 0;display:grid;grid-template-columns:1fr 2fr;gap:20px}.rule h2{margin:0}.rule p{margin:0}.social{display:inline-block;border-bottom:1px solid #c6a86b;padding:10px 0}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin-top:34px}.field{display:grid;gap:9px}.field.full{grid-column:1/-1}label{font-size:12px;letter-spacing:.08em}input,select,textarea{background:#231f20;color:#fff;border:1px solid #655b5c;padding:13px;font:inherit;width:100%}textarea{min-height:120px}option{color:#111}footer{border-top:1px solid #3b3234;padding:24px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#aaa;flex-wrap:wrap}footer a{color:#c6a86b}.notice{font-size:12px;color:#aaa}.photo-hint{display:none}body.no-photo .photo-hint{display:block;position:absolute;bottom:16px;left:20px;right:20px;font-size:11px;color:#d0c7c3}body.no-photo .home{background:radial-gradient(ellipse at 50% 30%,#49333b 0%,#23191e 55%,#0e0d0e 100%)}@media(max-width:700px){header{padding:12px 18px;display:block;text-align:center;min-height:unset}.brand{justify-content:center;margin-bottom:15px}.brand img{height:50px;width:50px}nav{justify-content:center;gap:14px}nav a{font-size:10px}.book-nav{padding:8px 10px}.home{height:calc(100svh - 143px);min-height:400px}.content{padding:60px 22px}.rule{grid-template-columns:1fr;gap:8px}.booking-form{grid-template-columns:1fr}.field.full{grid-column:auto}}
/* Full-screen photographic landing page with no homepage scrolling */
body:has(.home){height:100svh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body:has(.home) header{flex-shrink:0}
body:has(.home) .home{height:auto;min-height:0;flex:1;background-position:center 45%}
body:has(.home) footer{display:none}
@media(max-width:700px){body:has(.home) .home{height:auto;min-height:0;background-position:53% center}.home h1{font-size:clamp(36px,10vw,62px)}}

/* Portfolio refinements */
.brand{gap:0}.brand img{width:auto;max-width:170px;height:70px;object-fit:contain}.brand{flex-shrink:0}
.performance-content{max-width:1120px}.video-section{margin-top:64px}.video-section h2{font-size:clamp(28px,3.5vw,42px);font-weight:normal;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid #54464a}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}.video-tile{display:block;min-width:0}.video-image{height:auto;aspect-ratio:9/11;display:flex;align-items:center;justify-content:center;background:linear-gradient(0deg,rgba(12,9,10,.64),rgba(12,9,10,.23)),url('hero-photo.jpg') center/cover;transition:filter .2s}.video-tile:nth-child(2n) .video-image{background-position:58% center}.video-tile:nth-child(3n) .video-image{background-position:42% center}.video-tile:hover .video-image{filter:brightness(1.2)}.play-icon{width:64px;height:64px;border:1px solid #e7d5c3;border-radius:50%;display:grid;place-items:center;color:#fff;padding-left:4px;font-size:18px}.video-title{display:block;margin-top:12px;font:normal 19px Georgia,serif}.video-hint{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#c6a86b;margin-top:4px}.gallery-end{padding:45px 0;border-top:1px solid #54464a;margin-top:65px}.gallery-end .btn{margin-top:12px}.gallery-tiktok{display:inline-block;margin-left:25px;color:#c6a86b;font-size:13px}.gallery-book{border-top:1px solid #54464a;padding:35px 0 10px}.gallery-book p{margin-bottom:22px}@media(max-width:700px){.brand img{height:55px;max-width:155px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.video-title{font-size:16px}.play-icon{width:52px;height:52px}.gallery-tiktok{margin:20px 0 0;display:block}}

/* Embedded TikTok performance gallery */
.embed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 46px}
.embed-card{min-width:0;background:#211c1e;border:1px solid rgba(205,172,113,.22)}
.embed-frame{position:relative;aspect-ratio:9/16;background:#0e0c0d;overflow:hidden}
.embed-frame iframe{width:100%;height:100%;border:0;display:block}
.embed-caption{padding:14px 16px;display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;align-items:center}
.embed-caption strong{font-size:14px;font-weight:500}
.embed-caption a{font-size:12px;color:#c6a86b;text-decoration:none}
@media(max-width:860px){.embed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:520px){.embed-grid{grid-template-columns:1fr;max-width:390px;margin-left:auto;margin-right:auto}}

/* 2026 monochrome artist portfolio refinement */
:root{--black:#0b0b0b;--white:#f6f6f3;--soft:#bdbdbd}
html,body{font-family:'Inter','Helvetica Neue',Arial,sans-serif}
body,header{background:var(--black);color:var(--white)}
header{border-bottom:1px solid rgba(255,255,255,.14);min-height:96px}
.brand img{height:72px;max-width:215px;width:auto;object-fit:contain}
nav a{font-size:12px;letter-spacing:.075em;text-transform:none;font-weight:500}
nav a:hover,nav a.active{color:#fff;text-decoration:underline;text-underline-offset:8px}
.book-nav{border:1px solid #fff;padding:11px 22px}
.home{background-color:#101010;background-position:center 45%}
.home:before{background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,transparent 32%,rgba(0,0,0,.08) 56%,rgba(0,0,0,.47) 100%)}
.home-content{gap:0}
.btn{font-family:'Inter','Helvetica Neue',Arial,sans-serif;font-weight:600;letter-spacing:.095em;text-transform:none;font-size:13px;border-color:#fff}
.content{padding-top:95px}
h1.page-title,h2,.video-title{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em}
h1.page-title{font-size:clamp(52px,7vw,88px);margin-bottom:24px}
h2{font-size:34px}
.kicker{color:#aaa;text-transform:none;letter-spacing:.12em}
p{color:#c6c6c6;line-height:1.85}
.rule,.video-section h2,.gallery-end,.gallery-book{border-color:#3a3a3a}
input,select,textarea{background:#171717;border:1px solid #555;color:#fff;border-radius:0}
input:focus,select:focus,textarea:focus{outline:1px solid #fff}
.social{border-color:#fff}
footer{border-color:#303030}
footer a,.gallery-tiktok,.video-hint,.embed-caption a{color:#fff}
.embed-card{background:#151515;border:1px solid #303030}
.embed-caption{background:#151515}
.embed-caption strong{font-size:13px}
.embed-caption a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){header{min-height:0}.brand img{height:57px;max-width:190px}.home{background-position:54% center}nav{gap:14px}nav a{font-size:11px}}

/* Clean contemporary typography inspired by Karan on Piano's minimalist layout. */
html,body,button,input,select,textarea{font-family:'DM Sans',Arial,Helvetica,sans-serif}
h1.page-title,h2,.video-title,.home h1{font-family:'DM Sans',Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.045em}
h1.page-title{font-size:clamp(46px,6.8vw,78px);line-height:1.07;margin:16px 0 35px}
h2{font-size:clamp(25px,3vw,35px);letter-spacing:-.035em}
nav a,.btn,.book-nav{font-family:'DM Sans',Arial,Helvetica,sans-serif;letter-spacing:.035em}
p{font-size:15px;line-height:1.85;letter-spacing:0}
.about-content{max-width:850px;padding-top:90px;padding-bottom:110px}
.about-intro{max-width:700px}
.about-intro p{font-size:clamp(16px,1.55vw,18px);line-height:1.85;margin:0 0 21px;color:#e3e3e3}
.about-intro .availability{font-size:14px;color:#aaa;margin-top:32px}
.about-cta{margin-top:19px}
@media(max-width:700px){.about-content{padding-top:60px;padding-bottom:75px}.about-intro p{font-size:16px}}

.thank-follow{margin:35px 0 30px}.thank-follow p{font-weight:500;color:#fff;margin-bottom:15px}.thank-follow-links{display:flex;flex-wrap:wrap;gap:12px}.thank-follow-links a{display:inline-block;border:1px solid #666;color:#fff;text-decoration:none;padding:11px 20px;font-size:13px;transition:background .2s,color .2s}.thank-follow-links a:hover{background:#fff;color:#111}

/* About Me: original event photo, naturally graded, without altering its contents */
.about-content{max-width:1160px}
.about-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);align-items:center;gap:clamp(28px,5vw,76px)}
.about-photo{margin:0;min-width:0}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 50%;filter:none}
@media(max-width:760px){.about-layout{grid-template-columns:1fr;gap:32px}.about-photo{max-width:490px}.about-photo img{aspect-ratio:4/5}}

/* About page tighter editorial spacing */
.about-content{padding-top:42px;padding-bottom:75px}
.about-content .page-title{margin-top:10px;margin-bottom:22px}
.about-layout{align-items:start}
.about-photo img{object-position:center 48%}
@media(max-width:760px){.about-content{padding-top:30px;padding-bottom:55px}.about-content .page-title{margin-bottom:20px}}

/* Final About Me editorial alignment */
.about-content{padding-top:28px;padding-bottom:66px}
.about-content .page-title{margin:7px 0 20px}
.about-layout{align-items:center;gap:clamp(24px,4.5vw,64px)}
.about-photo img{filter:none}
.about-intro p{font-size:clamp(15px,1.45vw,17px);line-height:1.72;margin-bottom:17px}
.about-intro .availability{margin-top:23px}
@media(max-width:760px){.about-content{padding-top:24px;padding-bottom:48px}.about-layout{align-items:start}.about-photo{margin-top:3px}}

/* Four performance tiles per category: balanced two-column gallery. */
.performance-content .embed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:900px}
@media(max-width:700px){.performance-content .embed-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}}

/* Consistent, aligned booking form controls */
.booking-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:22px;
  align-items:start;
}
.booking-form .field{min-width:0;display:flex;flex-direction:column;gap:9px}
.booking-form .field label{display:block;min-height:17px}
.booking-form .field input,
.booking-form .field select{
  display:block;
  width:100%;
  height:52px;
  min-height:52px;
  margin:0;
  padding:0 15px;
  border:1px solid #555;
  border-radius:0;
  box-sizing:border-box;
  font-size:15px;
  line-height:normal;
  color:#f6f6f3;
  background:#171717;
}
.booking-form .field select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%23f6f6f3' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center}
.booking-form .field input::placeholder{color:#8c8c8c;opacity:1}
.booking-form .field input:focus,.booking-form .field select:focus{outline:1px solid #fff;outline-offset:0}
.booking-form .field textarea{width:100%;box-sizing:border-box}
@media(max-width:700px){.booking-form{grid-template-columns:1fr;row-gap:20px}}

/* Self-hosted performance videos: no TikTok rate limiting */
.embed-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#090909}
.embed-frame video:focus-visible{outline:2px solid #fff;outline-offset:-2px}
/* Subtle animated confirmation, with reduced-motion support */
.confirmation-mark{width:108px;height:108px;margin:0 0 22px}
.confirmation-mark svg{width:100%;height:100%;overflow:visible}
.confirmation-ring{fill:none;stroke:#f4f4f4;stroke-width:1.5;stroke-dasharray:290;stroke-dashoffset:290;animation:draw-ring 1s ease-out .1s forwards}
.confirmation-check{fill:none;stroke:#f4f4f4;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70;animation:draw-check .65s ease-out .85s forwards}
.confirmation-appear{animation:confirm-fade .8s ease-out both;animation-delay:.5s}
@keyframes draw-ring{to{stroke-dashoffset:0}}
@keyframes draw-check{to{stroke-dashoffset:0}}
@keyframes confirm-fade{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.confirmation-ring,.confirmation-check,.confirmation-appear{animation:none;opacity:1;transform:none;stroke-dashoffset:0}}

/* Animated tabla-pair confirmation illustration */
.tabla-confirmation{width:min(260px,78vw);margin:0 0 22px}
.tabla-confirmation svg{display:block;width:100%;height:auto;overflow:visible}
.tabla-line{fill:none;stroke:#f5f5f5;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:480;stroke-dashoffset:480;animation:tabla-sketch 1.65s cubic-bezier(.25,.7,.25,1) forwards}
.tabla-bayan .tabla-line{animation-delay:.1s}
.tabla-dayan .tabla-line{animation-delay:.34s}
.tabla-syahi{fill:#f5f5f5;fill-opacity:0;animation:tabla-sketch 1.65s ease forwards,tabla-ink .45s ease 1.5s forwards}
.tabla-pulse{fill:none;stroke:#f5f5f5;stroke-width:1.3;opacity:0;transform-box:fill-box;transform-origin:center;animation:tabla-beat .9s ease-out 1.85s forwards}
.pulse-right{animation-delay:2.04s}
@keyframes tabla-sketch{to{stroke-dashoffset:0}}
@keyframes tabla-ink{to{fill-opacity:.88}}
@keyframes tabla-beat{0%{opacity:.65;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.tabla-line,.tabla-syahi,.tabla-pulse{animation:none;stroke-dashoffset:0}.tabla-syahi{fill-opacity:.88}.tabla-pulse{opacity:0}}

/* Booking confirmation: animate the exact supplied engraved tabla illustration. */
.tabla-art-animation{position:relative;width:min(350px,84vw);aspect-ratio:740/413;margin:0 0 25px;isolation:isolate;overflow:visible}
.tabla-art-reveal{width:100%;height:100%;overflow:hidden;clip-path:inset(0 100% 0 0);animation:tabla-art-draw 1.85s cubic-bezier(.2,.75,.2,1) .1s forwards}
.tabla-art-reveal img{display:block;width:100%;height:100%;object-fit:contain;filter:invert(1);mix-blend-mode:screen}
.tabla-art-reveal{mix-blend-mode:screen}
.tabla-art-beat{position:absolute;top:20%;height:49%;width:28%;border:1.4px solid rgba(255,255,255,.72);border-radius:50%;opacity:0;pointer-events:none;animation:tabla-art-pulse .85s ease-out 2.03s forwards}
.tabla-art-beat-left{left:14%}.tabla-art-beat-right{right:15%;animation-delay:2.23s}
@keyframes tabla-art-draw{to{clip-path:inset(0 0 0 0)}}
@keyframes tabla-art-pulse{0%{opacity:.6;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}
@media(prefers-reduced-motion:reduce){.tabla-art-reveal{animation:none;clip-path:none}.tabla-art-beat{animation:none;opacity:0}}
