/* Shared CUPEC website identity, matched against cupec.co on 1 November 2026.
   References: rebuild/rebuild.css, light.css, navigation.css, mobile-experience.css,
   and motion.css. Marketplace structure and data stay independent. */
@font-face{font-family:'CUPEC Instrument';src:url('/assets/fonts/InstrumentSerif-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'CUPEC Instrument';src:url('/assets/fonts/InstrumentSerif-Italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'CUPEC Inter';src:url('/assets/fonts/Inter.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --rb-paper:#fdfcf8;--rb-ink:#373a35;--rb-muted:#64695f;
  --rb-line:#d6d9d0;--rb-soft:#f0f1eb;
  --rb-serif:'CUPEC Instrument',Georgia,serif;
  --rb-sans:'CUPEC Inter',Arial,sans-serif;
  --rb-gutter:clamp(22px,5.5vw,100px);
  --rb-ease:cubic-bezier(.22,1,.36,1);
}
body{background:var(--rb-paper);color:var(--rb-ink);font:15px/1.7 var(--rb-sans);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font-family:var(--rb-sans)}
h1,h2,h3,h4{font-family:var(--rb-serif);font-weight:400;letter-spacing:-.025em;line-height:1.06}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rb-ink);outline-offset:6px}
button,a{touch-action:manipulation}
.site-header{height:auto;min-height:88px;padding:16px var(--rb-gutter);background:var(--rb-paper);border-color:var(--rb-line);gap:30px;view-transition-name:cupec-header}
.brand{gap:13px;flex-shrink:0}
.brand img{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply}
.brand>span{font:500 24px/1 var(--rb-sans);letter-spacing:.13em}
.brand-sub{font:450 8px/1.4 var(--rb-sans);letter-spacing:.17em;margin-top:6px;color:var(--rb-muted)}
.site-header nav{gap:28px;font:450 13px/1.4 var(--rb-sans);margin-left:auto}
.site-header nav>a{color:var(--rb-ink);padding:10px 0;position:relative}
.site-header nav>a.active{box-shadow:none}
.site-header nav>a::after{content:'';position:absolute;inset:auto 0 0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-header nav>a:hover::after,.site-header nav>a[aria-current=page]::after{transform:scaleX(1)}
.site-header nav span{background:var(--rb-soft);border-radius:0;color:var(--rb-muted)}
.button{border-radius:0;min-height:44px;padding:11px 18px;font:400 13px/1.4 var(--rb-sans);background:#e8ebe2;color:var(--rb-ink);border-color:#b9c0b0;transition:background .2s ease,transform .2s ease,border-color .2s ease}
.button.dark,.button.light{background:#e8ebe2;color:var(--rb-ink);border-color:#b9c0b0}
.button:hover,.button.dark:hover,.button.light:hover{background:#dce1d5;transform:translateY(-2px)}
.button:active,button:active{transform:translateY(1px)}
.header-cta,.header-cta.dark{background:transparent;border-color:var(--rb-line);min-height:42px;padding:11px 18px;gap:25px;white-space:nowrap}
.header-cta:hover,.header-cta.dark:hover{background:var(--rb-soft)}
.button.danger{background:transparent;color:#943e35;border-color:#d9b1aa}
.hero{padding:80px var(--rb-gutter) 48px;gap:50px 6%;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border-color:var(--rb-line)}
.hero::before{content:'';position:absolute;inset:32px var(--rb-gutter) auto;border-top:1px solid var(--rb-line)}
.eyebrow{font:500 10px/1.6 var(--rb-sans);letter-spacing:.17em;color:var(--rb-ink);margin-bottom:28px}
.eyebrow::before{display:none}
h1,.hero h1{font:400 clamp(56px,5.7vw,90px)/1.03 var(--rb-serif);letter-spacing:-.025em}
h1 .muted{font-style:italic;color:#6d7668}
.hero-aside{padding:25px 0 25px 36px;align-self:center;border-left:1px solid var(--rb-line);max-width:440px}
.hero-aside p{color:var(--rb-muted);font-size:16px;line-height:1.7}
.hero-aside .small-link{font-size:12px;color:var(--rb-ink);border-color:#a3a99d;padding:10px 0;min-height:44px}
.hero-bottom{color:var(--rb-muted);font-size:10px;letter-spacing:.02em}
.hero-bottom b{color:var(--rb-muted)}
.workspace{padding:35px var(--rb-gutter) 70px;gap:40px}
.filters,.filter-note,.catalogue-toolbar,.detail-section,.form-section{border-color:var(--rb-line)}
.filter-title strong,.field>span{font-weight:500}
.text-button,.back-link,.location,.sort,.result-line,.card-extra,.card-category,.price-label,.photo-note,.form-help,.form-intro,.filter-note,.contact-card p,.prose,.about-copy p,.research-note{color:var(--rb-muted)}
.field input,.field select,.field textarea{color:var(--rb-ink);background:var(--rb-paper);border-color:var(--rb-line);border-radius:0;font-size:14px;min-height:44px;transition:border-color .2s ease,background .2s ease}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#a3a99d}
.field input::placeholder,.field textarea::placeholder{color:#777c72}
.tab{font-size:12px;min-height:44px;color:var(--rb-muted)}
.tab.active{color:var(--rb-ink);font-weight:500;box-shadow:0 1px var(--rb-ink)}
.sort select{color:var(--rb-ink);min-height:44px}
.result-line strong{color:var(--rb-ink)}
.card{background:transparent;border:0;border-bottom:1px solid var(--rb-line);border-radius:0;box-shadow:none;transition:background .2s ease}
.card:hover{transform:none;box-shadow:none;background:var(--rb-soft)}
.card-image{border-radius:0;background:var(--rb-soft)}
.card-image>img{transition:transform .6s var(--rb-ease)}
.card-body{padding:19px 0 20px}
.card h3{font:400 28px/1.08 var(--rb-serif);letter-spacing:-.025em;min-height:60px}
.card-category{font-size:9px;letter-spacing:.13em}
.card-footer{border-color:var(--rb-line)}
.price{font:500 18px/1.4 var(--rb-sans);color:var(--rb-ink);letter-spacing:-.02em}
.save-button{height:44px;width:44px;top:8px;right:8px;color:var(--rb-ink);transition:background .2s ease,transform .2s ease}
.save-button.saved{background:#e8ebe2;color:var(--rb-ink)}
.card-badge{border-radius:0;background:var(--rb-paper);color:var(--rb-ink)}
.cta-strip{margin-inline:var(--rb-gutter);padding:35px 0;border:0;border-top:1px solid var(--rb-line);border-bottom:1px solid var(--rb-line);border-radius:0;background:transparent}
.cta-strip h2{font:400 36px/1.06 var(--rb-serif)}
.cta-strip p{color:var(--rb-muted)}
.site-footer{margin-inline:var(--rb-gutter);padding:35px 0;border-color:var(--rb-line);color:var(--rb-muted);font-size:11px}
.site-footer strong{color:var(--rb-ink);font:500 24px/1 var(--rb-sans);letter-spacing:.13em}
.site-footer a{color:var(--rb-ink)}
.page{max-width:none;padding:35px var(--rb-gutter) 70px}
.form-page{max-width:1040px}
.detail-heading h1,.form-page h1,.success h1{font:400 clamp(44px,5.7vw,76px)/1.03 var(--rb-serif);letter-spacing:-.025em}
.detail-section h2,.form-section h2{font:400 32px/1.06 var(--rb-serif)}
.detail-heading .location{font-size:13px}
.gallery img,.gallery.single img{border-radius:0}
.contact-card{background:var(--rb-paper);border-color:var(--rb-line);border-radius:0}
.contact-card h2{font:400 28px/1.08 var(--rb-serif)}
.contact-card .price{font-size:30px}
.contact-info a{color:var(--rb-ink)}
.fact dt{color:var(--rb-muted);font-size:11px}
.fact dd{color:var(--rb-ink);font-size:18px}
.demo-banner,.recovery-box,.label-inline{background:var(--rb-soft);color:var(--rb-muted);border-color:var(--rb-line);border-radius:0}
.empty h2{font:400 36px/1.06 var(--rb-serif);color:var(--rb-ink)}
.about-copy{max-width:850px}
.about-copy h2{font:400 36px/1.06 var(--rb-serif)}
.toast{border-radius:0;background:var(--rb-ink);font-size:13px;box-shadow:none}
.cupec-menu-toggle{display:none}
.cupec-mobile-menu{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:0;border:0;background:var(--rb-paper);color:var(--rb-ink)}
.cupec-mobile-menu::backdrop{background:var(--rb-paper)}
.cupec-menu-bar{min-height:64px;padding:8px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rb-line)}
.cupec-menu-links{display:flex;flex-direction:column;padding:28px 24px calc(32px + env(safe-area-inset-bottom))}
.cupec-menu-links>a{display:flex;align-items:center;justify-content:space-between;font:400 38px/1.15 var(--rb-serif);min-height:76px;padding:18px 0;border-bottom:1px solid var(--rb-line)}
.cupec-menu-links>a[aria-current=page]{color:#6d7668}
.cupec-menu-links .cupec-menu-action{font:400 14px/1.4 var(--rb-sans);min-height:56px;margin-top:24px;padding:14px 20px;border:0;border-radius:6px;background:#eeeee8}
.cupec-menu-toggle,.cupec-menu-close{align-items:center;justify-content:center;gap:10px;min-width:106px;height:44px;padding:0 15px;border:0;border-radius:8px;background:#eeeee8;color:var(--rb-ink);font:400 12px var(--rb-sans);letter-spacing:.02em}
.cupec-menu-close{display:inline-flex}
.cupec-menu-toggle svg,.cupec-menu-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.cupec-menu-toggle:active,.cupec-menu-close:active{background:#e3e5dc;transform:none}
@media(max-width:1100px){.workspace{gap:25px}.hero{gap:35px}}
@media(max-width:767px){
 .site-header{position:sticky;top:0;z-index:80;height:64px;min-height:64px;padding:8px 22px;flex-wrap:nowrap;gap:15px}
 .brand img{width:42px;height:42px}.brand>span{font-size:25px}.brand-sub{font-size:7px;margin-top:4px}
 .site-header>nav,.site-header>.header-cta{display:none}.cupec-menu-toggle{display:inline-flex}
 .hero{grid-template-columns:1fr;padding:30px 24px 28px;gap:25px}.hero::before{display:none}
 .hero h1{font-size:clamp(45px,12.5vw,61px);line-height:1.03}
 .hero .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:20px}
 .hero-aside{padding:0;border:0;max-width:none}.hero-aside p{font-size:15px;line-height:1.75}
 .hero-aside .small-link{margin-top:12px}.hero-bottom{font-size:9px;gap:16px;flex-wrap:wrap}
 .workspace{padding:24px 24px 48px}.mobile-filter-toggle{min-height:48px;border-radius:0}
 .filters{border-color:var(--rb-line);border-radius:0}.tab{font-size:12px}
 .card h3{font-size:27px;min-height:0}.card-body{padding:17px 0 20px}
 .page{padding:24px 24px 48px}.detail-heading h1,.form-page h1,.success h1{font-size:clamp(42px,11.5vw,58px)}
 .cta-strip{margin:0 24px 42px;padding:25px 0}.cta-strip h2{font-size:34px}
 .site-footer{margin:0 24px}.cupec-menu-bar .brand img{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .card:hover,.button:hover,.button:active,button:active{transform:none}
}
/* The live website's final wordmark refinements override its base header rule. */
.brand>span{font:550 27px/27px var(--rb-sans);letter-spacing:-.045em}
h1,.hero h1{letter-spacing:-.035em}
.cupec-menu-links [data-nav=saved] span{font:400 12px/1.4 var(--rb-sans);letter-spacing:0;padding:4px 8px;background:var(--rb-soft);color:var(--rb-muted)}
@media(max-width:767px){
 .brand>span{font-size:27px;line-height:27px}
 .workspace{display:block}.filters{display:none}.filters.open{display:block}
 .mobile-filter-toggle{display:inline-flex}.field input,.field select,.field textarea{font-size:16px}
}

/* Responsive marketplace refinements: preserve CUPEC typography and palette. */
main,.catalogue,.hero>div,.detail-heading>div,.detail-columns>*,.form-grid>*{min-width:0}
h1,h2,h3,.price,.fact dd{overflow-wrap:anywhere}
.skip{z-index:200}
.card-image{height:auto;aspect-ratio:4/3}
.cards{align-items:stretch}
.card{display:flex;flex-direction:column}
.card-body{flex:1;display:flex;flex-direction:column}
.card h3{min-height:0;margin-bottom:8px}
.card .location{margin-top:auto;padding-top:12px}
.card-extra{font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.card-category{line-height:1.6;padding-right:4px}
.price{font-variant-numeric:tabular-nums}
.card-footer{gap:12px;align-items:center}
.card-arrow{flex-shrink:0}
.catalogue-toolbar{flex-wrap:wrap;gap:8px 20px}
.tabs{gap:22px;max-width:100%}
.tab{padding-top:10px;margin-bottom:0}
.sort{margin-left:auto;margin-bottom:4px}
.result-line{flex-wrap:wrap;align-items:center}
.demo-notice{max-width:none;text-align:left;font-size:11px}
.text-button,.back-link{min-height:44px;display:inline-flex;align-items:center}
.filter-title{margin-bottom:16px}
.filters{padding-right:22px}
.filters .field{margin-bottom:18px}
.checkbox{min-height:44px;align-items:flex-start;cursor:pointer;padding-block:8px}
.checkbox input{width:20px;height:20px;flex-shrink:0;margin-top:1px}
.checkbox:has(input:focus-visible){outline:2px solid var(--rb-ink);outline-offset:4px}
.form-actions{flex-wrap:wrap}
.form-actions>p{max-width:100%;overflow-wrap:anywhere}
.toast{bottom:calc(20px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 32px);text-align:center;line-height:1.5;z-index:100}
.button:disabled{transform:none;cursor:default}
.cupec-mobile-menu{overflow-y:auto;overscroll-behavior:contain}
.mobile-filter-toggle[aria-expanded=true]{background:var(--rb-soft)}
@media(min-width:1001px) and (max-width:1279px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:220px minmax(0,1fr)}}
@media(min-width:1500px){.hero,.workspace,.site-header{padding-inline:max(var(--rb-gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1000px){
 .site-header{height:72px;min-height:72px;padding:10px 24px;gap:15px;flex-wrap:nowrap}
 .site-header>nav,.site-header>.header-cta{display:none}.cupec-menu-toggle{display:inline-flex;margin-left:auto}
 .workspace{display:block;padding-inline:24px}.mobile-filter-toggle{display:inline-flex;margin-bottom:20px;min-height:48px}
 .filters{display:none;padding:20px;border:1px solid var(--rb-line);margin-bottom:24px}.filters.open{display:block}
 .filter-note{display:none}.filters.open{scroll-margin-top:92px}
 .filters .field input,.filters .field select{font-size:16px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
 .catalogue-toolbar{display:flex}.sort{margin-left:auto}
 .detail-columns{grid-template-columns:minmax(0,1fr) 270px;gap:24px}
 .hero{gap:28px}.hero-aside{padding-left:24px}
}
@media(max-width:767px){
 .site-header{height:64px;min-height:64px;padding:8px 20px}
 .hero,.page{padding-inline:20px}.hero-aside{padding:0}.workspace{padding-inline:20px}
 .hero h1{font-size:clamp(40px,10.8vw,61px)}
 .hero-bottom{line-height:1.6;gap:10px 16px}
 .cards{grid-template-columns:1fr;gap:28px}
 .card h3{font-size:32px;line-height:1.08}.card-category{font-size:10px}
 .card .location{font-size:13px}.card-extra{font-size:12px}
 .card-badge{left:10px;top:12px;max-width:calc(100% - 76px)}
 .catalogue-toolbar{display:flex;gap:4px 12px}.tabs{gap:18px;width:100%;justify-content:space-between}
 .tab{font-size:12px}.sort{margin:8px 0 4px auto}.sort select{max-width:150px}
 .result-line{display:block;margin-bottom:20px}.demo-notice{margin-top:7px}
 .detail-heading .actions{gap:10px}.detail-heading h1{font-size:clamp(38px,10vw,58px)}
 .detail-columns{display:block}.contact-card{position:static;padding:22px;margin-top:24px}
 .gallery,.gallery.single{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px}
 .gallery img,.gallery.single img,.gallery img:not(:first-child){display:block;flex:0 0 88%;width:88%;height:260px;scroll-snap-align:start}
 .gallery.single img{flex-basis:100%;width:100%}
 .fact dd{font-size:17px}.facts{gap:18px 14px}
 .form-grid{grid-template-columns:minmax(0,1fr)}.field input,.field select,.field textarea{font-size:16px}
 .form-actions{flex-direction:column;align-items:stretch;gap:16px}.form-actions .button{width:100%}
 .cta-strip,.site-footer{margin-inline:20px}.cta-strip h2{font-size:32px}
 .site-footer{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.site-footer p{margin:0;max-width:none}
 .cupec-menu-links{padding-top:12px}.cupec-menu-links>a{min-height:64px;font-size:32px;padding-block:14px}
}
@media(hover:hover) and (pointer:fine){.card:focus-within{background:var(--rb-soft)}}
@media(hover:none){.button:hover,.card:hover,.button.dark:hover,.button.light:hover{transform:none}.card:hover .card-image>img{transform:none}}
@media(max-width:359px){.tabs{gap:10px}.tab{font-size:11px}.brand>span{font-size:24px}.cupec-menu-toggle{min-width:88px;padding-inline:10px}.hero h1{font-size:39px}.hero-bottom{font-size:9px}}

.card-extra{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.auth-forgot{min-height:44px;padding-block:10px}.card-category,.location{overflow-wrap:anywhere}
