:root{--ink:#171513;--ink2:#211e1b;--ivory:#f3eee7;--paper:#e7ded3;--sand:#cdb89e;--taupe:#756657;--ochre:#c39046;--line:rgba(243,238,231,.15);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif}*{box-sizing:border-box}html{background:var(--ink);color-scheme:dark}body{margin:0;min-height:100vh;background:var(--ink);color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased}.grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.booking-header{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.25rem,3.5vw,3.75rem);border-bottom:1px solid var(--line);position:relative;z-index:10}.booking-brand img{display:block;width:78px;height:auto}.header-center{display:flex;align-items:center;gap:.65rem;color:rgba(243,238,231,.56);font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.header-dot{width:3px;height:3px;border-radius:50%;background:var(--ochre)}.header-exit{justify-self:end;color:var(--sand);font-size:.65rem;font-weight:700;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}.header-exit span{margin-left:.45rem;font-size:1rem}.booking-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 82px)}.booking-rail{padding:clamp(2rem,4vw,4rem) 2rem;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:calc(100vh - 82px)}.rail-title{margin-bottom:2.5rem;color:var(--sand);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.step-list{list-style:none;margin:0;padding:0}.step-list li{display:grid;grid-template-columns:32px 1fr;gap:.75rem;align-items:center;padding:.75rem 0;color:rgba(243,238,231,.3);transition:color .35s ease}.step-list li>span{font-size:.59rem;font-weight:700}.step-list strong,.step-list small{display:block}.step-list strong{font-family:var(--serif);font-size:1.15rem;font-weight:500}.step-list small{font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}.step-list li.is-active{color:var(--ivory)}.step-list li.is-complete{color:var(--sand)}.rail-note{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--line)}.rail-note span{color:var(--sand);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.rail-note p{margin:.55rem 0 0;color:rgba(243,238,231,.43);font-size:.68rem;line-height:1.55}.booking-form{display:flex;flex-direction:column;min-width:0}.booking-step{animation:stepIn .5s cubic-bezier(.22,1,.36,1);padding:clamp(2.5rem,5vw,5.5rem) clamp(1.5rem,6vw,7rem) 2rem;flex:1}.booking-step[hidden]{display:none}.step-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.46fr);column-gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,5rem)}.step-kicker{grid-column:1/-1;margin-bottom:1rem;color:var(--ochre);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.step-intro h1,.step-intro h2{margin:0;font-family:var(--serif);font-size:clamp(3.1rem,6.4vw,7rem);font-weight:400;line-height:.82;letter-spacing:-.045em}.step-intro em{color:var(--sand);font-weight:400}.step-intro p{margin:0 0 .35rem;color:rgba(243,238,231,.58);font-size:.82rem;line-height:1.7;max-width:420px}.artist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.artist-card{position:relative;min-height:390px;padding:1.25rem;overflow:hidden;border:0;background:#28231f;color:var(--ivory);cursor:pointer;text-align:left;isolation:isolate}.artist-card::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(23,21,19,.05),rgba(23,21,19,.9)),var(--artist-image) center/cover;filter:grayscale(1) contrast(1.05);transform:scale(1.02);transition:filter .6s ease,transform .8s cubic-bezier(.22,1,.36,1)}.artist-card::after{content:"";position:absolute;inset:0;z-index:-1;border:1px solid transparent;transition:border-color .3s ease,background .3s ease}.artist-card:hover::before,.artist-card.is-selected::before{filter:grayscale(.25) contrast(1.02);transform:scale(1.07)}.artist-card.is-selected::after{border-color:var(--sand);background:rgba(195,144,70,.07)}.artist-index{font-size:.61rem;font-weight:700;letter-spacing:.15em}.artist-copy{position:absolute;left:1.25rem;right:1.25rem;bottom:1.3rem}.artist-copy small,.artist-copy strong,.artist-copy>span{display:block}.artist-copy small{margin-bottom:.7rem;color:var(--sand);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.artist-copy strong{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.3rem);font-weight:400;line-height:.8}.artist-copy>span{margin-top:1.25rem;color:rgba(243,238,231,.7);font-size:.61rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.block-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:var(--sand);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.block-label small{color:rgba(243,238,231,.35);font-size:.56rem}.text-button{border:0;background:none;color:var(--sand);cursor:pointer;font:inherit}.date-block{margin-bottom:2.5rem}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.55rem}.date-card,.time-grid button,.zone-grid button,.size-grid button,.style-grid button{border:1px solid var(--line);background:transparent;color:var(--ivory);cursor:pointer;transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s ease}.date-card{padding:1rem .4rem;text-align:center}.date-card span,.date-card strong,.date-card small{display:block}.date-card span{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase}.date-card strong{font-family:var(--serif);font-size:2rem;font-weight:400}.date-card small{color:rgba(243,238,231,.45);font-size:.56rem}.date-card:hover,.date-card.is-selected,.time-grid button:hover,.time-grid button.is-selected,.zone-grid button:hover,.zone-grid button.is-selected,.size-grid button:hover,.size-grid button.is-selected,.style-grid button:hover,.style-grid button.is-selected{border-color:var(--sand);background:rgba(205,184,158,.09)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.time-grid button{padding:.9rem;font:600 .72rem var(--sans)}.piece-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.zone-grid{display:grid;grid-template-columns:1fr 1fr}.zone-grid button{display:flex;justify-content:space-between;padding:1.05rem;text-align:left;font:500 .77rem var(--sans);margin:-1px 0 0 -1px}.zone-grid small{color:rgba(243,238,231,.35)}.size-grid{display:grid;gap:.55rem}.size-grid button{display:flex;align-items:center;gap:1.2rem;padding:.85rem 1rem;text-align:left}.size-grid button span,.size-grid button small{display:block}.size-grid button span{font:500 .77rem var(--sans)}.size-grid button small{margin-top:.2rem;color:rgba(243,238,231,.4);font-size:.57rem}.size-dot{display:block;border:1px solid var(--sand);border-radius:50%}.size-dot.s{width:12px;height:12px}.size-dot.m{width:22px;height:22px}.size-dot.l{width:34px;height:34px}.size-dot.xl{width:46px;height:46px;border-radius:45% 55% 60% 40%}.idea-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem}.style-options{grid-row:span 2}.style-grid{display:grid;grid-template-columns:1fr 1fr}.style-grid button{padding:1rem;text-align:left;font:500 .72rem var(--sans);margin:-1px 0 0 -1px}.idea-field{position:relative;display:block}.idea-field>span,.contact-fields label>span{display:block;margin-bottom:.6rem;color:var(--sand);font-size:.61rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.idea-field textarea,.contact-fields input{width:100%;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;color:var(--ivory);font:400 .85rem/1.7 var(--sans);transition:border-color .2s}.idea-field textarea{padding:1rem;border:1px solid var(--line);resize:vertical}.idea-field textarea:focus,.contact-fields input:focus{border-color:var(--sand)}.idea-field>small{position:absolute;right:.8rem;bottom:.65rem;color:rgba(243,238,231,.35);font-size:.55rem}.reference-upload{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px dashed rgba(205,184,158,.35);cursor:pointer}.reference-upload input{position:absolute;opacity:0;pointer-events:none}.upload-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--sand)}.reference-upload strong,.reference-upload small{display:block}.reference-upload strong{font-size:.68rem}.reference-upload small{margin-top:.2rem;color:rgba(243,238,231,.4);font-size:.56rem}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,6rem)}.contact-fields{display:grid;gap:1.4rem}.contact-fields input{padding:.55rem 0;font-size:1rem}.consent{display:flex!important;align-items:flex-start;gap:.7rem;color:rgba(243,238,231,.55);font-size:.65rem;line-height:1.55}.consent input{width:15px;height:15px;margin-top:.15rem;accent-color:var(--ochre)}.consent a{color:var(--sand)}.request-summary{padding:1.5rem;border:1px solid var(--line);background:rgba(255,255,255,.025)}.summary-kicker{color:var(--ochre);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.request-summary dl{margin:1.2rem 0}.request-summary dl div{display:grid;grid-template-columns:95px 1fr;gap:.7rem;padding:.5rem 0;border-bottom:1px solid rgba(243,238,231,.08)}.request-summary dt{color:rgba(243,238,231,.38);font-size:.57rem;text-transform:uppercase}.request-summary dd{margin:0;font-family:var(--serif);font-size:1rem}.request-summary p{color:rgba(243,238,231,.45);font-size:.62rem;line-height:1.5}.form-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem clamp(1.5rem,6vw,7rem);border-top:1px solid var(--line);position:sticky;bottom:0;z-index:12;background:rgba(23,21,19,.94);backdrop-filter:blur(16px)}.button-back,.button-next{border:0;background:none;color:var(--sand);cursor:pointer;font:700 .64rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.button-back{justify-self:start}.button-back:disabled{opacity:.25;cursor:default}.button-next{justify-self:end;padding:.9rem 1.1rem;border:1px solid rgba(205,184,158,.45);color:var(--ivory)}.button-next span{margin-left:1rem}.button-next:hover{background:var(--sand);color:var(--ink)}.action-status{color:var(--ochre);font-size:.62rem;text-align:center}.progress-mobile{display:none}@keyframes stepIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:900px){.booking-shell{grid-template-columns:1fr}.booking-rail{display:none}.progress-mobile{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);font-size:.6rem}.progress-mobile div{height:1px;flex:1;background:var(--line)}.progress-mobile i{display:block;width:20%;height:1px;background:var(--sand);transition:width .4s}.booking-step{padding:2.5rem 1.25rem}.step-intro{grid-template-columns:1fr;gap:1.25rem}.artist-grid{grid-template-columns:1fr 1fr}.artist-card:last-child{grid-column:1/-1;min-height:240px}.date-grid{grid-template-columns:repeat(4,1fr)}.piece-layout,.idea-layout,.contact-layout{grid-template-columns:1fr}.style-options{grid-row:auto}.form-actions{padding:1rem 1.25rem}}@media(max-width:600px){.booking-header{height:70px;grid-template-columns:1fr 1fr}.header-center{display:none}.booking-shell{min-height:calc(100vh - 70px)}.artist-grid{grid-template-columns:1fr}.artist-card,.artist-card:last-child{grid-column:auto;min-height:330px}.date-grid{grid-template-columns:repeat(3,1fr)}.time-grid{grid-template-columns:repeat(2,1fr)}.piece-layout{gap:2rem}.form-actions{grid-template-columns:1fr 1fr}.action-status{grid-column:1/-1;grid-row:1;text-align:left;margin-bottom:.4rem}.button-back,.button-next{grid-row:2}.step-intro h1,.step-intro h2{font-size:clamp(3rem,15vw,5rem)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.grain{display:none}}
