:root{--paper:#f2efe6;--ink:#171714;--orange:#ff5a36;--blue:#315cff;--line:#cfcbc0;--muted:#6d6a61;--white:#fffdf8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.brand{font-weight:700;letter-spacing:-.06em;font-size:1.25rem;text-decoration:none;color:var(--ink)}.brand span{font-weight:400}.brand i{color:var(--orange);font-style:normal}.topbar{position:fixed;z-index:10;top:0;left:0;right:0;height:76px;border-bottom:1px solid var(--line);background:#f2efe6e8;backdrop-filter:blur(15px);display:grid;grid-template-columns:230px 1fr auto auto;align-items:center;gap:18px;padding:0 28px}.top-search{max-width:620px;display:flex;align-items:center;border-bottom:1px solid #aaa69d;padding:8px 2px;gap:10px}.top-search input{border:0;background:none;outline:0;width:100%;font-size:.8rem}.help-button,.user-button{border:0;background:none;font-size:.68rem;font-weight:600}.help-button{border-bottom:1px solid;padding:9px 0}.user-button{background:var(--ink);color:white;padding:11px 15px}.sidebar{position:fixed;top:76px;bottom:0;left:0;width:230px;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;justify-content:space-between}.sidebar nav{display:flex;flex-direction:column}.sidebar nav button{border:0;background:none;text-align:left;padding:15px 14px;color:var(--muted);font-size:.76rem}.sidebar nav button span{font-family:'IBM Plex Mono',monospace;font-size:.52rem;margin-right:12px}.sidebar nav button.active{background:var(--ink);color:white}.side-note{border-top:1px solid var(--line);padding:20px 12px}.side-note b,.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.13em}.side-note p{font-size:.7rem;line-height:1.5;color:var(--muted)}.workspace{margin-left:230px;padding-top:76px;min-height:100vh}.view{display:none;padding:60px clamp(30px,5vw,78px) 100px}.view.active{display:block}.view-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:45px}.view-heading h1,.compact-heading h1,.host-hero h1{font-size:clamp(3.5rem,6vw,7rem);letter-spacing:-.07em;line-height:.88;margin:20px 0 0}.view-heading h1 em,.compact-heading h1 em,.host-hero h1 em,dialog h2 em{font-family:'Instrument Serif',serif;font-weight:400}.view-heading>p{max-width:410px;color:var(--muted);line-height:1.7}.filters{display:flex;gap:5px;align-items:center;padding:24px 0 30px;overflow:auto}.filters button,.filters select{white-space:nowrap;border:1px solid var(--line);background:none;padding:10px 13px;font-size:.66rem}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.filters select{margin-left:auto}.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--ink);border:2px solid var(--ink)}.listing-card{background:var(--paper);min-width:0;cursor:pointer}.listing-card .media{position:relative;overflow:hidden;height:310px}.listing-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.listing-card:hover img{transform:scale(1.03)}.card-tag{position:absolute;top:12px;left:12px;background:var(--paper);padding:7px 8px;font-family:'IBM Plex Mono',monospace;font-size:.5rem;text-transform:uppercase}.listing-copy{padding:20px}.listing-copy>small{font-family:'IBM Plex Mono',monospace;font-size:.53rem;color:var(--muted)}.listing-copy h2{font-family:'Instrument Serif',serif;font-size:1.9rem;font-weight:400;margin:12px 0}.listing-foot{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:15px}.listing-foot span{font-size:.68rem;color:var(--muted)}.listing-foot strong{font-size:1.2rem}.listing-foot strong small{font-size:.55rem}.compact-heading{display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:1px solid var(--line);padding-bottom:40px;margin-bottom:30px}.compact-heading .eyebrow,.compact-heading h1{grid-column:1}.compact-heading button,.host-hero button{grid-column:2;grid-row:1/3;background:var(--orange);color:white;border:0;padding:16px 19px;font-size:.7rem}.records{display:flex;flex-direction:column;border-top:1px solid var(--line)}.record{display:grid;grid-template-columns:85px 1fr auto auto;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.record img{width:85px;height:68px;object-fit:cover}.record h3{font-family:'Instrument Serif',serif;font-size:1.45rem;font-weight:400;margin:0 0 5px}.record p,.record small{font-size:.65rem;color:var(--muted);margin:0}.status{font-family:'IBM Plex Mono',monospace;font-size:.55rem;text-transform:uppercase;padding:8px 10px;background:#e0ddd3}.record>button,.empty button{border:1px solid var(--ink);background:none;padding:10px 12px;font-size:.62rem}.empty{text-align:center;padding:90px 20px}.empty b{font-family:'Instrument Serif',serif;font-size:2rem;font-weight:400}.empty p{color:var(--muted);font-size:.8rem}.support-layout{display:grid;grid-template-columns:330px 1fr;min-height:520px;border:1px solid var(--line)}.ticket-list{border-right:1px solid var(--line)}.ticket-item{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:18px}.ticket-item.active{background:var(--ink);color:white}.ticket-item>span{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:.5rem}.ticket-item h3{font-size:.9rem;margin:12px 0 7px}.ticket-item p{font-size:.65rem;margin:0;opacity:.65}.urgent{color:var(--orange)}.ticket-thread{padding:30px;display:flex;flex-direction:column}.thread-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.thread-heading h2{font-family:'Instrument Serif',serif;font-size:2.3rem;font-weight:400;margin:10px 0}.messages{display:flex;flex-direction:column;gap:12px;flex:1;padding:25px 0}.message{max-width:75%;background:white;padding:14px 16px;font-size:.78rem;line-height:1.55}.message.mine{align-self:flex-end;background:var(--blue);color:white}.message small{display:block;margin-top:7px;font-family:'IBM Plex Mono',monospace;font-size:.48rem;opacity:.65}.reply-form{display:flex;gap:8px}.reply-form textarea{flex:1;min-height:70px;padding:12px;border:1px solid var(--line);background:white;resize:vertical}.reply-form button{background:var(--ink);color:white;border:0;padding:0 18px}.escalate{align-self:start;border:1px solid var(--orange);color:#c43d22;background:none;padding:10px 12px;font-size:.62rem}.host-hero{background:var(--blue);color:white;padding:80px 7vw;min-height:520px;display:grid;grid-template-columns:1fr auto;align-items:end}.host-hero p{max-width:600px;line-height:1.7;color:#e0e5ff}.host-hero button{align-self:end}.host-steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:2px}.host-steps article{padding:35px;border-right:1px solid var(--line)}.host-steps article:last-child{border:0}.host-steps span{font-family:'IBM Plex Mono',monospace;color:var(--orange);font-size:.6rem}.host-steps h3{font-family:'Instrument Serif',serif;font-size:2rem;font-weight:400}.host-steps p{font-size:.78rem;line-height:1.6;color:var(--muted)}dialog{width:min(560px,calc(100% - 30px));border:0;background:var(--paper);padding:45px;box-shadow:0 30px 90px #0006}dialog::backdrop{background:#171714c9;backdrop-filter:blur(4px)}dialog h2{font-size:3.4rem;line-height:.95;letter-spacing:-.06em;margin:22px 0}dialog>p{color:var(--muted);line-height:1.6}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:1.8rem}.wide-dialog{width:min(920px,calc(100% - 30px));padding:0}.wide-dialog .dialog-close{z-index:2;background:var(--paper);width:36px;height:36px}.detail-layout{display:grid;grid-template-columns:1.1fr .9fr}.detail-layout>img{width:100%;height:100%;min-height:620px;object-fit:cover}.detail-copy{padding:45px}.detail-copy h2{font-family:'Instrument Serif',serif;font-size:3.4rem;font-weight:400}.detail-meta{display:flex;gap:15px;font-family:'IBM Plex Mono',monospace;font-size:.55rem}.detail-copy>p{line-height:1.7;color:var(--muted)}form{display:flex;flex-direction:column;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.08em}input,select,textarea{border:1px solid var(--line);background:var(--white);padding:13px;color:var(--ink);outline-color:var(--orange);font-family:'Space Grotesk',sans-serif;font-size:.8rem;letter-spacing:0}form>button,.booking-form button{border:0;background:var(--orange);color:white;padding:15px;font-size:.7rem;font-weight:600}.check{flex-direction:row;align-items:center}.check input{width:auto}.form-status{font-size:.7rem;min-height:1em;color:var(--muted)}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-box{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:20px 0}.price-box b{font-size:1.6rem}.toast{position:fixed;z-index:20;right:20px;bottom:20px;background:var(--ink);color:white;padding:14px 18px;font-size:.72rem;transform:translateY(80px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}.loading{padding:70px;text-align:center;background:var(--paper);grid-column:1/-1;color:var(--muted)}
@media(max-width:1000px){.listing-grid{grid-template-columns:repeat(2,1fr)}.support-layout{grid-template-columns:270px 1fr}.detail-layout{grid-template-columns:1fr}.detail-layout>img{min-height:300px;height:42vw}}
@media(max-width:760px){.topbar{height:68px;grid-template-columns:1fr auto auto;padding:0 15px}.top-search,.help-button{display:none}.sidebar{z-index:8;top:auto;bottom:0;right:0;width:auto;height:62px;border:0;border-top:1px solid var(--line);background:var(--paper);padding:0}.sidebar nav{height:100%;flex-direction:row}.sidebar nav button{flex:1;text-align:center;padding:8px 3px;font-size:.57rem}.sidebar nav button span{display:block;margin:0 0 4px}.side-note{display:none}.workspace{margin-left:0;padding-top:68px;padding-bottom:60px}.view{padding:38px 18px 65px}.view-heading{display:block}.view-heading h1,.compact-heading h1{font-size:3.7rem}.view-heading>p{margin-top:25px}.filters select{margin-left:0}.listing-grid{grid-template-columns:1fr}.listing-card .media{height:330px}.compact-heading{grid-template-columns:1fr}.compact-heading button{grid-column:1;grid-row:auto;margin-top:20px}.support-layout{grid-template-columns:1fr}.ticket-list{border-right:0}.ticket-thread{border-top:1px solid var(--line);padding:20px}.host-hero{padding:50px 25px;display:block}.host-hero h1{font-size:3.8rem}.host-hero button{margin-top:20px}.host-steps{grid-template-columns:1fr}.host-steps article{border-right:0;border-bottom:1px solid var(--line)}dialog{padding:32px 22px}dialog h2{font-size:2.8rem}.detail-copy{padding:30px 22px}.detail-copy h2{font-size:2.8rem}.record{grid-template-columns:65px 1fr}.record img{width:65px}.record .status,.record>button{grid-column:2}.date-pair{grid-template-columns:1fr}}

/* Review round 2: clearer inventory scanning and stable card geometry. */
.market-meta{display:flex;justify-content:space-between;margin:-14px 0 10px;font-family:'IBM Plex Mono',monospace;font-size:.52rem;letter-spacing:.08em;color:var(--muted)}
.listing-card{display:flex;flex-direction:column;transition:background .2s ease}
.listing-card:hover,.listing-card:focus-visible{background:#fffdf8}
.listing-card:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.listing-copy{display:flex;flex:1;flex-direction:column;min-height:190px}
.listing-foot{margin-top:auto;gap:14px;align-items:center}
.listing-foot span{max-width:68%;line-height:1.45}
.listing-foot strong{white-space:nowrap}
@media(max-width:760px){.filters{position:sticky;z-index:5;top:68px;margin-inline:-18px;padding:14px 18px;background:#f2efe6f5;backdrop-filter:blur(12px);scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button,.filters select{min-height:42px}.market-meta{margin-top:12px}.listing-card .media{height:285px}.listing-copy{min-height:170px}}

/* Review round 3: dates, fee transparency and safer dialogs. */
.date-hint{margin:-8px 0 0;color:var(--muted);font-size:.65rem;line-height:1.45}.date-hint.invalid{color:#b72f1b}.booking-total{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.booking-total span{display:flex;min-width:0;flex-direction:column;gap:7px;background:var(--white);padding:12px}.booking-total small{font-family:'IBM Plex Mono',monospace;font-size:.45rem;color:var(--muted)}.booking-total b{font-size:.8rem;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.45}dialog{max-height:92vh;overflow:auto}.dialog-close{position:sticky;z-index:4;float:right;margin:-30px -30px 0 0;background:var(--paper)}
@media(max-width:760px){dialog{max-height:90vh}.wide-dialog{width:calc(100% - 16px)}.dialog-close{margin:-20px -10px 0 0}.detail-layout>img{min-height:230px;height:245px}.booking-total{grid-template-columns:1fr}.detail-copy>p{font-size:.82rem}.detail-copy h2{margin:18px 0}}

/* Review round 4: support clarity and calmer modal behavior. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wide-dialog{overflow-x:hidden}.wide-dialog .dialog-close{position:absolute;float:none;margin:0}.support-reassurance{border-left:3px solid var(--blue);padding-left:13px;font-size:.75rem}.ticket-item:focus-visible,.sidebar button:focus-visible,.filters button:focus-visible,.filters select:focus-visible,.topbar button:focus-visible,form input:focus-visible,form select:focus-visible,form textarea:focus-visible,form button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.empty button{margin-top:10px}
@media(max-width:760px){.support-layout{min-height:0}.ticket-thread:has(.empty){display:none}.support-reassurance{font-size:.7rem}.wide-dialog .dialog-close{margin:0}}

/* Review round 5: keyboard access, motion preferences and mobile safe areas. */
html{scroll-behavior:smooth}body{overflow-x:hidden}.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);background:var(--ink);color:white;padding:12px 16px;text-decoration:none}.skip-link:focus{transform:none}.dialog-close{min-width:44px;min-height:44px}.form-status{line-height:1.5}.sidebar nav button,.user-button,.help-button{min-height:44px}
@media(max-width:760px){.sidebar{height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.workspace{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.toast{right:12px;bottom:calc(74px + env(safe-area-inset-bottom));left:12px;text-align:center}.market-meta{gap:15px}.market-meta span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.listing-card:hover img{transform:none}}

/* Mobile UX review: native-size controls, scroll affordances and thumb-friendly actions. */
@media(max-width:760px){input,select,textarea{font-size:16px}.filters{scroll-snap-type:x proximity;padding-right:36px;-webkit-overflow-scrolling:touch}.filters button,.filters select{scroll-snap-align:start;min-height:44px}.record{align-items:start;gap:12px 14px}.record>div:last-child{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}.record>div:last-child button,.record .status,.empty button,.reply-form button,.escalate{min-height:44px}.reply-form{align-items:stretch}.reply-form button{padding-inline:16px}dialog{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top));margin:auto 0 0;padding:30px 20px calc(24px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.wide-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));margin:auto 0 0}.detail-layout>img{height:210px;min-height:210px}.detail-copy{padding:26px 20px}.detail-copy h2{font-size:2.55rem}.booking-form button,form>button{min-height:48px}.message{max-width:88%;font-size:.88rem}.sidebar nav button{min-width:0}.sidebar nav button span{font-size:.58rem}}
@font-face{font-family:'Space Grotesk';src:url('/fonts/space-grotesk.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:'Instrument Serif';src:url('/fonts/instrument-serif-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'Instrument Serif';src:url('/fonts/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('/fonts/ibm-plex-mono-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('/fonts/ibm-plex-mono-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('/fonts/ibm-plex-mono-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
.policy-links{display:flex;flex-wrap:wrap;gap:7px 11px;margin-top:14px}.policy-links a{color:var(--muted);font-size:.58rem;text-underline-offset:3px}
.legal-consent{font-size:.62rem!important;line-height:1.5!important;color:var(--muted);margin:0}.legal-consent a{color:var(--ink);text-underline-offset:3px}.app-policy-footer{display:none}@media(max-width:760px){.app-policy-footer{display:flex;flex-wrap:wrap;gap:14px;margin:0 18px 82px;padding:22px 0;border-top:1px solid var(--line)}.app-policy-footer a{color:var(--muted);font-size:.68rem;text-underline-offset:3px}}
