/* Coexa Studios booking page, design board. Shared structure only: resets,
   the survey mechanic, the preview calendar's layout, the board pill. Every
   direction sets its own tokens, type and surfaces in css/dN.css. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
main{flex:1 0 auto}
[hidden]{display:none!important}
img,video,svg{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;padding:.6rem .9rem;background:#fff;color:#0E0D12;border-radius:6px;font-weight:600}
.skip:focus{left:8px}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.mark{flex:none}
.wordmark{display:inline-flex;align-items:center;gap:.6rem}
:root{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
/* survey mechanic */
.qualify-step{display:none}
.qualify-step.active{display:block}
.progress__fill{height:100%;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.back{visibility:hidden}
.back.show{visibility:visible}
.field-error{margin-top:.65rem;line-height:1.45}
.field-error[hidden]{display:none}
.use-it{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
.consent{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.1rem;line-height:1.45;cursor:pointer}
.consent input{width:auto;margin-top:.25em;flex:none}
:focus-visible{outline:2px solid #A78BFA;outline-offset:3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* preview calendar, structure only */
.cal{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.cal-nav{display:flex;gap:.5rem}
.cal-nav button{width:40px;height:40px;padding:0;background:none;border:1px solid currentColor;border-radius:999px;display:grid;place-items:center}
.cal-nav button:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-wd{text-align:center;padding:.35rem 0;font-size:.78rem;opacity:.6}
.cal-day{min-width:0;aspect-ratio:1;display:grid;place-items:center;padding:0;background:none;border:1px solid transparent;border-radius:0}
.cal-day.is-off{opacity:.3;cursor:default}
.cal-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.5rem}
.cal-slot{min-width:0;padding:.75rem .5rem;background:none;border:1px solid currentColor;text-align:center}
.cal-confirm{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding-top:.5rem}
.cal-when{line-height:1.5}
.cal-note{line-height:1.5;max-width:44em}
/* footer + board pill */
.foot{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:center;padding:2rem var(--gutter,1.5rem) calc(2rem + 56px);border-top:1px solid rgba(255,255,255,.09);font-size:.86rem}
.foot__brand{display:inline-flex;gap:.5rem;align-items:center;font-weight:600}
.dboard{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:2px;padding:4px;background:rgba(10,10,14,.84);border:1px solid rgba(255,255,255,.16);border-radius:999px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:90;font:500 12px/1 'Geist Mono','JetBrains Mono',ui-monospace,monospace;white-space:nowrap}
.dboard a{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 10px;border-radius:999px;color:rgba(255,255,255,.66)}
.dboard a[aria-current]{background:#fff;color:#0E0D12}
.dboard a:hover{color:#fff}
.dboard a[aria-current]:hover{color:#0E0D12}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* room above the fixed pill on phones so the last control is never under it */
@media (max-width:640px){.booking{padding-bottom:3.5rem}}
